© saicle/Shutterstock.com
PHP Magazin
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.

Jakob Westhoff


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?Die Crux mit MVCViele JavaScript-Frameworks werden von Webent­wicklern entworfen und umgesetzt. Häufig fehlt diesen verständlicherweise die Erfahrung aus dem Bereich der Desktopapplikationsentwicklung. MVC kennen die meisten nur aus PHP- und übrigen Webanwendungen. Aufgrund der Architektur von HTTP und der damit einhergehenden klaren Trennung in Client und Server ist eine strikte Umsetzung von MVC innerhalb dieser Technologie zugrunde liegenden Applikationen nahezu unmöglich. Aus diesem Grund behelfen sich Webapplikationen häufig mit diversen weiteren Pattern, wie dem Front-Controller-Pattern oder dem Model-View-ViewModel-Pattern (kurz MVVM), das eine einfachere Trennung zwischen Client und Server erlaubt, auch wenn es ursprünglich für den reinen Clienteinsatz entworfen wurde.AngularJS – Ein etwas anderer AnsatzDie Semantik von HTML wird von AngularJS um viele neue Attribute und Möglichkeiten erweitert, die das Framework anschließend verarbeitet, um aus einer statischen Seite eine moderne Webapplikation zu erzeugen. Anstatt eine zusätzliche Template-Sprache für dynamische Teile zu entwickeln, wurde hier also HTML selbst zu dieser Template-Sprache gemacht. Entwickler, die bereits mit jQuery Mobile gearbeitet haben, kennen vielleicht die Grundzüge dieses Ansatzes.Eine automatische Data-Binding-Schicht macht die Synchronisierung von Models und View zum Kinderspiel, auch die Datenübertragung zum Server ist anschließend kinderleicht. Auch wenn keine feste Integration von Server-Side Stores existiert, so sind selbstverständlich alle nötigen Abstraktionsschichten vorhanden, um sie mühelos zu integrieren. In Zeiten von HTML5 Local Storage ist eine solche lose Kopplung wichtiger denn je und bietet mehr Vor- als Nachteile. Durch die konsequente Nutzung von Promises/Futures wird die Arbeit mit asynchronen Datenquellen durch kaum lesbare Callback-Wälder von auf...

PHP Magazin
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.

Jakob Westhoff


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?Die Crux mit MVCViele JavaScript-Frameworks werden von Webent­wicklern entworfen und umgesetzt. Häufig fehlt diesen verständlicherweise die Erfahrung aus dem Bereich der Desktopapplikationsentwicklung. MVC kennen die meisten nur aus PHP- und übrigen Webanwendungen. Aufgrund der Architektur von HTTP und der damit einhergehenden klaren Trennung in Client und Server ist eine strikte Umsetzung von MVC innerhalb dieser Technologie zugrunde liegenden Applikationen nahezu unmöglich. Aus diesem Grund behelfen sich Webapplikationen häufig mit diversen weiteren Pattern, wie dem Front-Controller-Pattern oder dem Model-View-ViewModel-Pattern (kurz MVVM), das eine einfachere Trennung zwischen Client und Server erlaubt, auch wenn es ursprünglich für den reinen Clienteinsatz entworfen wurde.AngularJS – Ein etwas anderer AnsatzDie Semantik von HTML wird von AngularJS um viele neue Attribute und Möglichkeiten erweitert, die das Framework anschließend verarbeitet, um aus einer statischen Seite eine moderne Webapplikation zu erzeugen. Anstatt eine zusätzliche Template-Sprache für dynamische Teile zu entwickeln, wurde hier also HTML selbst zu dieser Template-Sprache gemacht. Entwickler, die bereits mit jQuery Mobile gearbeitet haben, kennen vielleicht die Grundzüge dieses Ansatzes.Eine automatische Data-Binding-Schicht macht die Synchronisierung von Models und View zum Kinderspiel, auch die Datenübertragung zum Server ist anschließend kinderleicht. Auch wenn keine feste Integration von Server-Side Stores existiert, so sind selbstverständlich alle nötigen Abstraktionsschichten vorhanden, um sie mühelos zu integrieren. In Zeiten von HTML5 Local Storage ist eine solche lose Kopplung wichtiger denn je und bietet mehr Vor- als Nachteile. Durch die konsequente Nutzung von Promises/Futures wird die Arbeit mit asynchronen Datenquellen durch kaum lesbare Callback-Wälder von auf...

Neugierig geworden?


    
Loading...

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