Webentwickler, oder Web Developer sind gesuchte Experten. In unserer digitalisierten Zeit sind sie so etwas wie die Architekten, Baumeister und Bauarbeiter in einer Person. Sie gestalten den virtuellen Raum und bauen Webseiten. Nicht ganz klar ist aber, was ein Webentwickler genau können muss. Daher wollen wir uns heute das Berufsbild genauer ansehen und klären, welche Fähigkeiten man als Web Developer braucht.
Webseiten
Die Zeiten haben sich seit der Erfindung des Internets dramatisch gewandelt. Früher war es wichtig, HTML-Code notieren zu können. HTML ist keine Programmiersprache, sondern eine Beschreibungssprache. Man baut damit statische Webseiten, die von Webservern abgerufen und am Client vom Browser interpretiert werden. Der Aufbau ist relativ einfach. Tags, die in Spitzklammern eingefasst werden, beschreiben ein Element. So wird mit <h1> beispielsweise eine Überschrift erster Ordnung geöffnet. Es folgt der Text der Überschrift, danach wird mit </h1> das Ende der Überschrift erster Ordnung angegeben. Eine einfache Website sieht in HTML etwa so aus:
<HTML>
<body>
<head>
<title>Meine Webseite</title>
</head>
<body>
<h1>Überschrift</h1>
<pre>Vorformatierter Text</pre>
</body>
</HTML>
Um die Elemente einheitlich zu gestalten verwendet man CSS. Mit CSS kann man Farbe, Größe, Schriftart, Abstände, Rahmen und etliche andere Eigenschaften der einzelnen Elemente bestimmen. Damit erreicht man, dass ein einheitlicher und professioneller Look entsteht.
Web 2.0
Das Prinzip der HTML-Seiten ist einfach. Man schreibt HTML-Code mit einem einfachen Texteditor und legt ihn in das entsprechende Verzeichnis am Webserver. Der Client fragt die Seite an und die HTML-Seite wird ausgeliefert. Sieht man sich den Quelltext der Website an, sieht man jedes einzelne Element, das darin beschrieben ist. Mit Javascript hat sich diese Technik grundlegend geändert. Javascript ist eine Programmiersprache, die vom Browser beherrscht und ausgeführt wird. Mit ihr kann man den Inhalt von Webseiten dynamisch generieren. Man muss also nicht unbedingt alles in der HTML-Datei notieren. Es reicht, wenn man Bereiche angibt und ihnen Namen gibt. Diese kann man dann mit Javascript ansprechen, befüllen, oder verändern. Javascript selbst kann im Hintergrund mit dem Server kommunizieren, dort neue Informationen abrufen und diese auf der Website darstellen. Damit kann man beispielsweise einen Newsticker umsetzen, oder andere veränderte Informationen auf der Seite darstellen, ohne die Seite neu zu laden. Das übernimmt Javascript, das man übrigens nicht mit Java verwechseln darf.
Frameworks
Damit sind bereits die grundlegenden Technologien fertig aufgezählt. HTML ist unverändert die Sprache, in der Webseiten und ihr Aufbau beschrieben wird. CSS wird nach wie vor dazu verwendet, Elemente zu gestalten und mit Javascript arbeitet heute nahezu jede Website. Darüber hinaus sind verschiedene andere Technologien und Frameworks fast schon Standard. Ein Framework ist eine Sammlung von fertigen Code-Komponenten, die man einfach im eigenen Code verwenden kann. Viele dieser Frameworks basieren auf Javascript, die überwiegend im Frontend, also in dem Teil, den User zu Gesicht bekommt, eingesetzt werden. Im Backend, also am Server, läuft in den meisten Fällen PHP. Eine Programmiersprache, die für die Ausgabe von HTML-Code optimiert ist und daher die Basis für sehr viele Webseiten darstellt.
State of the Art
Möchte man wissen, welche Technologien aktuell gefragt sind und womit gearbeitet wird, ist es sinnvoll, sich die Website einer Webentwicklung Agentur anzusehen. In diesem Beispiel finden sich am Ende der Seite die Logos der unterschiedlichen Programme und Techniken. Insgesamt werden hier 18 Logos aufgelistet, zu denen wir jeweils eine kurze Erklärung liefern.
React Native
React ist eine, auf Javascript basierende Softwarebibliothek, die von Facebook entwickelt wurde. Die Entwickler bezeichnen React nicht als Framework, sondern eben als Softwarebibliothek. Entwickelt wurde React für performante Frontends. React lädt Daten in den virtuellen DOM und spielt sie nachher in den sichbaren Teil am Bildschirm. React Native ist eine Weiterentwicklung, die auf mehreren Plattformen, wie Androis, iOS, oder Windows läuft. Damit muss der Code nur einmal entwickelt werden und funktioniert auf unterschiedlichen Endgeräten.
Android
Der kleine Roboter im Logo repräsentiert das Smartphone-Betriebssystem aus dem Hause Google. Es ist das am weitesten verbreitete mobile Betriebssystem und findet sich nicht nur auf einem Großteil der Mobiltelefone und Tablets, sondern auch auf etlichen anderen Geräten.
iOS
Neben Android ist iOS das am zweithäufigsten verwendete mobile Betriebssystem. Die Software von Apple läuft auf iPhones und iPads. Smartphones und Tablets von Apple sind in manchen Unternehmen Standard und haben eine breite Anhängerschaft.
Vue Native
Vue.JS ist ein Javascript Framework, um Single-Page Anwendungen zu entwickeln. Der Webentwickler hat dabei mehr Möglichkeiten, die Struktur zu planen und umzusetzen. Außerdem behaupten die Entwickler, dass die Vue-API einfacher zu erlernen ist, als bei vergleichbaren Frameworks. Vue Native ist ein Wrapper, der die in Vue.JS entwickelte Applikation für React Native kompilierbar macht.
Ionic
Auch ionic ist ein Web-Framework, das zur Erstellung der Frontends in hybriden Webapps geschaffen wurde. Mit ionic kann der Webentwickler unterschiedliche Frameworks, wie Angular, React, oder Vue nutzen.
Angular
Ein weiteres Framwork, das auf Typescript baut, ist Angular. Es bietet Komponenten und Funktionen, die in einem Framwork zusammengefasst wurden. Webentwickler können damit skaliebare Apps aufbauen.
JavaScript
Auch Javascript wird als eingesetzte Technologie gelistet. Es liegt den meisten eingesetzte Frameworks zugrunde und wird über den Einsatz von React, oder Vue automatisch verwendet. Den Code zu verstehen, also JavasScript zu beherrschen, ist aber auf jeden Fall ein Vorteil. Spätestens bei der Suche nach Bugs ist es hilfreich JavaScript zu beherrschen.
Firebase
Google betreibt den Cloudservice Firebase, um Webentwicklern die Möglichkeit zu geben, mobile Apps zu entwickeln. Man erhält Zugriff auf eine Entwicklerumgebung, aus der heraus man die Apps direkt veröffentlichen kann. Außerdem bekommt man Feedback zu Abstürzen und gemeldeten Bugs.
JEST
Ein weiteres Javascript Framework, das als Tool gelistet wurde, ist JEST. Wie auch React stammt JEST von Facebook. Das Framework richtet sich an Entwickler von umfangreichen Applikationen.
JSON:api
JSON ist, vereinfacht gesprochen, ein Dateiformat, in dem Daten vom Server zum Client transferiert werden. Die Struktur erinnert an HTML, oder XML, enthält also eine Beschreibung der einzelnen Felder. Um einen einheitlichen Standard für die JSON-Formate, die in der Applikation verwendet werden, einzuhalten, kommt JSON:api zum Einsatz.
Node.JS
Javascript wird normalerweise zur Laufzeit im Webbrowser ausgeführt. Mit Node.JS kann man auch am Server eine Javascript-Laufzeitumgebung schaffen. Damit ist es möglich, auch im Backen auf Javascript zu setzen. Node.JS überzeugt dabei mit seinem geringen Ressourcenbedarf und der entsprechend hohen Performance.
Redux
Redux ist eine quelloffene Javascript Applikation, die zusammen mit Javascript Frameworks zum Einsatz kommt. Redux dient dazu, die Zustände der Elemente der grafischen Benutzeroberfläche den anderen Komponenten zentral zur Verfügung zu stellen.
REST
REST ist die Abkürzung für Representational State Transfer. REST ist eine Form der Kommunikation zwischen verschiedenen Rechnersystemen. Es kommt bei Webservices, oder zwischen den Komponenten einer verteilten Struktur zum Einsatz und ist im Internet weit verbreitet.
TypeScript
TypeScript ist eine Weiterentwicklung von Javascript. Microsoft hat die Programmiersprache 2012 herausgebracht. Jeder JavaScript-Code ist auch TypeScript-Code. Es gibt lediglich Erweiterungen im Syntax. Damit können alle, auf Javascript basierende Frameworks und Applikationen auch unter TypeScript ausgeführt werden.
Atlassian
Atlassian ist eines der Tools, oder eigentlich der Hersteller einer Fülle von Tools, mit denen ein Webentwickler arbeitet. Jira, in dem Aufgaben gemanagt werden, Trello, oder Confluence für die Zusammenarbeit und Aufgabenverteilung gehört bei vielen Arbeitgebern zum Handwerkszeug. Speziell in agilen Teams gehören die Tools quasi zum Standard.
Slack
Auch Slack ist ein Tool, das die Zusammenarbeit in Teams vereinfachen soll. Es ist nicht immer erforderlich und auch nicht immer üblich, dass Webentwickler zusammen in einem Büro sitzen. Eine standardisierte Arbeitsweise, Coding-Standard, Unit-Testing und andere Tools zum Check der Syntax, machen es problemlos möglich, dass alle Teammitglieder für sich arbeiten. Tools wie Slack, oder Microsoft Teams dienen dann der Kommunikation und Zusammenarbeit.
Webentwickler werden
Um Webentwickler zu werden, braucht man auf jeden Fall Wissen über verschiedene JavaScript, oder TypeScript Frameworks. Man sollte Technologien, wie JSON, Node.JS, oder REST kennen und sich mit agilen Arbeitsweisen, wie Scrum, oder Kanban auseinandersetzen. Ausbildungen werden von verschiedenen Seiten angeboten. Dazu ist es sinnvoll, möglichst viel Erfahrung zu sammeln und in der Freizeit möglichst umfangreiche und komplexe Webprojekte umzusetzen. Hat man entsprechende Erfahrung gesammelt, ist ein Job in einer Webentwickler Agentur auf jeden Fall ein sinnvoller erster Schritt. Hier lernt man die Praxis noch besser kennen und kann von der Zusammenarbeit mit erfahrenen Kolleginnen und Kollegen profitieren.