Web-App oder native App: was passt besser?
Eine Web-App läuft im Browser und wird über eine Adresse aufgerufen. Eine native App wird für ein Betriebssystem gebaut und aus einem App-Store installiert. Wer beide Wege kennt, wählt für ein Projekt den, der zu den Anforderungen passt, statt aus Gewohnheit.
Dieses Modul lehrt den Weg über das Web. Werkzeuge für native Apps, etwa ein Emulator oder ein Store, gehören nicht dazu, und das Lab hat sie nicht.
Am Ende dieser Lektion
Notiz
Ich kann anhand von Anforderungen begründen, ob eine Web-App oder eine native App besser passt.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Native App | eine App, die für ein Betriebssystem gebaut und aus einem Store installiert wird |
| Web-App | eine App aus Webseiten, die im Browser läuft und über eine Adresse startet |
| Berechtigung | die Erlaubnis, eine Funktion des Geräts zu nutzen, etwa den Standort |
| Anforderung | etwas, das die App können muss |
| Verteilung | der Weg, auf dem die App zu den Nutzenden kommt, etwa ein Store oder ein Link |
| Abwägung | der Vergleich von Vor- und Nachteilen vor einer Entscheidung |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Berechtigungen: was darf die App auf dem Gerät?
Eine native App kann tief auf das Gerät zugreifen, etwa auf Sensoren, Kontakte oder den Standort im Hintergrund. Das Betriebssystem fragt die Nutzenden vorher nach der Erlaubnis.
Eine Web-App fragt über den Browser, wenn sie eine Funktion braucht. Welche Funktionen sie nutzen darf, hängt vom Browser und vom Telefon ab und ändert sich mit der Zeit.
Akkuverbrauch und Geschwindigkeit hängen vom Ziel ab
Native Apps laufen näher am Gerät. Bei sehr schneller Grafik oder langen Aufgaben im Hintergrund haben sie oft einen Vorteil.
Für Formulare, Listen und Texte reicht eine Web-App meist aus. Messen Sie, bevor Sie entscheiden: Ein Gefühl für Tempo täuscht oft.
Verteilung: ein Store oder ein Link
Eine native App kommt über einen Store zu den Nutzenden. Das schafft Sichtbarkeit, verlangt aber eine Prüfung durch den Betreiber des Stores und für jede Plattform ein eigenes Paket.
Eine Web-App erreichen Nutzende mit einem Link. Ein Update ist sofort da, ohne Installation. Dafür fehlt der Auftritt im Store.
Ein Vergleich: Web-App und native App
| Merkmal | Web-App | Native App |
|---|---|---|
| Code | ein Code für alle Geräte | je ein Code pro Plattform |
| Start | über einen Link | nach der Installation aus dem Store |
| Update | sofort, ohne Installation | neue Version über den Store |
| Gerätezugriff | je nach Browser begrenzt | tief, mit Erlaubnis |
| Hintergrund | begrenzt | weitgehend möglich |
| Sichtbarkeit | über Suche und Links | über den Store |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Das Lab zeigt, wie klein eine Web-App ist
Das Lab hat keinen Emulator und keinen Store. Es zeigt die Web-App als Dateien im Ordner app. Der Befehl wc -c zählt die Bytes jeder Datei und am Ende die Summe.
Die fünf Textdateien der App wiegen zusammen 5185 Bytes, also gut fünf Kilobyte. Die Zahl steht in der letzten Zeile der Ausgabe, hinter dem Wort total.
Die Größe der Dateien der Web-App zählen
docker exec jupyter wc -c app/index.html app/style.css app/app.js app/sw.js app/manifest.webmanifestHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
So entscheiden Sie: Anforderungen zählen
Schreiben Sie die Anforderungen des Projekts auf. Ordnen Sie jede der Seite zu, für die sie spricht: Web oder nativ.
Eine Anforderung kann auch ein Ausschluss sein. Verlangt das Projekt etwa dauerhafte Ortung im Hintergrund, entscheidet das allein für die native App.
Punkte für beide Seiten zählen
fuer_nativ = ["Hintergrund-Ortung", "schnelle 3D-Grafik"]
fuer_web = ["Start über einen Link", "kleines Budget", "Update ohne Installation"]
nativ = len(fuer_nativ)
web = len(fuer_web)
print("Punkte nativ:", nativ)
print("Punkte web:", web)
if web > nativ:
print("Empfehlung: Web-App")
elif nativ > web:
print("Empfehlung: native App")
else:
print("Empfehlung: beides prüfen")
# Streichen Sie "kleines Budget" und starten Sie noch einmal.
Ein Beispiel: drei Projekte und ihre Wahl
| Projekt | Wichtigste Anforderungen | Wahl |
|---|---|---|
| Mensaplan der Hochschule | Start über einen Link, täglich neue Daten, kleines Budget | Web-App |
| Lauf-App mit Aufzeichnung | Ortung im Hintergrund, Sensoren, Akku | native App |
| Fahrplan mit Offline-Karte | Offline, ein Code, Updates ohne Store | Web-App, mit Prüfung |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein häufiger Fehler
Warnung
Viele denken, eine native App sei immer besser. Für viele Projekte genügt eine Web-App und spart Zeit und Geld. Umgekehrt ist eine Web-App nicht immer genug. Entscheiden Sie nach den Anforderungen, nicht nach der Mode.