Hallo zusammen, ich hab eine recht monolitische JSF Anwendung, welche leider nicht responsive ist. Nun möchte ich das Programm auch auf mobile Geräte verfügbar machen. Dabei habe ich folgende Überlegungen angestellt und würde mich freuen wenn ihr euren Senf dazu gebt was ihr machen würdet
Wichtiges vorab: Es kann vorkommen, dass der Nutzer keinen Empfang hat (Nutzung unterirdisch) Datenerfassung muss aber dennoch gehen. Kommunikation dann eben wenn es Netz gibt.
Variante Die Webapp responsive gestalten
Vorteile:
Neue Features sind sofort auf allen Geräten verfügbar
Einfache Wartung
Flexibel auf allen Geräten
Nachteile:
Wenn kein Empfang, keine Nutzung möglich (großes Manko!) Die User haben unter umständen kein Netz, müssen aber die Software nutzen können
Serverlast steigt mit jedem User
kein Zugriff auf Sensoren, Kamera, Licht usw
Variante eine native App
Vorteile:
Daten können gesendet werden sobald Netz ist, aber auch offline eingeben werden können
Evtl. performanter, da nicht alle Funktionen in die App müssen, die es auf der Webapp gibt
Sensoren können angesteuert werden
Nachteile
doppelte Pflege
Webservice müsste geschrieben werden, damit die Webbapp Daten von der nativen App empfangen kann und andersrum
Die Software soll auf Tablets und Smartphones laufen, Gerät ist dabei eigentlich egal, wobei ich Androidgeräte mitliefern würde oder Windows-Tablets.
Derzeit tendiere ich dazu die Webapp um einen REST Service zu erweitern und eine native Android App zu schreiben. Was sagt ihr dazu? Jemand ne bessere Idee?
Ach scheiße. Ich hatte gerade eine wunderschöne Antwort geschrieben die anfing mit “Sollte auch mit JSF wunderbar funktionieren”, bis mir wieder gekommen ist, wie JSF funktioniert -.-.
Ok, ich glaub mit JSF wollte ichs dann doch nicht verwenden :-/. Kommt davon, wenn man eben mal schnell antworten will. Hatte das mit JSF nicht beachtet.
Mit JSF sieht es eher mau aus. Und wenn man nur ein “mobiles” Stylesheet baut, dann gehen viele Errungenschaften die es mit HTML5 gibt an einem vorbei.
Eine weitere Alternative ist eben dem Server einen REST Service zu verpassen und den Client dann in JavaScript zu schreiben, welcher dann am Desktop genutzt werden kann oder eben auch Mobil.
Schlechte/Keine Verbindungen kann man mit Service Worker entgegenkommen. Local Storage um Daten lokal vorzuhalten.
Das typische JSF-Rendering kann man evtl. sogar recht einfach in ein gebräuchliches JavaScript-Framework wie React oder Vue.js übersetzen.
Keine doppelte Pflege im Gegensatz zu einer nativen App.
Serverlast kann überschaubarer bleiben, da viel mehr im Client gemacht wird.
Vielen Dank für eure Hilfe, gibt nun doch ne Planänderung. Die bestehende JSF Anwenundung soll teilweise responsive werden. Wie kann man das am einfachsten bewerkstelligen? Genutzt wird noch Richfaces, würde aber das mobile auf Primefaces nehmen. Müsste man wahrscheinlich alles neu bauen richtig?
Ja, das muss wohl her. Bootstrap hilft aber stark dabei, das ganze responsive zu gestalten. Ein Einsteiger-Tutorial habe ich nicht zu Hand. Da müsste ich auch Google bemühen.
Hab mir das mal auf Primefaces angeschaut, super da steht dass das Grid aus 12 Spalten besteht. Wow, das wars, das soll dann jetzt responsive sein Da muss ich mich mal weiter durch wurschteln, hab mal Materialize von Google genommen, da bekomm ich bisschen was responsive zusammen gepappt