Zum Inhalt springen

Einleitung

Zu Zen-Modus wechseln

Einleitung zum Unterrichtsgegenstand Web- und Anwendungsentwicklung (WAENTW) - 5. Klasse

Abschnitt betitelt „Einleitung zum Unterrichtsgegenstand Web- und Anwendungsentwicklung (WAENTW) - 5. Klasse“

Das fünfte Jahr ist das Maturajahr, kürzer als die anderen, dafür mit sechs Wochenstunden das gewichtigste des Schwerpunkts. Sein Thema ist der Unterschied zwischen läuft bei mir und läuft in Produktion: eine Anwendung, die auch dann noch verfügbar ist, wenn niemand hinsieht, die man ohne Angst neu ausliefern kann und deren Fehler man bemerkt, bevor Benutzer sie melden.

In der 4. Klasse ist die Kette einmal ganz durchlaufen worden - Server, Webservice, Datenbank, Frontend. Dieses Jahr fügt drei Dinge hinzu, die eine Anwendung von einer Übung unterscheiden. Erstens Fremdcode: Komponenten und Services von Drittanbietern werden ausgewählt, integriert und im Zweifel wieder ausgebaut, und ein CMS wird nicht nur konfiguriert, sondern erweitert. Zweitens Reichweite: dieselbe Anwendung auf Desktop und mobilen Endgeräten, gefunden über Suchmaschinen, benutzbar für Menschen mit unterschiedlichen Voraussetzungen, rechtlich in Ordnung. Drittens Betrieb: Deployment, Logging, Monitoring, Verfügbarkeit.

Der Stoff wird nicht als Kapitelfolge abgearbeitet, sondern an einem selbst gewählten Projekt erlernt, das über das Jahr wächst und am Ende tatsächlich in einer Produktivumgebung installiert ist - allein oder im Team aus zwei bis drei Personen.

Dieses Projekt muss nicht die Anwendung aus der 4. Klasse sein. Ein neues Thema ist ausdrücklich erlaubt und oft die bessere Wahl, weil dieses Jahr andere Anforderungen stellt: Es geht nicht mehr darum, die Kette einmal zu bauen, sondern darum, ein System zu führen, das Fremdcode enthält, auf mehreren Gerätetypen läuft, rechtlich sauber ist und im Betrieb beobachtet wird. Bestehen bleibt die Umgebung aus dem Vorjahr - der eigene Server, jetzt mit getrennter Produktions- und Testumgebung.

Wo es sich anbietet, ist das Projekt die eigene Diplomarbeit; die Themen dieses Gegenstands sind für sie ohnehin unmittelbar brauchbar. In diesem Fall muss der hier beurteilte Anteil klar abgegrenzt sein.

Das Jahr ist kurz: 24 Wochen, davon drei für die Maturavorbereitung. Bei sechs Wochenstunden bleibt trotzdem mehr Zeit pro Woche als im Vorjahr - aber weniger Spielraum für Umwege. Das Thema wird in der ersten Woche festgelegt und danach nicht mehr gewechselt.

Verhältnis zu Softwareentwicklung: dieselbe Methode, anderer Gegenstand

Abschnitt betitelt „Verhältnis zu Softwareentwicklung: dieselbe Methode, anderer Gegenstand“

In SEW lernen Sie in diesem Jahr Vorgehensmodelle, agiles Arbeiten, Entwurfsmuster und Teststrategien - und führen dort ein eigenes Projekt in Sprints. Hier wird das nicht wiederholt, sondern angewandt: Das Projekt dieses Gegenstands läuft in derselben Vorgehensweise, und die dort entwickelte Teststrategie wird auf diese Anwendung übertragen. Der eigene Stoff liegt woanders:

  • Wie greift man in ein fremdes, großes System ein, ohne es beim nächsten Update zu zerstören?
  • Wann kauft man eine Komponente zu - und was tut man, wenn der fremde Dienst ausfällt oder das Kontingent aufgebraucht ist?
  • Was verlangt der rechtliche Rahmen, bevor die erste Zeile Tracking-Code geschrieben wird?
  • Wie liefert man eine neue Version aus, ohne die alte zu zerstören - und woran merkt man, dass etwas kaputt ist, bevor Benutzer anrufen?
  1. Erweitern statt konfigurieren: Eigene Module und Templates für CMS- und Backend-Systeme, CMS-spezifische Skriptsprachen, Redaktionsgruppen und Rechte.

  2. Fremdcode integrieren: Drittanbieter-Services über standardisierte Schnittstellen, Auswahlkriterien und Lizenzen, Kontingente, Ausfälle und Ausstiegspfade.

  3. Datenschutz und rechtlicher Rahmen: DSGVO in der Praxis, Einwilligung, Datenminimierung, Auftragsverarbeitung, Informationspflichten.

  4. Sichtbarkeit und mobile Webauftritte: Suchmaschinenoptimierung, strukturierte Daten, Indexierbarkeit, Performance als Rankingfaktor, mobile-first.

  5. UI/UX-Design: Designsysteme, Prototypen, Usability-Tests mit echten Personen, Barrierefreiheit über die Grundlagen hinaus.

  6. Anwendungssicherheit: Bedrohungsmodellierung, OAuth 2.0 und OpenID Connect, Sitzungs- und Token-Sicherheit, Lieferkette und Secrets.

  7. Anwendungen für Desktop und mobile Endgeräte: Progressive Web Apps, plattformübergreifende Frameworks, Geräteschnittstellen, Verteilung.

  8. Deployment und Produktivinstallation: Pipelines, Umgebungen, Migrationen im Betrieb, versionierte Artefakte, Release und Rollback.

  9. Betrieb und Zuverlässigkeit: Strukturiertes Logging, Metriken und Alarmierung, Health Checks, Backups, Web Application Firewalls, Notfallplan.

Der Unterricht ist wie in den anderen Gegenständen organisiert: wöchentliche Arbeitspakete am eigenen Projekt, Code-Reviews, Präsentationen der eigenen Lösungen und die Besprechung alternativer Lösungswege in der Gruppe. Das Projekt wird in Iterationen geführt - mit demselben Vorgehensmodell wie in SEW, damit nicht zwei Verfahren nebeneinander laufen. Parallel läuft gegen Jahresende die strukturierte Vorbereitung auf die Reife- und Diplomprüfung.

Die Serverarbeit findet wie im Vorjahr auf dem eigenen Server statt, jetzt mit getrennter Produktions- und Testumgebung. Sicherheitstechniken werden ausschließlich an eigenen Systemen erprobt.

  • Erweiterungen für Enterprise Content Management Systeme oder Backend-Systeme adaptieren und weiterentwickeln
  • Komponenten auswählen, installieren, konfigurieren und in Webanwendungen integrieren
  • Sichere Webanwendungen auf Basis aktueller Frameworks unter Berücksichtigung der Benutzererfahrung konzeptionieren und realisieren
  • Anwendungen für den Einsatz auf Desktop und mobilen Endgeräten konzeptionieren und realisieren
  • Services von Drittanbietern auf Basis standardisierter Schnittstellen auswählen und verwenden
  • Komplexe Webanwendungen konzeptionieren und realisieren
  • Die Verfügbarkeit, Sicherheit und Zuverlässigkeit von Webanwendungen sicherstellen
  • Realisierte Anwendungen paketieren und in Produktivumgebungen installieren

Am Ende dieses Jahres können Sie Ihr eigenes Projekt nicht nur bauen, sondern verantworten: entscheiden, was selbst entwickelt und was zugekauft wird, den rechtlichen Rahmen einhalten, die Anwendung auf mehreren Gerätetypen benutzbar halten, sie kontrolliert ausliefern und ihren Zustand im Betrieb beurteilen. Das ist der Unterschied zwischen jemandem, der Webseiten baut, und jemandem, der Webanwendungen betreibt.