Seit März arbeite ich als Frontend Webentwickler / Werkstudent und bin nun schon einige Zeit mit Angular 1 in Kontakt. Meinen Angular Skill würde ich dabei inzwischen als „mmmjoaa“ bezeichnen. Trefflicherweise kann ich diesen auch beim Ionic Framework gebrauchen. Jetzt lese ich immer öfter, dass es sich lohnt auf Angular 2 umzusteigen. Und auch das sich in der Beta befindende Ionic 2 wird auf Angular 2 aufbauen. Lohnt sich der Umstieg also? Ich möchte mir heute einige solche Fragen beantworten.
tl;dr: Ich bleibe erst mal bei Angular 1 bis Ionic 2 voll released wurde.
Was macht Angular 2 anders/besser?
Bei Angular 1 freuten sich die Entwickler weltweit über die erste sehr gute Lösung für Single Page Applications. Angular 2 baut von der Idee her darauf auf und denkt dabei an die Zukunft.
Angular 2 setzt nun auf Typescript, statt reinem Javascript. Typescript ist eine Erweiterungssprache von Javascript und wartet mit Features, wie strikter Typisierung, Klassen und Interfaces, auf. Ein Compiler übersetzt Typescript dann jedoch wieder in Javascript. Typescript trägt zur Wartbarkeit und Struktur bei, vor Allem bei größeren Projekten.
Angular 2 baut auf ECMAScript 6 auf und hat auch hiermit wieder ein Auge auf die Zukunft. Man muss sich also keine Gedanken machen, dass die beiden nicht miteinander kooperieren, Momentan laufen die meisten Browser aber noch mit 5.1.
Mit Angular 2 erscheint ein Kommandozeilentool (ng-cli), das so ähnlich wie bei Rails Projekte generieren kann. So bekommt jeder Entwickler gleich eine Strukturkonvention an die Hand und es macht nicht jeder was anderes, wie es bei Angular 1 der Fall war.
Angular 2 ist mobile-oriented. Das heißt viele Dinge. Wie zum Beispiel, dass andere Klassen auf Bedienelemente angewendet werden, wenn eine Seite von einem Smartphone aufgerufen wird.
Angular 2 ist performanter.
Diese Liste geht ewig weiter und wird vor Allem sehr technisch, doch für mich reicht das erst mal.
Wie leicht ist es Probleme zu googeln?
Da Angular 2, wie mir nicht bekannt war, schon im September erschienen ist, lassen sich Probleme leicht googeln. Auch lebhafte Communities finden sich rund um Angular 2.
Wie lange wird Angular 1 noch relevant bleiben? Was ist mit Ionic 1?
Momentan wird Angular 1 sogar noch weiterentwickelt. Vermutlich in Richtung Angular 2, sodass der Umstieg noch leichter wird. Außerdem müssen alte Angular Projekte immer noch gewartet werden. Man kann also sagen, dass Angular 1 noch bestimmt 2-3 Jahre relevant bleiben wird. Mit Ionic verhält es sich ähnlich.
Wie schwer ist der Umstieg?
Ziemlich schwer. Viele versuchen es klein zu reden, doch in Angular 2 muss man sehr viel neu lernen. Es finden sich zwar alte Konzepte hier und da wieder und wer schon mal eine objektorientierte Sprache programmiert hat, tut sich etwas leichter. Doch reines Angular 1 Wissen ist nicht so hilfreich wie man denken könnte. Für den Umstieg braucht es also einiges an Lernzeit.
Fazit
Wenn du jetzt gerade überlegst ob du Angular 1 oder Angular 2 lernen sollst, ziemlich gut in Javascript bist und schon mal eine Sprache wie Java oder C# gelernt hast, nimm Angular 2. Ansonsten fang mit Angular 1 oder gar React an.
Wenn du jetzt gerade überlegst ob du mit Ionic 1 oder Ionic 2 anfangen sollst, nimm Ionic 1. Mit Ionic 2 würde ich auf den Release warten. Es sei denn du bist gut in Angular 2, dann natürlich Ionic 2.
Das ist natürlich nur meine Meinung und diese richtet sich auch stark nach dem Zeitstempel Dezember 2016. Google gerne selber mal nach. Und am Ende des Tages, nimm einfach irgendwas und fang an! 😉
Quellen:
https://www.quora.com/What-is-the-difference-between-AngularJs-and-Angular-2
https://splintercode.github.io/is-angular-2-ready/
https://www.quora.com/Should-I-begin-to-learn-Ionic-Angular-2-0-or-1-0
“Angular 2 wird sein ganzes Potential wohl erst in einigen Jahren entfalten können”
Nächste Woche werde ich mir trotzdem mal ansehen, wie schwer es ist ein Ionic 2 Projekt anzulegen. Bis dann!
*geht Calzone essen*