Diese Frage wurde mir von einer Hörerin gestellt. Als Entwickler war meine erste Reaktion eine Rückfrage: Was genau meint sie damit? Einmal gestellt hat mich die Frage aber nicht mehr losgelassen.
Ein guter Startpunkt ist nicht die App, sondern die Webseite.
Wie funktioniert eine Webseite?
Eine Webseite liegt auf einem Server. Einem Rechner, der ans Internet angeschlossen ist und weiß, was er tun soll, wenn jemand zum Beispiel „mensch.app” eingibt. Ein Hoster stellt diesen Rechner für dich bereit und konfiguriert ihn. Auf dem Server läuft dann eine Software wie WordPress, die weiß was zu tun ist, wenn die Startseite angezeigt werden soll.
Diese Software erzeugt eine Datei und schickt sie zu dir. Dein Browser, Firefox, Chrome oder Safari, weiß, wie er mit dieser Datei umzugehen hat. Ähnlich wie ein PDF-Reader eine PDF-Datei öffnet und anzeigt, zeigt der Browser die Webseite an. In der Datei steht drin: Titel, Menüstruktur, Inhalt, Farben, Schriften, Abstände. Der Browser zeigt es so an wie du es siehst.
Klickst du auf einen Link, wird eine neue Seite geladen. Rein technisch wird dabei nicht nur der Inhaltsbereich ausgetauscht, sondern alles, Header, Footer, Menü usw. komplett neu geladen. Auch wenn sich visuell nichts verändert.
Und wie ist das bei Apps?
Bei Programmen und damit auch bei Apps, ist das grundlegend anders.
Eine Webseite ist, vereinfacht gesagt, ein Bild. Alles ist fertig definiert: Was wo steht, wie es aussieht.
Ein Programm ist kein Bild. Es ist ein Rezept. Eine Anleitung, die deinem Computer/Smartphone sagt, was es tun soll, damit am Ende etwas angezeigt wird. Wenn du eine App öffnest, fängt sie an, sich Zutaten zu holen: Speicherplatz, Daten, Einstellungen. Dann arbeitet sie Schritt für Schritt das Rezept ab. Zum Beispiel für eine Kontaktliste:
- Erstelle eine leere Seite
- Platziere eine Navigationsleiste oben
- Platziere darunter eine Liste
- Lade die Kontakte aus dem Speicher
- Sortiere sie alphabetisch
- Erzeuge für jeden Kontakt einen Listeneintrag mit Name, Foto-Platzhalter, den passenden Schriften und Abständen
- Gib der Liste diese Einträge
- Wenn der Benutzer ein Element antippt: Sag mir Bescheid, dann muss ich wieder aktiv werden
Während eine Webseite also schon „fertig” definiert, wie sie aussieht, muss eine App dem Smartphone aktiv sagen, was wo hinkommt.
Stelle dir vor du hast Umzugshelfer engagiert und du selbst darfst nicht Hand anlegen und musst jeden Handgriff der Umzugshelfer bis ins Detail beschreiben. Was du vergisst, wird entweder gar nicht getan oder so gemacht, wie es die Umzugshelfer sonst immer machen, ob dir das passt oder nicht.
Programmieren
Genau das ist Programmieren. Der Entwickler definiert Abläufe bis ins kleinste Detail. Steht der Schrank mit der Vorderseite gegen die Wand? Gehen die Türen so auf wie gewünscht? Wurde etwas anderes in den Weg gestellt? Hättest du das lieber besser beschreiben sollen? Genau so entstehen Bugs in Software.
Der gravierende Unterschied zwischen Webseite und Programm ist auch der Grund warum es keine fertigen Layouts für Apps gibt. Eine App soll etwas tun, nicht nur anzeigen. Der Fokus liegt auf der Funktion.
Zurück zur Webseite
Wenn WordPress weiß, „was zu tun ist”, dann ist das kein Zufall. WordPress ist selbst ein Programm. Ein hoch spezialisiertes Programm, das dir die ganze Arbeit abnimmt, weil technisch jede Webseite im Endeffekt immer das Gleiche macht: Inhalte aus einer Datenbank laden und anzeigen, nur eben anders aussehen lassen. Du bist der Anwender, du konfigurierst nur. Die Anwendung selbst existiert schon.
Für deine App gibt es diese Anwendung noch nicht. Die musst du erst entwickeln lassen. Und ja, damit sie benutzbar ist, braucht sie auch ein Layout. Aber das Layout ist das Ergebnis, nicht der Ausgangspunkt. Das ist auch der tiefere Grund, warum eine App-Entwicklung per se teurer ist als eine Webseite: Die Software, die Funktion, muss erst entstehen.