Blog
Jul 26

Was ist der Unterschied zwischen AngularJS und Angular

Was ist AngularJS?

AngularJS  – oder wie es einige vorziehen: Angular 1 – ist ein von Google entwickeltes JavaScript-Framework. Es ermöglicht die Entwicklung von WebAnwendungen und legt großen Wert auf Struktur und Qualität. Es ist ein Framework, mit Fokus auf Architektur, Testing und isolierte Komponenten im JavaScript-Bereich und somit für große Enterprise Anwendungen anwendbar. Durch Methoden wie z.B. Dependency Injection ermöglicht es effiziente und wartbare Softwareentwicklung auf Basis von JavaScript.

Die Highlights von AngularJS:

  • Ein JavaScript-Framework für dynamische Webapplikationen
  • Für die Entwicklung von Single-Page-Apps gedacht
  • Entwickelt von Google und dort im Produktiveinsatz
  • Ein Open-Source-Projekt (seit 2009)
  • Eine MVC/MVVM-Framework, das bidirektionales Databinding unterstützt
  • Auf gute Testbarkeit ausgelegt

Was ist Angular?

Angular ist die nächste Version des OpenSource Frameworks AngularJS. Die Code-Basis wurde komplett in TypeScript neu geschrieben. Grundidee und Konzepte des Frameworks sind jedoch identisch geblieben. Dies ermöglicht eine Migration oder sogar einen hybriden Einsatz der Versionen. Der Fokus des Projektes hat sich von der Entwicklung eines Frameworks auf die Entwicklung einer ganzen Plattform für WebAnwendungen erweitert. Aktuell arbeiten über 30 MitarbeiterInnen fest an dem Projekt und werden von hunderten Entwicklern aus der OpenSource-Community unterstützt. Durch die Einführung von Werkzeugen wie dem Kommandozeilenwerkzeug  Angular-CLI können Projekte jetzt noch schneller erstellt und in Produktion überführt werden.

Angular in Stichpunkten

  • Die nächste Version des Frameworks AngularJS
  • Komplette Neuentwicklung des Vorgängers
  • Hat viele Konzepte von AngularJS übernommen
  • Basiert auf der Sprache TypeScript
  • Plattform für die Entwicklung von Web-, Desktop- und Mobile-Anwendungen
  • Wird von einem 30 Personen-starken Team bei Google weiterentwickelt
  • Zielt auf professionelle WebEntwicklung für Enterprise-Anwendungen

Controller versus Komponenten

AngularJS verwendet Scopes und Controllers. Um eine Variable zu definieren, können Sie viele Variablen hinzufügen, die sowohl in View als auch in Controller angezeigt werden. AngularJS hat ein Konzept ähnlich von rootScope. Variablen in rootScope sind in allen Anwendungen verfügbar. Angular jedoch hat kein Konzept von Scope oder Controllern. Anstelle von ihnen verwendet es eine Hierarchie von Komponenten als Hauptarchitekturkonzept. Die Komponente ist eine Direktive mit einer Vorlage, ähnliche wie in ReactJS – einer anderen Bibliothek, die zum Erstellen von Benutzerschnittstellen verwendet wird.

Unterschiede in der Template-Engine

AngularJS hat viele Direktiven und jeder Entwickler kann eine benutzerdefinierte neue Direktive angeben. Angular hat Standard-Anweisungen, die aber auf eine etwas andere Art und Weise verwendet werden. Zum Beispiel: ng-model in AngularJS bedeutet, dass Sie eine bidirektionale Bindung erstellen möchten. Wenn Sie eine unidirektionale Bindung erstellen möchten, sollten Sie ng-bind verwenden. Bei Angular kommt nur das ngModel vor, aber wenn es in: „[]“ gesetzt wird, erhalten Sie eine unidirektionale Bindung. Wenn Sie eine bidirektionale Bindung erstellen möchten, müssen Sie sie in „[()]“ schreiben. Wir müssen es auf diese Weise nutzen, weil „[]“ für die Eigenschaftenbindung verwendet wird und „()“ für die Ereignisbindung verwendet wird. In Angular haben einige Direktiven ihre Namen geändert ng-repeat to ngFor .

Was hat sich sonst noch geändert?

Angular ist die neuere Version und es sind einige Verbesserungen zu sehen. Das erste ist Modularität. Viele Kernfunktionen wurden in verschiedene Module verschoben. Dies führte zu einer leichteren und schnelleren Kernanwendung, dynamischem Laden, einer asynchronen Vorlagenkompilierung und zusätzlicher Unterstützung für reaktive Programmierung. Nach der Beta-Version haben die Ersteller eine wirklich tolle Sache hinzugefügt: angular cli. Mit diesem Paket können Sie ganz einfach ein Gerüst Ihres Angular-Projekts erstellen.

Also AngularJS oder Angular?

Welche Version ist am besten geeignet?  Vor einem neuen Projekt sollten Sie einige Fragen  beantworten:

  • Welche Bibliotheken möchten Sie verwenden?
  • Sind sie mit Angular kompatibel?
  • Welche Webbrowser wollen wir unterstützen? (Das ist wirklich wichtig)

Wenn Sie nur neue Browser auswählen, wäre Angular besser, weil es  zukunftsweisender ist. Aber man sollte nicht die anderen Browser vergessen.

Was ist jetzt der Unterschied zwischen AngularJS, Angular, Angular 2, Angular 4 … ?

AngularJS (oder Angular 1) ist die erste vielverwendete Version des Frameworks gewesen die eine hervorragende Unterstützung im Bereich der Web-Anwendungsentwicklung geboten hatte. Mit dem Wechsel auf die Version 2 hat sich die Sprache des Frameworks von JavaScript zu TypeScript geändert. Weiterhin ist das Ziel von Angular nun eine Plattform für WebEntwicklung zu sein, somit wurde das JS aus dem Namen gestrichen und das Projekt hat ab diesem Zeitpunkt den Namen Angular 2 getragen. Im Frühjahr 2017 hat das Team dann weiterhin die Entscheidung getroffen die Versionen mit dem System SEMVER (Semantic Versioning) zu strukturieren und einem festen Rhythmus für Releases zu definieren. Somit gibt es jetzt nur noch das Projekt Angular welches in einem klar definierten Zeitraum(alle 6 Monate) neue Features und Breaking Changes aufnimmt, was dann ein Versionssprung zur Folge hat.

Sprechen Sie mit EXO IT über Ihr nächsten Projekt mit Angular ! 089 72 402-332