Errai Erfahrung: Benutzeroberfläche, Kommunikation, Dependency-Injektion

8

Ich habe eine breite Erfahrung mit GWT, GIN und GWTP-Versand und da ich keine Erfahrung mit Errai habe, möchte ich Sie fragen, ob es wirklich eine gute Wahl ist, ein ganzes Rich Web zu erstellen Anwendung auf Errai als Grundlage. Wenn Sie große Erfahrung mit Errai haben, wäre es schön, von Ihnen zu hören.

Ich baue eine Video-Streaming-Web-App. Sagen wir es ist ein anderes YouTube (Layout, Aktionen, Ablauf usw.), aber auf Steroiden (die nicht relevant sind).

Ich habe ganze Dokumente von Errai gelesen und hier sind meine Bedenken / Fragen.

  1. Errai JAX-RS - Ich interessiere mich nicht für anspruchsvolle Nachrichten Errai ist wirklich berühmt für Server- & gt; -Client, Client- & gt; -Client, Broadcasting, Konversationen usw. Ich möchte einfache AJAX-Anrufe durch RS. Offensichtliches Problem ist die Kommunikationsleistung, keine redundanten Anrufe, nur eine einzige HTTP-Anfrage und Antwort?
    Was ist mit den hier genannten Einschränkungen ( Wie integrieren Sie GWT mit einem JAX-RS / RESTEasy-Server mit Errai? ): Sind diese Dinge auf dem neuesten Stand und ich müsste REST-Dienste mit einigen Einschränkungen von Errai implementieren?

  2. Errai IoC / CDI - GIN erscheint mir reifer, definitiv beliebter (mit allen Vorteilen). Aber es sieht so aus, als könnten sie perfekt koexistieren, oder sollte ich lieber einen von ihnen auswählen? Es ist schön, dass viele Errai-Bohnen (wie Caller) mit einer einzigen Anmerkung versehen sind. Wie ich es verstehe, brauche ich kein CDI. Wenn ich Errai IOC in meinem Projekt verwende, welche zusätzliche Funktionalität erhalte ich mit CDI? Muss ich es auf meinem Classpath haben, damit alles vom ioc Container instanziiert wird?
    Verstehe ich es richtig: IoC ermöglicht einfache Verkabelung und CDI ist, wo ich tatsächlich Bohnen konfigurieren und instanziieren kann, die injiziert werden würden? Zum Beispiel @Produces ist in CDI, nicht in IOC. Kannst du erklären, was der Unterschied zwischen Errai IOC und CDI im Zusammenhang mit reinem DI ist? Ich weiß, dass man von einem anderen übergeordnet ist, aber ich verstehe es immer noch nicht ganz.

  3. Errai-Datenbindung: Tolles, großartiges Feature, ABER es verzerrt MVP-Muster. Currenlty Ich habe meine App in grundlegenden MVP (kein MVP-Framework und keine Interaktion zwischen Model und View) geschrieben. Kann ich Datenbindungen auf @Model vom Präsentator aus verwalten und nicht von der Ansicht (die HTML-Vorlagen mit der Benutzeroberfläche von Errai verwenden würde)?

  4. Errai UI: Was ist mit bestehenden Widgets von GWT wie CellTable im Kontext der Datenbindung und Verkabelung View Klasse mit einer Vorlage?
    Im Allgemeinen, welchen Ansatz verwenden Sie, wenn Sie anspruchsvollere Widgets (wie eine Bildergalerie mit Pager zum Beispiel) mit Errai schreiben? Verwenden Sie vorhandene GWT-Widget (wie CellTable) - einzelne schwere Widget - oder lieber alles in HTML-Vorlage Layout und nur bestimmte Divs zu entsprechenden Datenfelder in der View-Klasse - leichtere Widgets? Ich bin auf diese Meinung eines der Autoren der Benutzeroberfläche von Errai gestoßen:
    Das Schöne an der Benutzeroberfläche von Errai ist, dass Sie diese Vorlagendatei einfach in Ihr Projekt kopieren und sagen: "OK, dieser Teil der Vorlage gehört dazu Diese Komponente "oder" dieses Teil der Vorlage gehört zu dieser anderen Komponente ". Und Sie können diese Dinge miteinander verbinden und Ihre Vorlage wird direkt vor Ihnen lebendig - direkt im Browser.
    Nehmen wir an, ich habe ein HTML-Layout der gesamten Bildergalerie. Natürlich möchte ich das nicht mit CellTable neu erstellen, sondern dieses Layout verwenden, damit ich in der Lage sein muss: Erstellen Sie die gesamte Bildergalerie als ein Composite, das sich selbst an das äußerste Element im Layout anschließen und jedes Datenfeld mit der entsprechenden Eigenschaft in meiner Composite-Klasse verbinden müsste. Ist das möglich?

Server sollte GWT / Errai agnostisch sein: Auf der Server-Seite möchte ich Errai so wenig wie möglich verwenden (weil ich keine ausgefallenen Kommunikationsfunktionen haben möchte, wie ich sagte) und die App mit Spring on Jetty oder Tomcat pflegen.

Wenn man eine neue Technologie als Grundlage hinzufügt, dh eine ganze App darauf baut, besteht immer die Gefahr, dass sie nicht flexibel genug ist, was einige Hacks notwendig macht, um unvorhergesehene Hindernisse oder unter schrecklichen Umständen die gesamte Technologie zu überwinden muss aufgegeben werden.

Letzte einfache Frage: Wo ist Errais Online-Javadoc?

    
piotrb86 15.06.2014, 10:40
quelle

1 Antwort

1

Kurze Antwort, Gebäude mit GWT ist stark vereinfacht, strukturiert mit Errai.

Mit dem HTML-basierten Templating können Sie Web-Apps mit Standard-Webtechnologien erstellen und nicht mit UiBinder oder domänenspezifischen Sprachen umgehen. Mit dem Page-Drive-Ansatz können Sie Seite für Seite mit Ihrem Anwendungsdomänenproblem umgehen Natürlich für jede Webanwendung, schließlich durchsuchen wir die Webseite Seite für Seite.

Es gibt viele weitere Dinge, die Ihnen mit dem JBoss Errai Framework gefallen werden.

Ich hoffe, das beantwortet deine lange vergrabene Frage.

    
xybrek 20.04.2017 18:45
quelle