© saicle/Shutterstock.com
Kolumne: The Good Parts

AngularJS - ein JavaScript-Framework für das 21. Jahrhundert


Google ist mit seinem JavaScript-Framework AngularJS [1] ein großer Wurf gelungen. Es vereint die solide Umsetzung einer MVC-Architektur mit zukunftsorientierten Ansätzen aus der Webapplikationsentwicklung innerhalb eines viel versprechenden JavaScript-Frameworks.

Die Landschaft der MVC-Frameworks ist vielfältig. Jeden Tag kommen neue hinzu. Jedes Projekt verspricht besser zu sein als seine Vorgänger, neue Fähigkeiten zu besitzen, die Applikationsentwicklung zu vereinfachen und zugleich dem Entwickler Zeit zu sparen. All das klingt äußerst verlockend. Betrachtet ein Entwickler die Frameworks jedoch einmal konkreter, so stellt sich schnell Ernüchterung ein. Was zunächst sehr viel versprechend klingt, ist leider häufig doch nur ein altes Konzept unter einem neuen API versteckt. Im Kern sind doch nahezu alle MVC-Frameworks identisch.

JavaScript-MVC-Frameworks – Hot or not?

Wie könnten sie auch grundlegend unterschiedlich sein, setzen sie doch alle auf dem gleichen Technologie-Stack auf: JavaScript, HTML, CSS und dem Model-View-Controller-Pattern (kurz MVC). Was also könnte Goo­gle mit seinem AngularJS-Projekt anders machen, um den ewigen Kreis zu durchbrechen? Bei näherer Betrachtung fällt schnell auf, dass es nur wenige Ansatzpunkte für Veränderung gibt. HTML und CSS haben im Web­umfeld keine ernstzunehmende Konkurrenz und sind daher ständige Begleiter. Auch wenn Ansätze wie CoffeeScript oder Googles eigenes Dart gute Gedankenexperimente sind, so lösen sie entweder mehr schlecht als recht die eigentlichen Probleme oder sind nicht verbreitet genug, um echte Alternativen darzustellen. JavaScript ist und bleibt also für ein aktuelles Projekt die einzige Möglichkeit. Was bleibt also noch MVC? Ist das Model-View-Controller-Pattern vielleicht das Problem und müsste abgelöst werden? MVC ist ein sehr altes Pattern, das es lange vor Webapplikationen und dem Internet gab. Es ist ein Programmierparadigma aus der objektorientierten Softwarearchitektur, das zu dem Zweck entworfen wurde, die Entwicklung komplexer interaktiver Benutzerschnittstellen zu erleichtern. Auch hierbei handelt es sich also offensichtlich um genau den richtigen Lösungsansatz für das Problem. Und tatsächlich nahezu jede moderne Desktopapplikation setzt dieses Pattern oder eine Abwandlung davon sehr erfolgreich um.

Die Crux mit MVC

Warum sind viele auf JavaScript basierende MVC-Frameworks dann so wenig zufriedenstellend, wenn das MVC-Pattern doch der ideale Kandidat für eine Lösung der Probleme mode...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang