TU Wien:Web Application Engineering & Content Management VU (Mairhofer, Mayerhofer)

Aus VoWi
Zur Navigation springen Zur Suche springen
Ähnlich benannte LVAs (Materialien):

Daten[Bearbeiten | Quelltext bearbeiten]

Diese LVA wird nicht mehr von dieser Person angeboten, ist ausgelaufen, oder läuft aus und befindet sich daher nur noch zu historischen Zwecken im VoWi.
Vortragende Franz Mairhofer, Christoph Mayerhofer
ECTS 3
Sprache Deutsch
Links tiss:183223
Zuordnungen
Masterstudium Software Engineering & Internet Computing

Mattermost: Channel "web-application-engineering-content-management"RegisterMattermost-Infos

Inhalt[Bearbeiten | Quelltext bearbeiten]

2018S:

  • Backend: wie werden Backends heute entwickelt, wie bis noch vor einigen Jahren, was ist der Unterschied (server vs. client side rendering, wo ist die business Logik, pwa's)
  • Usability: Inhalt zum Teil aus Bachelor Kursen bekannt (usability engineering, interface + interaction design), allgemeine prototyping ansätze
  • Frontend: Web Framework und single page anwendungen mit Fokus auf JS
  • Cloud Computing: die üblichen XX as a service Konzepte, Skalierbarkeit, Replikation, Load Balancing
  • Security
  • Qualitätssicherung: Scrum, XP, agile, TDD, CI, CD, Testen, infrastruktur und deployment

Drei Übungen, unter dem Semester und die wöchentliche Vorlesungsblöcke

2022S:

  • Software Container
  • Backend-Technologien
  • Usability, CSS
  • Frontend: JavaScript allgemein, Web Frameworks, Angular und React im Detail
  • Authentifizierung, SSO
  • Security (Gastvortrag von ESSE)
  • Qualitätssicherung

Drei Übungen und wöchentliche Online-Vorlesung.

Ablauf[Bearbeiten | Quelltext bearbeiten]

Drei Übungen und sechs Vorträge zum Inhalt. Ein Abgabegespräch und eine Endpräsentation.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Eigentlich keine, Interesse an neuen Technologien schadet nicht, wenn man schon mal was mit dem Technologiestack gemacht hat erspart man Zeit wie überall aber alles in allem auch ohne schaffbar.

Vortrag[Bearbeiten | Quelltext bearbeiten]

2022S: Klassisch wöchentlicher Vortrag über Jitsi. Aufzeichnungen wurden allerdings nur aus dem Vorjahr angeboten.

Übungen[Bearbeiten | Quelltext bearbeiten]

2018S(?):

Erste Übung dient lediglich als Einstieg und man setzt den Stack auf mit einem kleinen Counter Example als Durchstich. auf

Zweite Übung. Implementieren von ein paar Usecases und die dann beim Abgabegespräch erklären. Kleiner Theorieteil. Man sollte doch ein paar Stunden je anch TDritte Übung: Erweitern der Usecases (bei uns Web Push zu implementieren) und Schwerpunkt auswählen. Entweder Mobile App (Flutter oder pwa ähnlich), CI mit Travis CI oder was eigenem, Backend Erweiterungen im Sinne von Cloud Functions.echnologie einplanen weil nicht immer alles so schnell umsetzbar ist wie man sich evtl. erhofft.

2022S:

Teams zu 4 Personen. Für die Übungen bestand freie Technologiewahl. Im Readme sollte die Wahl in 1-2 Sätzen begründet sein. Dabei wurden wir dazu ermutigt, auch uns bisher unbekannte Technologien auszuprobieren. Alle Deploy-Artefakte waren auch als Docker-Container im Dockerhub öffentlich zu hinterlegen (für jede Aufgabe) und den Hash davon ins Readme zu geben.

  1. Web-Applikation aufsetzen (Frontend + Backend) und OIDC Login-Flow implementieren gegen das von ihnen zur Verfügung gestellte Keycloak, welches 2 vorgegebene Testuser hat.
  2. Die bestehende Web-Applikation soll zu einer Crypto-Zahlungsempfangsapp für Händler ausgebaut werden. Dabei soll die OpenNode-Test-API angebunden werden und Bezahlungen mittels QR-Code-Scan ermöglichen.
  3. DSGVO-Cookie-Dialog war als generische Komponente zu implementieren (Design und Funktionalität war genau vorgegeben). Weiters war GitLab CI aufsetzen, Linting und Testing in die CI Pipeline einbauen für Frontend und Backend, außerdem waren 2 Komponententests für das Frontend (keine Tests für das Backend) zu schreiben.

Es gab nach der zweiten Übung ein Online-Abgabegespräch über Jitsi, bei dem die Abgabe kurz besprochen wurde. Nach der dritten gab es kein Abgabegespräch mehr.

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

Prüfung mit fast ausschließlich offenen Fragen, nur vereinzelt MC-Fragen. Grundsätzlich sind die Fragen sehr offen gestellt, z.B. Was ist der Unterschied zwischen Software Engineering (klassisch) und Web Application Engineering, die Benotung ist aber sehr fair. Ich hatte ein eher mittelmäßiges Gefühl nach der Prüfung und konnte trotzdem über 90% erreichen. Die Prüfung ist freiwillig, wenn man genug Punkte auf die Übung hat.

Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

noch offen

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

Kommt auf das Team und die eigenen Vorkenntnisse drauf an, aber man sollte früh genug anfangen, um eventuelle Technologieeinschränkungen zu überwinden und sich einlesen zu können. Man sollte wsl. für die zweite + dritte Aufgabe jeder ca. einen bis zwei Tage einplanen.

Unterlagen[Bearbeiten | Quelltext bearbeiten]

Tipps[Bearbeiten | Quelltext bearbeiten]

  • Code nicht ganz gegen die Wand fahren im zweiten Beispiel weil man den im dritten gut wiederverwenden und erweitern kann.
  • Wenn ihr eine neue Technologie unbedingt mal ausprobieren wolltet, ist das eventuell eine gute Gelegenheit. Solltet ihr allerdings eher "schnell durchkommen" wollen, empfiehlt es sich, auf euch bereits Vertrautes zu setzen.

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

noch offen