JavaScript wurde von vielen Entwicklern bisher als zweitrangige und zweitklassige Programmiersprache angesehen, für viele war es eher ein notwendiges Übel, sich bei der Erstellung dynamischer Web-UIs damit zu beschäftigen. Doch die Zeiten wandeln sich.
>> mehr…
JavaScript etabliert sich immer mehr als die Sprache des Webs, kaum eine moderne Webseite kommt mehr ohne JavaScript aus. Frameworks wie jQuery erlauben eine sehr angenehme und entwicklerfreundliche Erstellung dynamischer Web-Anwendungen mit einer hohen Funktionalität. Und im Zuge mit HTML5 sind es nicht zuletzt zahlreiche neue JavaScript-APIs, die eine hohe Funktionalität bereitstellen. Auch Microsoft hat die Zeichen der Zeit erkannt und wird z.B. bei Windows 8 unter anderem auch auf HTML5 und JavaScript zur Erstellung von Applikationen setzen.
Und JavaScript beschränkt sich mittlerweile nicht mehr auf Webseiten, bei Projekten wie NodeJS wird JavaScript verwendet, um Server-Funktionalität bereitzustellen. JavaScript entwickelt sich so zunehmend zu einer universellen Sprache für Client und Server, so zumindest der Trend. Da verwundern auch Empfehlungen nicht, dass spätestens jetzt die Zeit für Entwickler gekommen sei, JavaScript intensiv zu lernen.
Doch wie schreibe ich JavaScript-Code richtig, sauber, wartbar? Diese Frage stellen sich viele Entwickler mit Background in der OOP-Entwicklung, die in JavaScript meist nicht viel mehr als kruden Spaghetti-Code hervorbringen. Gerade für .NET-Entwickler ist die Umstellung nicht immer leicht und meine Empfehlung ist, hier noch einmal grundsätzlich die Möglichkeiten von JavaScript zu erlernen.
Denn globale Variablen und Funktionen losgelöst von jedem Kontext müssen in JavaScript nicht sein, wenn man die richtigen Patterns kennt.
Ein Vortrag der MIX11 hat es mir hier besonders angetan und ich kann ihn nur jedem interessierten Entwickler empfehlen: Good JavaScript Habits for C# Developers. Darin werden viele grundsätzliche Dinge/Unterschiede zu C#/.NET gezeigt, um dann richtige Patterns zur objektorientierten JavaScript-Entwicklung zeigen, die sich in JavaScript etabliert haben. Themen sind u.a.:
- Objekt- und Array-Initialisierung
- Korrekte Benutzung von for-in
- Variablen-Scope
- Benutzung von Closures
- Pattern: Object Literal
- Pattern: Self-Executing Anonymous Functions (Public)
- Pattern: Revealing Module Pattern
- Pattern: Self-Executing Anonymous Functions (Public&Private)
Daneben habe ich folgende Links als sehr wertvoll empfunden: