Hat AngularJS nach dem Release 2.0 noch eine Zukunft?

Im Oktober 2014 kündigte das AngularJS-Team auf der ng-europe-Konferenz1) das Release 2.0 zum Ende 2015 / Anfang 20162) an. Laut AngularJS-Team werden die anstehenden Änderungen radikal sein (z.B.: unklare Migrationspfade). Natürlich beschäftigt diese Ankündigung seither die Community. In Foren weltweit werden Fragen wie „What’s going on with AngularJS?“ oder „Should I start an new AngularJS 1.3 project when AngularJS 2.0 looks quite different?“ gestellt und rege diskutiert.

Eine allgemeingültige Aussage, die auf alle Projekte gleichermaßen zutrifft, können wir natürlich nicht treffen. Mit diesem Beitrag möchten wir den heutigen Stand unserer Gedanken und Erfahrungen präsentieren.

Worin liegt die Problematik? Und wie kann dieser begegnet werden?

Das AngularJS-Team verfolgt mit dem Release 2.0 diverse Ziele3) u.a.

  • keine Unterstützung mehr von älteren Versionen des Internet Browsers,
  • mobile Geräte stehen im Fokus des Releases,
  • ES6 wird als neue Basis verwendet,
  • Optimierung der Change Detection sowie
  • die Einführung eines Persistenz-Layers.

Mit dem Release 2.0 wird sich AngularJS deutlich ändern. Laut InfoQ`s David Iffland 4)wird das Erscheinungsbild des Frameworks drastisch erneuert, so dass sich User mit einer neuen Architektur beschäftigen müssen. Laut AngularJS-Team können diese Ziele 5)nur mit solch einem großen Release umgesetzt werden. Kleine inkrementelle Schritte führen laut AngularJS-Team nicht zur geplanten Zielerreichung. Dadurch wird eine Migration von 1.3 auf 2.0 substantiellen Einsatz fordern. Unklar ist bisher, ob die Änderungen so dramatisch sein werden, dass eine Migration nur mit derartig hohem Aufwand zu meistern ist, der einer Neuentwicklung nahe kommt.

Gibt es Alternativen zu AngularJS? Und machen diese überhaupt Sinn?

Für anstehende Projekt muss Wissen aufgebaut werden, wie mit den zu erwartenden Änderungen umgegangen werden soll. Daher drängen sich zunächst folgende Fragen auf:

  • „Gibt es Alternativen zu AngularJS?“
  • „Und wie sind diese zu bewerten?“

Ja, es gibt Alternativen. Beispielsweise könnte ein eigenes Framework erstellt werden. Dies bedeutet jedoch einen zu hohen Aufwand und ist zudem auch noch proprietär. In Betracht käme auch die Nutzung von JSF und GWT. Da diese Technologien jedoch für uns nicht zukunftsweisend sind, sehen wir auch von diesen Alternativen ab. „Last but not least“ könnte eine Reduktion auf jQuery etc. vorgenommen werden. Jedoch entstünden dadurch ebenfalls Framework-Abhängigkeiten und darüber hinaus fehlt das Databinding.

Wie erläutert gibt es Alternativen. Diese scheinen jedoch für unser Projekt, das aktuell in den „Startlöchern“ steht, nicht allzu attraktiv. Daher bleiben wir bei diesem Projekt – wie geplant – bei AngularJS!

Projektspezifische Grundsatzentscheidungen

Wie bereits beschrieben, nutzen wir in einem anstehenden Projekt auch weiterhin AngularJS. Über die Technologie hinaus gibt es noch einige Punkte, die für eine Verwendung sprechen, bspw. ist es positiv zu sehen dass das AngularJS-Team großen Wert auf eine offene und rege Kommunikation legt. Die frühe Ankündigung des Releases bietet die Möglichkeit sich rechtzeitig mit Änderungen zu beschäftigen. Das AngularJS-Team bietet viele Möglichkeiten sich über die Neurungen in AngularJS 2.0 zu informieren und diese zu erlernen, z.B. 6)

Darüber hinaus verfügt AngularJS über eine große Anwenderschaft, eine sehr lebhafte Community und über viele Google Apps (auf Basis von AngularJS 1.x), so dass wahrscheinlich im Laufe des Jahres Migrationswege immer klarer werden.

In unserem Projekt streben wir folgende Vorgehensweise an:

I have no idea, but I think that talking about the possible direction and the risk of a re-write is fair. I think you should go forward into any development with the understanding of the risks and like any dependency, there is inherently a risk here.

oder auch in seinem Beitrag „My thoughts on AngularJS“ 10). Zitat:

I personally like what I’ve seen so far (2.0 is still very early though and may certainly change) and plan to build SPAs in the near term using Angular 1.3. Why? Because it just came out, it gets the job done very well, I don’t want to jump to another framework at this point (who’s to say they won’t be making the move to ES6 as well in the near future to stay relevant?), I have confidence in the AngularJS team, and Angular 1.3 makes me more productive. I’ll definitely be keeping a close eye on Angular 2.0 though over the next year or so as it develops.

  • Wir beobachten aktiv die Entwicklungen AngularJS 2.0 und achten in unserem Projekt auf Migrationsfähigkeiten.
  • Wir halten den Client möglichst einfach.
  • Wir kapseln und separieren Client-Funktionalitäten weitgehend in JacaScript und konzentrieren uns so auf stabilsten Technologien.
  • Wenn möglich minimieren wir Abhängigkeiten zu AngularJS
  • Anfang 2016 entscheiden wir, ob der Client aus unserem Projekt auf AngularJS 2.0 migiert oder umgeschrieben werden soll.

Fazit

Wichtig ist – sich die getroffenen Entscheidungen ständig zu vergegenwärtigen, gemeinsam hinter diesen Entscheidungen zu stehen und diese zu leben. AngularJS ist eines der beliebtesten Webframeworks, die es zurzeit gibt. Trotz der zukünftigen Unsicherheiten, die sich mit dem Release 2.0 ergeben werden, haben wir uns in diesem Projekt für AngularJS entschieden. Wir wissen, dass wir den Wandel sowie die möglichen Migrationspfade stets im Blick behalten müssen – nur so kann der Erfolg des Projektes gewährleistet werden. Mit all diesem Wissen schauen wir gespannt auf den Fortgang unseres Projektes.

Links   [ + ]

1. http://ngeurope.org/
2. http://jaxenter.com/angular-2-0-112094.html
3. https://angularjs.de/blog/angularjs-2-0-vorschau
4. http://www.infoq.com/news/2014/10/angular-2-atscript?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global
5, 6. http://angularjs.blogspot.de/2014/10/ng-europe-angular-13-and-beyond.html
7. https://www.youtube.com/channel/UCEGUP3TJJfMsEM_1y8iviSQ
8. https://accounts.google.com/ServiceLogin?service=wise&passive=1209600&continue=https%3A%2F%2Fdrive.google.com%2F%3Furp%3Dhttp%3A%2F%2Fangularjs.blogspot.de%2F2014%2F10%2Fng-europe-ang%23folders%2F0B7Ovm8bUYiUDR29iSkEyMk5pVUk&followup=https%3A%2F%2Fdrive.google.com%2F%3Furp%3Dhttp%3A%2F%2Fangularjs.blogspot.de%2F2014%2F10%2Fng-europe-ang&ltmpl=drive&emr=1
9. http://wildermuth.com/2014/10/29/It_Is_Too_Soon_to_Panic_on_AngularJS_2_0
10. http://weblogs.asp.net/dwahlin/my-thoughts-on-angularjs-1-3-and-2-0

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.