Zum Inhalt springen

  • Beiträge
    72
  • Kommentare
    239
  • Aufrufe
    12.682

Springer Campus Präsenztag am 29.09.2018 - Teil 2


kurtchen

869 Aufrufe

13 Uhr - Vorlesung: "Don't believe the Hype - Ein Blick in den Dschungel der Web-Entwicklung", Prof. Dr. Sven Jörges, FH Dortmund

 

Web-Entwicklung früher und heute

 

Professor Jörges begann seinen Vortrag zunächst mit einem Blick zurück auf die Anfänge der Web-Entwicklung. In den 2000er Jahren reichten Grundkenntnisse in HTML und PHP, um mit Web-Entwicklung Geld zu verdienen. Damals wurden viele Studierende quasi über Nacht Web-Entwickler. Herr Jörges visulisierte diese Phase mit dem Sinnbild einer weiten grünen Wiese. Es war noch überall Platz und man konnte sich leicht orientieren. Heute ist Web-Entwicklung im großen Maßstab eine komplexe Sache. Herr Jörges visualisierte die aktuelle Situation mit dem Sinnbild Dschungel.

 

4 Aspekte des Sinnbildes Dschungel

 

  1. Ein Dschungel ist gekennzeichnet durch überschießendes Wachstum. Das zeigt sich z.B. in Userzahlen, in der Anzahl von Anfragen und vielem mehr. Einen Eindruck davon vermittelt die Seite The Internet in Real-Time. Eine Konsequenz daraus ist, dass die Skalierbarkeit von Web-Anwendungen heute extrem wichtig ist.
  2. Ein zweiter Aspekt des überschießenden Wachstums ist die Bedeutung von Plattformen. Früher genügten einem Unternehmen eigene Web-Seiten. Um heute wahrgenommen zu werden, ist es wichtig, auf vielen Plattformen präsent zu sein.
  3. Ein dritter Aspekt des Wachstums ist die steigende Vielfalt von Endgeräten und Formfaktoren. In den 2000er Jahren wurde auf Startseiten oft der Hinweis eingeblendet, für welche Bildschirmauflösung sie optimiert war. Heute muss eine Web-Anwendung auf allen Geräten vom Smartphone bis zum Desktop PC gut benutzbar sein. Am besten sollte sie auch auf einer Smartwatch funktionieren. Das macht Web-Entwicklung komplizierter.
  4. Ein vierter Aspekt des Wucherns ist die unüberschaubare Vielfalt an Frameworks. Diese bieten natürlich einen stabilen Rahmen mit Basisfunktionen. Man muss nicht bei Null anfangen und kann dadurch schneller entwickeln. Außerdem helfen gute Frameworks, Standardfehler zu vermeiden. Aber die Vielfalt ist inzwischen so überwältigend, dass der Einstieg dadurch schwierig wird. Für welches Framework soll man sich entscheiden?

 

Einen Eindruck dieser Vielfalt vermittelt der Wikipedia-Eintrag Comparison of Web Frameworks. Das schnelle Entstehen neuer Technologien wird auch humorvoll aufgegriffen, z.B. durch die Seite Days since last javascript framework. Auf www.heise.de findet man auch das witzige Quiz "JavaScript oder Metal Band". Auch der nicht ganz erst gemeinte Begriff "JavaScript fatigue" zeigt, dass die sich erweiternde Auswahl neuer Technologien mittlerweile als überfordernd wahrgenommen wird.

 

Gerade in diesem Zusammenhang passt das Sinnbild des Dschungels, denn im Dschungel ist es schwierig, sich zu orientieren und seinen Weg zu finden. Einsteiger im Bereich Web-Entwicklung fragen sich heute:

  • Was soll ich eigentlich lernen?
  • Womit fange ich an?
  • Welches Wissen hält länger als eine Woche?

 

Web-Seite vs. Web-Anwendung vs. Desktop-Anwendung

 

An dieser Stelle spielte Herr Jörges mit uns ein kleines Quiz-Spiel, dass mich an die alte Kindersendung "1, 2 oder 3" erinnerte. Er zeigte uns am Beamer eine Szene und wir sollten raten: Ist es eine Web-Seite, eine Web-Anwendung oder eine Desktop-Anwendung?

 

