2016-07-04 3 views
0

Hoffe, ich bin nicht zu allgemein, aber: Ich wurde beauftragt, eine monolithische Java EE (JSF/CDI/EJB/JPA) -App "verjüngen/modernisieren". Da die Anforderungen angeben, dass es mehrere Clients unterstützen sollte, habe ich den Code in einem Server (JAX-RS-Schnittstellen) und einem Client-Teil (noch nicht fertig)Hat Node JS etwas für die Benutzeroberfläche zu bieten?

aufgeteilt Der Server ist ziemlich einfach, aber ich frage mich der UI-Teil. Heutzutage (ich hoffe nicht zu alt zu klingen) scheinen verschiedene Node JS Spin-offs populär zu sein, aber ich habe den Eindruck, dass sie den größten Wert im Bereich "Scalable Server" bieten. Bietet das Framework Angular/React/Node etwas für den Kunden an, wenn Sie etwas komplexeres haben als eine einzelne Seite App?

Es scheint heutzutage eine wirklich harte Zeit zu sein, eine UI-Technologie auszuwählen. Sicher, der Server/DB-Teil, der den Großteil der Geschäftslogik enthält, ist ziemlich zukunftssicher, dennoch möchte man sich auf eine UI-Technologie konzentrieren. Es gibt verschiedene jQuery-basierte Frameworks wie Kendo, Vaadin & usw. Eine Möglichkeit wäre, bei JSF + ICEfaces/PrimeFaces zu bleiben und einfach mit der REST-Schnittstelle zu arbeiten. Und dann gibt es JavaFX, das gut aussieht, aber die Zukunft sieht ein bisschen unsicher aus.

So. Wenn das Backend nicht Knoten JS ist, hat Node JS etwas für den UI-Teil zu bieten, das mit anderen Frameworks nicht einfacher ausgeführt werden kann, und hat sonst noch andere Einsichten in den UI-Layer. Vorhersage ist schwer, besonders die Zukunft ;-)

+1

Angular zum Beispiel sein und Reagieren sind Gerüste Front-End und nichts mit node.js zu tun haben – Paulpro

+0

@Paulpro ist richtig, wenn Sie nicht nehmen, isomorph reagieren Konto (und Versuche von angular2) -Anwendungen http://stackoverflow.com/questions/tagged/isomorphic-javascript – Everettss

+0

Zur Verdeutlichung: node.js ist eine Laufzeitumgebung für JavaScript, die mehrere Module enthält, die Ihrem JavaScript unter anderem Zugriff auf Netzwerke und das Dateisystem gewähren. Es läuft auf Ihrem Server (kein Browser eines Benutzers) und es ist kein Framework, obwohl es viele Frameworks dafür gibt, insbesondere für die Erstellung von Web (Sites/Anwendungen). Es ist auch sehr einfach, einen http-Server ohne ein Framework in node.js zu starten (es gibt ein HTTP-Modul, das vom net-Modul erbt). Siehe die Liste der [eingebauten Module] (https://nodejs.org/api/). – Paulpro

Antwort

1

Node.js ist eine Möglichkeit, Javascript auf der Server-Seite auszuführen, nicht auf der Client-Seite. Das heißt, npm (Nodes Package Manager) oder seine Wrapper (wie Bower) werden häufig verwendet, um die clientseitigen Abhängigkeiten zu verwalten - was sehr nützlich ist.

Eckig und reagieren (unter anderem) sind Client-Seite Javascript ui Frameworks zu helfen, das Schreiben viel schöner zu machen. Sie sind nicht davon abhängig, dass das Backend in node.js geschrieben ist und können mit einer beliebigen Rest-API (oder einer anderen Server-API) arbeiten - oder gar keine API, wenn dieses Backend alle Daten, die die Seite benötigt, in die Seite selbst einfügt.

0

Es gibt verschiedene Implementierungen, mit denen Sie Node.JS-Module auf einer Client-Seite (dh einem Webbrowser) verwenden können. Sie können dann html/css verwenden und Node.JS-Module direkt von Ihrem DOM aufrufen, das zur Implementierung der Benutzeroberfläche verwendet wird.

Ich bin am vertrautesten mit NW.js, die ich ein paar Mal verwendet habe. Andere würden Electron oder AppJS