Kleine Helfer

Objektorientiertes Javascript mit Prototype

Diego Wyllie hat Wirtschaftsinformatik an der TU München studiert und verbringt als Softwareentwickler und Fachautor viel Zeit mit Schreiben – entweder Programmcode für Web- und Mobile-Anwendungen oder Fachartikel rund um Softwarethemen.
"Prototype" erweitert Javascript um Konzepte der objektorientierten Programmierung und vereinfacht damit die Entwicklung komplexer Web-Anwendungen.
Mit Prototype lassen sich Konzepte der objektorientierten Programmierung wie Klassen und Vererbung leicht implementieren.
Mit Prototype lassen sich Konzepte der objektorientierten Programmierung wie Klassen und Vererbung leicht implementieren.

Was haben Apple, CNN.com, Ebay, Twitter und Xing gemeinsam? In ihren Web-Anwendungen greifen sie alle auf Prototype zurück. Das quelloffene und umfangreiche Javascript-Framework wurde im Jahr 2005 der Öffentlichkeit vorgestellt und erfreut sich seitdem zunehmender Beliebtheit. Es soll die Entwicklung von Ajax-basierenden Web-Anwendungen erleichten. Hierfür bietet die Javascript-Library bequeme Funktionen zur DOM-Bearbeitung sowie nützliche Shortcuts an - so zum Beispiel "$('ID')" anstatt "document.getElementById('ID')".

Das Besondere an dem Framework ist aber seine Unterstützung für die klassische objektorientierte Programmierung. Die Objektorientierung hat ihren Weg in Javascript zwar schon länger gefunden, die Arbeit mit Klassen und Vererbung sowie mit weiteren Konzepten höherer Programmiersprachen war in diesem Umfeld jedoch noch nie so einfach gewesen wie mit Prototype. So genügt der Funktionsaufruf "Class.create()", um eine neue Klasse zu definieren. Wenn man dieser Methode den Namen einer weiteren Klasse als Parameter übergibt, entsteht unkompliziert eine Vererbungsbeziehung zwischen den beiden Klassen (siehe Screen).

CW-Fazit

Bei komplexeren Web-Anwendungen ermöglicht Prototype Entwicklern, die bewährten Konzepte der Objektorientierung auch auf der Client-Seite anzuwenden. Dass namhafte Unternehmen wie Apple und Twitter das Framework einsetzen, spricht für die große Robustheit und Leistungsfähigkeit der Lösung.