Die ersten Beispiele waren noch einfach zuzuordnen, z.B. Fefes Blog oder Google Docs. Der bekannte Editor Visual Studio Code wird lokal installiert, ist also eigentlich eine Desktop-Anwendung. Er ist aber mit dem Framework Electron erstellt, das es ermöglicht, Desktop-Anwendungen mit den Web-Technologien HTML, CSS und Javascript zu programmieren. Ein schönes Beispiel war auch das Spiel HexGL. Es ist ein Racing Spiel im Stil des Klassikers Wipeout. Vor einigen Jahren hätte man es noch für ein Konsolenspiel halten können. Es basiert aber auf JavaScript und ist eine Web-Anwendung, die im Browser läuft. Die letzte Quizfrage richtete sich auf die Anwendung, mit der der Beamervortrag präsentiert wurde. Man hätte auf PowerPoint tippen können. Tatsächlich sahen wir eine Web-Seite, die mit dem Framework reveal.js erstellt worden war.

 

Das Fazit dieses Spiels? Man kann die Dinge nicht mehr so leicht kategorisieren wie früher. Web-Anwendungen, Web-Seiten und Desktop-Anwendungen sind voneinander nicht mehr so klar abgegrenzt. Die Grenze zwischen Web und Native oder Web und Desktop verschwimmt zusehends. Abgesehen von Spezialisten für Embedded Systems kommt bald kein Entwickler mehr ohne Web-Technologien aus.

 

Ein Beispiel dafür sind GUI-Frameworks für Java. Swing ist abgekündigt. Der designierte Nachfolger JavaFX ist ebenfalls abgekündigt. Aber wohin geht die Reise? Oracle weiß es selbst nicht. Womöglich braucht man in Zukunft gar kein klassisches GUI-Framework für den Desktop.

Herr Jörges versuchte sich an dieser Stelle noch einmal an einer Definition der Begriffe Web-Seite, Web-Anwendung, Desktop-Anwendung, wohl wissend, dass die Unterscheidungskriterien nicht mehr scharf und nicht mehr dauerhaft sein können.

 

Was tun?

 

Herr Jörges meint: Es gibt Wege durch den Dschungel. Im letzten Abschnitt seiner Vorlesung gab er zwei konkrete Tipps, um wieder Orientierung zu gewinnen.

 

Tipp 1: Go back to the roots!

 

Man sollte die Grundlagen kennen und beherrschen. Die 3 wichtigsten Web-Technologien sind HTML, CSS und Javascript. Man sollte also HTML(5) gut kennen. Laut Herrn Jörges beinhaltet das sehr viel mehr Wissen, als eine einführende Lehrveranstaltung an einer Hochschule vermitteln kann. Diese kann einen Überblick und einen Einstieg verschaffen. Dann sollte man aber in die Tiefe gehen. CSS kann ebenfalls sehr komplex werden. Schließlich ist es wichtig, Javascript gut zu beherrschen, denn diese Sprache hat ihre "Untiefen". Der Tipp, JavaScript zu lernen, gilt ausdrücklich auch für Entwickler, die sich von Sprachen wie Typescript oder Frameworks wie React angezogen fühlen.

 

Die Sprache Javascript hat sich in den vergangenen Jahren stark weiterentwickelt. Frameworks, die früher essentiell waren, verlieren dadurch schnell an Bedeutung. Als Beispiel nannte Herr Jörges jQuery oder Bootstrap. jQuery war z.B. für DOM-Manipulation und für AJAX unerlässlich. Doch diese Dinge kann man inzwischen standardmäßig mit der DOM-API machen. Bootstrap hat man gerne für Raster verwendet. So etwas geht jetzt auch mit CSS Grid Layouts. Man braucht also Frameworks nicht mehr unbedingt.

 

Herr Jörges empfiehlt Einsteigern, sich von Frameworks zunächst fernzuhalten und stattdessen die Tiefen und Möglichkeiten der 3 Basistechnologien auszuloten. Es gibt zur Zeit viele Web-Seiten und Blog-Posts mit Titeln wie  "You might not need jQuery". (Für jQuery kann man ein beliebiges Framework oder eine beliebige Library einsetzen.) Eine Google-Suche nach so etwas führt auf Artikel, die aufzeigen, wie man vergleichbare Funktionalität mit Basistechnologien realisieren kann.

 

Tipp 2: Das Handwerk beherrschen

 

Web-Engineering ist eine Ingenieursdisziplin. Es gibt Prinzipien und Methoden. Das wird im Web und beim Hype um die nächste Technologie schnell vergessen.

 

In den Software-Technik Vorlesungen lernen Studierende z.B. das Model View Controller Muster (MVC) kennen. Es entstand schon in den 70er Jahren. Für die junge Disziplin Informatik ist es also steinalt. Es ist aber immer noch extrem relevant. Inzwischen existiert es in unzähligen Varianten:

  • MVVM = Model View View Model
  • MVP = Model View Presenter
  • MVI = Model View Intent
  • und so fort...

 

