Kann man eine Website zu einer App konvertieren und mit welcher Technologie ist das möglich?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Ja, das geht, wird aber bei Sites, die über mehrere Jahre "gewachsen" sind, schnell sehr, sehr unübersichtlich. Da wäre zu überlegen, ob man die Site neu aufbaut unter dem Gesichtspunkt, dass sie keine statische Site, sondern eine App darstellen soll.

-----

Am einfachsten ist das, wenn alle Berechnungen auf dem Server laufen können.

Voraussetzung ist natürlich, dass der Webserver auch Berechnungen erlaubt, z. B. über PHP (was vermutlich immer noch die mit Abstand verbreitetste Technologie ist).

Dann sagt man dem Webserver, dass die Webseiten PHP-Seiten statt HTML-Seiten sind. Wie das genau geht, sollte in der Dokumentation des Servers stehen, für gewöhnlich reicht es aus, die "Dateinamenerweiterungen" von ".htm" bzw. ".html" nach ".php" zu ändern (und natürlich die Einstellungen für die "Standardseiten" und die Links anzupassen).

PHP ist als Erweiterung von HTML konzipiert worden, deshalb ist gültiges HTML immer auch gültiges PHP.

Dann kann man Stück für Stück die gewünschte Funktionalität ergänzen.

Ähnlich ist es bei anderen Technologien wie nodejs.

Allerdings muss dann für jede einzelne Berechnung die komplette Seite neu geladen werden. (Mit "Frames" kann man die Datenmenge reduzieren, vorausgesetzt, die Teile der App können unabhängig voneinander laufen.)

-----

Wenn einige oder alle Berechnungen client-seitig ablaufen sollen, bleibt eigentlich nur JavaScript/ECMAScript, da dies die einzige Sprache ist, die alle gebräuchlichen Browser kennen.

Hierzu müssen die "Scripts"/"Skripte" in die Webseiten eingebunden werden - dafür gibt es das "<script>"-Tag. Näheres siehe JavaScript-Tutorials.

Hier ist es dann möglich, ggf. nur diejenigen Teile vom Server erneut anzufordern, die sich tatsächlich ändern. Z. B. mit "AJAX".

Hier wird es richtig interessant, wenn man dann eine App entwickelt, die eine Funktionalität wie eine "klassische Desktop-Anwendung" hat, aber auf "Frontend" und "Backend" verteilt ist. Besonders, wenn das Ding auch noch auf verschiedensten Frontends (von Desktop-Computern über Smartphones bis Spezialgeräte mit kleinem Display und minimalem JavaScript-fähigem Browser) laufen soll ("responsive Design").

Woher ich das weiß:Berufserfahrung – Software-Entwickler

Jein. Was nicht funktionieren wird (bzw. nicht schön sein wird), ist eine Webseite einfach durch einen "Umwandler" zu jagen und dann zu erwarten, dass am anderen Ende eine native Mobile App raus kommt. Sowas funktioniert dann i.d.R. so, dass einfach eine App ausgespuckt wird, die nur aus einem WebView besteht, in welchem die Webseite angezeigt wird. Klar, das funktioniert - ist aber weder schnell noch benutzerfreundlich.

Die nächstbeste Option wäre eine PWA (Progressive Web App). PWAs sind eine Stufe weiter gedacht und können auch mit nativen Systemfunktionalitäten interagieren. Der Nutzer kann sie als "Lesezeichen" auf den Homescreen hinzufügen. Wenn sie von dort geöffnet werden, sehen sie erstmal wie eine native App aus (werden also nicht im Browser-Fenster geöffnet). Nativ ist die App dadurch allerdings noch lange nicht und als solches immer noch ziemlich langsam. Auch sind weiterhin einige Systemfunktionalitäten versperrt.

Der wiederum nächste Schritt wäre dann Ionic / Cordova. Da sind wir dann aber nicht mehr an einem Punkt, wo einfach eine bestehende Webseite etwas angepasst wird (wie bei der PWA), sondern eher eine Neuentwicklung. Cordova kann allerdings auch nicht auf alle Systemfunktionalitäten zurückgreifen und am Ende ist eine Ionic-App immer noch eine nativ verpackte PWA. Geht von der Schnelligkeit und UX her also immer noch besser.

Das Beste, was man in der Richtung aktuell machen kann, wäre eine React Native App zu schreiben mit react-native-web Anbindung. Hier ist es umgekehrt: Du schreibst erst die App (mit JavaScript und JSX, auf was React und React Native basiert), kannst diese aber mit dem react-native-web Package auch als Webseite exportieren. Aber auch hier: Dazu muss eben der ganze Laden neu entwickelt werden.

Sprich: Wenn es wirklich um eine "Umwandlung" geht, wäre das beste, was geht, eine PWA. Das ist dann allerdings keine native App, die man im Store herunterladen kann.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung

Computer:

  • Progressive WebApp (oder wie sich das schimpft)
  • HTA (alt, aber noch möglich - nicht zu empfehlen)
  • C# WinForms (oder WPF) + CefSharp
  • Elektron
  • ...

Smartphone:

  • App + WebViewer
  • ReactNative JS
  • ...

du kannst die webseite für die mobile-darstellung anpassen.