Blog

Jetzt geht’s App mit AngularJS

Das Problem kennt jeder Java-Entwickler: Die UI-Berechnungen laufen auf dem Server, der Browser stellt die Inhalte nur dar. Für jede Interaktion mit dem Nutzer wird der Server angefragt. Gerade bei schlechter Internetverbindung sorgt das für ein sehr schlechtes Nutzererlebnis. Der Server muss den Zustand des Clients vorhalten. Damit werden Speicher- und Rechenkapazitäten gebunden. So fühlt sich die Oberfläche immer zäh an. Auch eine Erhöhung der Serverkapazitäten löst das Problem meist nicht.

Mit AngularJS steht ein solides Framework zur  Entwicklung moderner Webanwendungen bereit. Die Oberfläche wird mit HTML und CSS beschrieben, die Logik aber in JavaScript umgesetzt. Dabei hält der Client selbst den Zustand vor, so dass man auf zustandslose Schnittstellen wie REST und im JEE-Kontext JAX-RS nutzen kann. Als Basis für hybride Apps auf verschiedenen Plattformen erhält man damit ein solides Fundament, um komplexe Anwendungen für Smartphones und Tablets zu entwickeln. Native Apps erfordern Versionen für jeden Gerätetyp. Die Entwicklung der App für jede einzelne Plattform entfällt dabei, wobei hybride Apps gegenüber reinen Web-Apps einen Teil der Plattformfunktionalitäten mitnutzen können

Dazu gibt es in der aktuellen Ausgabe vom JavaSpektrum auch einen Artikel von mir.  Die Beispiel-App nutzt ein JEE-Backend per HTTP/REST und WebSocket, um den Inhalt darzustellen:

Holisiticon_Paper_ngJEE_architecture

Der Quellcode liegt auf GitHub. Das Beispiel soll zeigen, dass sich HTML5-basierte Web-Apps mit einem nativen Container gerade bei normalen Geschäftsanwendungen nicht vor nativen Apps verstecken müssen, aber auch, wo die Grenzen liegen.

Holisticon AG — Teile diesen Artikel

Über den Autor

Martin Reinhardt arbeitet als Architekt bei der Management- und IT-Unternehmensberatung Holisticon AG. Er beschäftigt sich dort mit der Architektur von komplexen verteilten Systemen, modernden Webarchitekturen und Build Management. Martin engagiert sich in der Software-Craftsmanship-Bewegung. Er ist seit mehreren Jahren im Bereich der Java- und Webentwicklung tätig. Außerdem setzt er sich neben der Architektur vor allem für die Testautomatisierung in verschiedenen Technologien ein und ist auch in verschieden OpenSource-Projekten zu dem Thema wie z.B. dem Galen Framework tätig.

Antwort hinterlassen