Igor Minar, bekannt für seine Arbeit an Angular, hat eine weitere schöne Variante definiert: "... I hereby declare AngularJS to be MVW framework - Model-View-Whatever. Where Whatever stands for "whatever works for you".

 

Wenn man MVC versteht, versteht man auch seine Varianten. In ähnlicher Weise profitieren angehende Entwickler davon, andere Grundmuster der Softwaretechnik zu lernen.

 

Laut Herrn Jörges sollten diese beiden Tipps bereits genügen, sich im Dschungel der Web-Entwicklung zu orientieren.

 

Q&A:

 

Eröffnet sich nicht mit Web-Assembly die Möglichkeit, künftig in beliebigen Sprachen für den Browser zu entwickeln?
Herr Jörges meinte, dass er das für die Zukunft halte. Aber noch sei es nicht soweit. Einstweilen sei es empfehlenswert, JavaScript zu lernen.

 

Ist geplant, dass Curriculum im Sinne der drei genannten Basistechnologien weiter zu entwickeln?
Herr Jörges bekräftigte, dass seine Pläne für die Studiengang in diese Richtung gehen, auch im Licht der anstehenden Reakkreditierung. Allerdings sei es nicht immer leicht, solche Pläne im gewünschten Tempo umzusetzen. Dies sei in einem reinen Präsenzstudiengang tatsächlich etwas leichter. (Dort müssen die Inhalte z.B. nicht für eine Lernplattform aufbereitet werden.)

3 Kommentare


Empfohlene Kommentare

Mir gefällt diese Interaktion zwischen der Uni und den Studenten, wie sie durch den Präsenztag ermöglich wird. Wenn ich deine Berichte (auch zu den einzelnen Modulen) lese, dann kommt immer ein klein bischen Wehmut auf, dass ich mich damals nicht für diesen Studiengang entschieden habe. :blushing:

Link zu diesem Kommentar

Danke für deinen Einblick. Als frischer Springer-Student bin ich gespannt was sich in den nächsten 1-2 Jahren an den Inhalten ändert.

 

Zitat

Man sollte die Grundlagen kennen und beherrschen. Die 3 wichtigsten Web-Technologien sind HTML, CSS und Javascript.

Wie ist dein Eindruck nach 3 Jahren Studium? Kommen diese Technologien im guten Verhältnis vor? (Du schriebst ja, dass es sowieso der Plan von Herr Jörges ist diese Basis-Techn. im Studium auszubauen -  aber wie ist der Status quo?)

Link zu diesem Kommentar

@chrstn

Der Bereich Softwaretechnik ist stark. Es gibt eine gute Einführung in HTML(5). CSS dürfte gerne mehr sein. Der Bereich serverseitige Programmierung kann durch Wahlpflichtmodule gut abgedeckt werden. Die Schwachstelle ist clientseitige Web-Programmierung. Die Einführung in Javascript ist recht knapp. Javascript hat sich in den letzten Jahren stark weiterentwickelt, aber dem tragen die Module noch nicht Rechnung.

 

Es gab früher ein Wahlpflicht-Modul "Skriptsprachen", das ich gerne belegt hätte. Das war eine gründliche Einführung in Javascript. Es wurde aber nicht mehr angeboten, weil es als veraltet galt. Leider kam dafür kein Nachfolger, so dass diese Lücke bislang nicht geschlossen wurde.

 

Ich finde nicht entscheidend, ob die verwendeten Frameworks die aktuellsten sind. Web-Frameworks entwickeln sich schnell. Ich glaube, ein Curriculum kann sich nicht im gleichen Tempo entwickeln. Und das muss es auch nicht. Es kommt auf die Konzepte an, die am Beispiel der Frameworks vermittelt werden. Die sollten eine längere Halbwertszeit haben. Allerdings hat sich gerade die Front-End-Programmierung in den letzten Jahren schnell weiterentwickelt und hat inzwischen ein anderes Gewicht. Die Perspektive client-seitige Web-Programmierung sollte daher gestärkt werden, egal mit welchem Framework.

 

@Lumi

Mir gefallen die Präsenztage auch sehr gut. Seit die Teilnahme freiwillig ist, werden sie allerdings von deutlich weniger Studierenden genutzt. Das finde ich schade. Ich hoffe, durch meine Berichte ein bisschen Interesse zu wecken, dieses freiwillige und in meinen Augen wertvolle Angebot auch wahrzunehmen.

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden


×
  • Neu erstellen...