Open Source bei der Entwicklung komplexer Webseiten

20211006 Stefan Open Source

Das Web, wie wir es heute kennen und nutzen, wäre ohne freie Software nicht denkbar. Freie Software demokratisiert, vereinfacht und beschleunigt das Erstellen von Webseiten selbst. Gleichzeitig steigen die Ansprüche an Webseiten: Im Laufe weniger Jahre haben sie sich aus einfachen HTML-Templates hin zu komplexen Softwareprojekten entwickelt. Eine Umsetzung bedarf heute dem Zusammenspiel verschiedener Spezialist*innen, beispielsweise für Frontend und Backend. Doch auch für die zunehmende Komplexität ist Open Source Software die Lösung. Bei der Umsetzung einer Webseite zieht sich Open Source Software wie ein roter Faden durch alle Prozesse und Abläufe des Projektverlaufs.

Eingesetzte Frameworks, das Content-Management-System, Testing-Tools, Webserver – in allen Bereichen hat freie Software einen entscheidenden Anteil und bringt grosse Vorteile mit sich, sowohl für Entwickler*innen als auch für den Kund*innen selbst. Stabilität, Sicherheit, Entwicklungsgeschwindigkeit – alles profitiert entscheidend von offener Software.

Wie sieht das typische Projekt zur Umsetzung einer Webseite aus?

Nach Contentanalyse und Kundenworkshops, um die Anforderungen des Kunden vollständig zu verstehen und erfassen, beginnt für uns als Entwickler*innen die eigentliche Arbeit. Wir müssen das vorgegebene Design in HTML und CSS umsetzen, eventuell Interaktivität und Funktionalität per Javascript hinzufügen. Bereits hier spielt freie Software eine entscheidende Rolle – wir stützen uns dabei auf bestehende Frameworks wie beispielsweise Bootstrap oder Foundation, React oder VueJS. Der grosse Vorteil dabei für uns: Wir nutzen quelloffene, millionenfach getestete Software, welche uns Standardaufgaben abnimmt. Dadurch verkürzen wir die Entwicklungsdauer und unser Code gewinnt an Stabilität. Auch die Weiterverarbeitung unserer CSS/JS-Files baut auf freier Software auf: Webpack für das Transformieren und Bündeln unserer Dateien.

Vorteil: quelloffenes Content-Management-System

Parallel zur Frontend-Entwicklung beginnen wir bereits mit der Entwicklung der Content-Management-Funktionalitäten. Wir setzen hier aus Gründen der Benutzerfreundlichkeit auf Craft CMS, welches zwar lizenziert werden muss, aber quelloffen ist (COSS). Auch hier zeigt sich ein weiterer Vorteil offener Software: Sollte etwas nicht wie erwartet funktionieren oder benötigte Funktionen nicht standardmässig vorhanden sein, so kann dies direkt im Code geändert bzw. hinzugefügt werden. Durch Rücksprache mit dem CMS-Hersteller können diese Änderungen rasch ihren Weg in den offiziellen Code finden und somit das Produkt schnell verbessert werden. Diese hohe Geschwindigkeit bei der Weiterentwicklung des CMS liesse sich nicht halten, wäre das Produkt nicht quelloffen, da direktes Feedback der Community in diesem Masse nicht möglich wäre. Weiterhin trägt die Offenheit des Codes dazu bei, dass Entwickler*innen zu 100 % nachvollziehen können, wie die verwendete Software funktioniert, im Gegensatz zu einer geschlossenen Blackbox.

Um sicherzustellen, dass die Anforderungen an das Layout und Funktionalitäten vollständig umgesetzt wurden, werden sämtliche entwickelten Komponenten ausgiebig getestet. Auch hier spielt Open Source Software die entscheidende Rolle. Die Validität des Markups überprüfen wir mithilfe des quelloffenen W3C Markup Validator. Um eine höchstmögliche Accessibility zu gewährleisten, setzen wir auf die offene Axe Accessibility Testing Engine.

OSS über den eigentlichen Code hinaus

Auch beim Release und Deployment des Projektes selbst kommt Open Source Software zum Einsatz. Zum einen setzen wir natürlich auf Git als Versionsverwaltung, zum anderen spielt Jenkins eine entscheidende Rolle im Deploymentprozess.
Alles in allem wären unser technischer Stack, unsere eigenen Qualitätsansprüche und unsere Entwicklungsgeschwindigkeit ohne Open Source Software nicht möglich.