toggle menu
Workshops / Thesen » Webcomponents
thewebcomponents
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE! SEE MORE!
SEE MORE! SEE MORE! SEE MORE!

Webcomponents

Neue Ansätze der Webentwicklung

Manuel Bartels entwickelte seine Bachelorarbeit im Studiengang Online Medien der Hochschule Furtwangen in Zusammenarbeit mit dem Büro für Brauchbarkeit.

„Webcomponents - Neue Ansätze in der Webentwicklung“

Abstract
Webentwicklung, im Besonderen die Frontend-Entwicklung, war lange Zeit eher Inhaltsauszeichnung mit HTML und CSS, statt einer Art von Programmierung oder Softwareentwicklung. Doch spätestens ab 2009, als die ersten Neuerungen von HTML5 in die ersten Browser implementiert wurden, nahm die Webwentwicklung rasant Fahrt auf in Richtung immer komplexerer Online-Anwendungen, bei welchen nicht mehr nur Webseiten ausgezeichnet werden, sondern komplexe Web-Apps programmiert werden. Selbst kleine Websites erweitern ihre Funktionalitäten durch Javascript-Frameworks und neue Browser-APIs. Dabei werden schon lange nicht mehr nur einfache HTML-Elemente zur Auszeichnung von Headlines, Listen, Formularen o.ä. eingesetzt, sondern die Struktur zur Auszeichnung ist mittlerweile zum Teil sehr komplex geworden. Diese komplexen HTMLKonstruktionen werden dann durch Einsatz von Javascript und diversen Frameworks mit zusätzlichen Funktionen erweitert, sodass der Benutzer auf heutigen Websites dynamische Elemente bedienen kann, welche sich zum Teil anfühlen wie native Programme des Betriebssystems.

Dass die Entwicklung damit, gerade in größeren Projekten, schnell sehr unübersichtlich werden kann, versteht sich fast von selbst. Aus diesem Grund gibt es heute eine Vielzahl von CSS, HTML und Javascript Frameworks, welche allesamt die Entwicklung wieder übersichtlicher machen und diese damit erleichtern sollen. Und so findet man viele Auflistungen wie z.B. „31 CSS-Frontend- Frameworks im Vergleich“, oder „Best Javascript MVC Frameworks 2013-2014“. Bei aller berechtigten Begeisterung für solche Frameworks, funktionale Elemente werden weiterhin in mehreren Dateien definiert und sind schwierig unter verschiedenen Projekten auszutauschen oder gegenseitig zu implementieren, da sie sich alle den gleichen Namensraum teilen. So hat sich auch die Frontend-Entwicklung in den letzten Jahren zwar immer mehr der professionellen Softwareentwicklung angenähert durch einheitliche Browser-Schnittstellen, Paketverwaltung, Modualisierung, Template-Engines und weiteren Möglichkeiten, die sich in den letzten Jahren ergeben haben. Doch als diese zusätzlichen Funktionen, welche heute entwickelt werden, werden nach keinem festgeschriebenen Standard entwickelt. Es gibt kein übergreifendes Plugin-System. Doch auch die Browser-Hersteller Mozilla und Google, welche zum Teil eigene Frameworks veröffentlichten, haben dieses Problem erkannt und bringen gerade eine neue Technologie nach und nach in ihre Software, die dieses übergreifende Plugin-System schaffen soll: Web Components. Diese neue Browser-Technologie verspricht das Problem etwas grundsätzlicher anzugehen und eine Verkapselung von Elementen zu ermöglichen.

Definiert werden solche „Custom Elements“ in HTML-Templates und über HTMLImports in das Dokument importiert. So sind Web Components auch ein Verbund von mehreren neuen Technologien:

HTML Templates
HTML Imports
Custom Elements
Shadow DOM

Noch ist diese Technologie nicht vollständig in den aktuellen Browser implementiert. Aber die Implementierung schreitet voran und es gibt mit dem Polymer-Project von Google sowie Brick von Mozilla zwei Frameworks, welche die Funktionalität für aktuelle Browser nachbilden sollen. Mit seiner Bachelor-Thesis möchte Manuel Bartels etwas genauer aufzeigen, wie funktionale Websites oder Web-Apps mit heutigen Technologien entwickelt werden, dabei besonders auf die Ansätze von Angular.js und ember.js eingehen, zeigen wie sich dazu heute schon Polymer und Brick unterscheiden und beschreiben, wie sich Web Components dazu unterscheiden, wenn sie nativ unterstützt werden.

Manuel Bartels
Thesis zur Erlangung des Grades Bachelor of Science
im Studiengang Online Medien an der Fakultät Digitale Medien, Hochschule Furtwangen
am 29.8.2014

Erstbetreuer: Professor Dr. Wolfgang Taube
Zweitbetreuer: Dipl. Inf. (FH), Dipl. Audiovisual Media Tilman Reiff