Webentwicklung
Als Webentwicklung (englisch Web development) bezeichnet man die Softwareentwicklung von Webanwendungen, Webservices oder anderer komplexer Websites. Die Ersteller und Entwickler von Webanwendungen werden Webentwickler genannt. Das Layout und Design wird dagegen meist von Webdesignern übernommen.
Geschichte
Die in der Webentwicklung genutzten Technologien veränderten sich parallel zur Entwicklung des Internets.[1] Etwa von 1992 bis 1999 dominierten statische HTML-Seiten. In den frühen 2000er Jahren kamen dynamische Webseiten auf, die mit Server Side Scripting in Programmiersprachen wie Perl oder PHP realisiert wurden.[2] Bei den serverseitigen Programmiersprachen dominieren heute (Februar 2018) PHP und ASP.NET.
Für interaktive Webseiten wurde durch O’Reilly der nicht exakt definierte Begriff Web 2.0 geprägt.[3]
1997 wurde JavaScript standardisiert und in Netscape Navigator 3 implementiert. Ab 2005 begann JavaScript die serverseitigen Skriptsprachen zu überflügeln.[4][5] Ein weiterer Schub kam durch die Einführung von AJAX (asynchrone Datenübertragung zwischen Browser und Server).[6] Ende 2008 veröffentlichte Google die JavaScript-Implementierung V8, die mit einer überlegenen Ausführungsgeschwindigkeit aufwartete. Damit begann ein Wettlauf der Browserhersteller um die schnellste JavaScript-Implementierung.[7] 2009 wurde Node.js veröffentlicht, wodurch serverseitiges JavaScript populär wurde und heute weit verbreitet ist.[8] In den folgenden Jahren wurde JavaScript kontinuierlich weiterentwickelt (z. B. ES2015).
Bedeutungslos gewordene Technologien sind Adobe Flash und Java-Applets. Flash spielte vom Anfang der 2000er bis etwa 2010 eine wichtige Rolle, um multimediale und interaktive Inhalte im Web auszuliefern.[9] Java-Applets wurden 1997 eingeführt und 2015 offiziell für veraltet erklärt.[10]
Abgrenzung zur klassischen Softwareentwicklung
Webanwendungen unterscheiden sich in einigen Aspekten von klassischer Software. Die Unterschiede zur Softwaretechnik beruhen besonders auf der Nutzung von Hypermedia-Dokumenten, die zusammen mit dem Browser die Benutzerschnittstellen bilden, sowie der unterliegenden Netzwerk-Architektur mit Client/Server-Paradigma, HTTP- bzw. TCP/IP-Protokoll und der Adressauflösung über das Domain Name System. Auf der konzeptionellen Ebene betrifft dies die Navigation innerhalb der Anwendung und die Präsentation der Inhalte. Ebenso benötigen Webanwendungen Benutzermodelle, da im WWW dokumentenbasiertes oder systembasiertes Benutzermanagement nicht üblich ist und jede Anwendung selbst eine Benutzeridentifizierung sicherstellen muss – insofern sie nötig ist. Auf der technischen Ebene zeichnen sich Webanwendungen durch das Zusammenspiel sehr unterschiedlicher Techniken (beispielsweise HTTP, PHP, HTML, CSS, JavaScript, Java, XML, SQL u. a.) aus, die clientseitig auf verschiedenen Systemplattformen arbeiten können. Auf der Prozessebene benötigt das Web-Engineering auch die Einbeziehung der Wartung und Pflege der Software, da hier nachträgliche Änderungen und Anpassungen üblich sind.
Modellbasierte Prozesse des Web-Engineering erweitern üblicherweise die klassische Modellierung um Modelle für die Navigation, die Präsentation und die Benutzer. Für die grafische Notation der Modelle ist auch hier UML der Standard, das für die Anforderungen des WWW entsprechend erweitert wird. Jedoch lassen sich mit UML nicht alle Modellaspekte gut abbilden, wie z. B. das Präsentationsmodell, wofür andere Mittel wie etwa Storyboards genutzt werden müssen.
Zu den speziellen Anwendungs- und Forschungsgebieten zählen das Semantic Web, Cloud Computing, Mobile Apps, Usability, Web Information Retrieval oder auch Webservice-Engineering.
Frameworks
Der Großteil der Webentwicklung findet heutzutage unter Nutzung von Webframeworks statt. Bekannte serverseitige Frameworks sind Vaadin, Laravel, Ruby on Rails und Django. Populäre JavaScript-Frameworks sind React, Angular und Vue.js.[11]
Weblinks
Einzelnachweise
- Colyn Emery: A Brief History of Web Development, Techopedia.com
- Kevin Yank: Which Server-Side Language Is Right For You?, 9. Oktober 2001
- Overview of Web 2.0
- Charles Severance: JavaScript: Designing a Language in 10 Days, Computer, Februar 2012
- Lynn Greiner: PHP, JavaScript, Ruby, Perl, Python, and Tcl Today: The State of the Scripting Universe, CIO, 29. August 2008
- Esther Schindler: Beyond Ajax: Software Development, Two Years from Now, CIO, 30. November 2007
- Browser war centers on once-obscure JavaScript. In: CNET. 20. März 2009 (englisch, cnet.com).
- TJ Fogarty: A Brief History of Web Development. 26. Februar 2018, abgerufen am 2. Februar 2018.
- Max Slater-Robbins: The long and painful death of Flash. In: TechRadar. 25. Juli 2017 (englisch, techradar.com).
- Michael Byrne: The Rise and Fall of the Java Applet: Creative Coding’s Awkward Little Square. In: Motherboard (Vice). 2. Februar 2016 (englisch, vice.com).
- Jens Neuhaus: Angular vs. React vs. Vue: A 2017 comparison, 28. August 2017