Lernen: Angular vs React / Ionic vs React Native

grabowashion

Ensign
Registriert
Sep. 2018
Beiträge
245
Hallo zusammen,
habe hier vor 2 Wochen geschrieben, da ich mir unsicher war, womit ich anfangen soll.
Ich will mit WebApp-Development und MobileApp-Development anfangen, habe aber noch nie etwas in Javascript geschrieben, nur ein paar Videos angeschaut. Also, bin fast ein kompletter Noob zu dem Thema.

Habe gemerkt, dass ich bei meinem aktuellen Job viel mit MobileApp-Development erreichen könnte habe mich entschieden in die Richtung zu gehen.
Habe mich für JavaScript entschieden, da ich irgendwann auch WebApps entwickeln möchte. Obwohl Python und viele weitere Programmiersprachen auch ziemlich verbreitet sind, habe ich mich doch für etwas in JavaScript-Richtung entschieden.

Meine Fragen...
1. Was ist besser für Web-Development, Angular oder React?
2. Was ist besser für Mobile-Development, Ionic oder React Native?
3. Sind Angular und Ionic bzw. React und React Native ähnlich wenn's um Syntax und "Ablauf" geht?
4. Muss ich zuerst einen Beginner-Tutorial abschließen um mit so einem Framework anzufangen, oder lernt man es "neben bei"?
5. Da ich nur mithilfe YouTube-Videos und diverse Forums lernen werde, wozu gibt's mehr Tutorials?

Mein Kumpel hat mir Angular und Ionic vorgeschlagen, da er damit arbeitet und sagte, dass man damit wirklich viel machen kann.
Mit React und React Native hat er nicht viel Erfahrung, deshalb konnte er mir nicht viel dazu sagen.
Da aber React/React Native bei Reddit und StackOverflow mehr populär ist, wollte ich fragen, ob die zwei Sachen für Web- bzw. Mobile-Development besser wären?

Danke euch im voraus!
 
Ich halte mich mal kurz :)

Wenn ich unbefleckt wäre, dann würde ich heute nicht mehr mit Angular anfangen. Früher war Angular toll und definitiv den meisten Frameworks überlegen. Seit dem Wechsel von JavaScript hin zu TypeScript finde ich es aber zu komplex und teilweise auch zu umständlich. Ich würde mir einfach mal React und Vue anschauen. Die gehen beide gut von der Hand und lassen sich definitiv schneller lernen. WebApps kannst du aber mit allen bauen ...
 
blablub1212 schrieb:
Ich halte mich mal kurz :)

Wenn ich unbefleckt wäre, dann würde ich heute nicht mehr mit Angular anfangen. Früher war Angular toll und definitiv den meisten Frameworks überlegen. Seit dem Wechsel von JavaScript hin zu TypeScript finde ich es aber zu komplex und teilweise auch zu umständlich. Ich würde mir einfach mal React und Vue anschauen. Die gehen beide gut von der Hand und lassen sich definitiv schneller lernen. WebApps kannst du aber mit allen bauen ...

Danke!
Du würdest also sagen, React wäre einfacher zum "Einsteigen ins Web-Development"?
Gibt es irgendwie große Nachteile im Vergleich zu Angular?
Und, hast Du eventuell Infos über Ionic vs React Native? Ich würde sogar mit einem Mobile-Framework anfangen, weil ich zuerst eine Mobile-App bauen möchte. Weiß aber gar nicht, ob das sinnvoll ist? Danke!
 
blablub1212 schrieb:
Seit dem Wechsel von JavaScript hin zu TypeScript finde ich es aber zu komplex und teilweise auch zu umständlich.
Da gehen die Meinungen schnell auseinander :D Ich schreibe alles nur noch in TypeScript, egal ob Angular, React oder sonstwas. Klar ist es erst mal mehr Arbeit, aber ich finde der Nutzen überwiegt den Aufwand.

Ich kann mich allerdings auch nicht zwischen den 3 Frameworks entscheiden. JSX / TSX in React ist schon eine sehr schöne Sache und bietet extrem viele Möglichkeiten, die man hin und wieder in Angular vermisst. Aber hier gilt natürlich: "with great power comes great responsibility". Man kann damit auch riesengroßen Mist bauen :D

Angular hat sicherlich zu Beginn erst mal eine steilere Lernkurve, aber danach ist es ein sehr angenehmes Framework, das von Haus aus schon genügend Komponenten mitbringt, um alles Mögliche damit anzustellen. Bei React muss man sich da großzügig aus Drittanbieterquellen versorgen. Große Vielfalt, aber hin und wieder geht's auch nach hinten los, wenn sich der Entwickler plötzlich dazu entscheidet Version 2.0 rauszubringen und keinen Upgrade Pfad mitliefert - oder das Projekt ganz einstellt. Bei Angular bekommt man alles aus einer Hand und weil es von Google selbst in haufenweise Projekten benutzt wird, gibt es dort solche Probleme eher nicht. Zum Teil werden sogar Skripte mitgeliefert, die deinen Code automatisch an eine neuere Version anpassen.

Vue ist in Sachen Webentwicklung da schon irgendwie der aufstrebende Stern am Horizont. Es vereint viele Vorteile von React und Angular. Leider komme ich damit beruflich sogut wie nie in Berührung und privat hab ich dann auch noch andere Hobbys :D

Allerdings hast du ja noch einen Joker: Ein erfahrener Ansprechpartner ist oft von sehr großem Nutzen.
 
benneq schrieb:
Da gehen die Meinungen schnell auseinander :D Ich schreibe alles nur noch in TypeScript, egal ob Angular, React oder sonstwas. Klar ist es erst mal mehr Arbeit, aber ich finde der Nutzen überwiegt den Aufwand.

Ich kann mich allerdings auch nicht zwischen den 3 Frameworks entscheiden. JSX / TSX in React ist schon eine sehr schöne Sache und bietet extrem viele Möglichkeiten, die man hin und wieder in Angular vermisst. Aber hier gilt natürlich: "with great power comes great responsibility". Man kann damit auch riesengroßen Mist bauen :D

Angular hat sicherlich zu Beginn erst mal eine steilere Lernkurve, aber danach ist es ein sehr angenehmes Framework, das von Haus aus schon genügend Komponenten mitbringt, um alles Mögliche damit anzustellen. Bei React muss man sich da großzügig aus Drittanbieterquellen versorgen. Große Vielfalt, aber hin und wieder geht's auch nach hinten los, wenn sich der Entwickler plötzlich dazu entscheidet Version 2.0 rauszubringen und keinen Upgrade Pfad mitliefert - oder das Projekt ganz einstellt.

Vue ist in Sachen Webentwicklung da schon irgendwie der aufstrebende Stern am Horizont. Es vereint viele Vorteile von React und Angular. Leider komme ich damit beruflich sogut wie nie in Berührung und privat hab ich dann auch noch andere Hobbys :D

Allerdings hast du ja noch einen Joker: Ein erfahrener Ansprechpartner ist oft von sehr großem Nutzen.
Danke Dir auch!
Hättest Du eventuell auch Erfahrung/Infos über Mobile Development? Ich wollte eine Mobile-App entwickeln und dabei lernen, natürlich Tutorials anschauen etc.
Und ja, soll ich gleich mit Angular anfangen, oder wäre es besser mit einem kompletten Beginner Tutorial für HTML/CSS/JS anzufangen? Oder lernt man es beim Lernen von einem Framework?
 
blablub1212 schrieb:
Wenn ich unbefleckt wäre, dann würde ich heute nicht mehr mit Angular anfangen. Früher war Angular toll und definitiv den meisten Frameworks überlegen. Seit dem Wechsel von JavaScript hin zu TypeScript finde ich es aber zu komplex und teilweise auch zu umständlich.
Sorry, kann ich als Angular-nutzender nicht nachvollziehen.

TypeScript ist generell eine Bereicherung für Webdevelopment:
  • Man sieht durch das Typing sehr viele Fehler direkt beim Schreiben und nicht erst später beim ausführen -> deutlich weniger Bugs, die erst aufwändig gefunden/gefixed werden müssen.
  • Autovervollständigung
  • nette Features, die man mit reinem javascript nicht hat

Ich würde TypeScript auch ohne Angular nutzen.

Was ist umständlich?


Zu Angular: Angular ist komplex - ja.
Aber:
Angular lehrt einem direkt das Benutzen von diversen Design Patterns und Best Practices, die man sonst einfach nicht kennen würde -> gerade als Anfänger wichtig, macht es aber auch komplex, weil es schon viel ist.
Man wird praktisch an der Hand genommen, aber letztendlich kannst du trotzdem quasi alles machen.
Mit Vue hat man das z.B. nicht (habe ich mir sehr oft sagen lassen) -> man tendiert gerade als Anfänger kauderwelsch zu machen und begeht unnötig Fehler.

grabowashion schrieb:
Und ja, soll ich gleich mit Angular anfangen, oder wäre es besser mit einem kompletten Beginner Tutorial für HTML/CSS/JS anzufangen? Oder lernt man es beim Lernen von einem Framework?
Also, wenn Angular, dann wohl TypeScript (und implizit damit JavaScript).
Aber ich denke das ist definitiv eine gute Idee, denn mit Angular wirst du sonst gar nicht mehr hinten und vorne wissen ;)
 
Es gibt bei den beiden genannten Frameworks kein "besser". Es ist eben "anders".

React kümmert sich in erster Linie um die Darstellung der Webseite. Was den Code im Hintergrund angeht, bist du weitestgehend frei.
Angular hingegen ist ein Framework, welches sowohl die Darstellung, als auch den dahinterliegenden Code betrifft. In einem Angular Projekt sollten deine Komponenten sich an eine gewisse Struktur halten. Es wird also einiges durch das Framework vorgegeben.
So bietet Angular beispielsweise von Haus aus ein eigenes Dependency Injection Konzept, einen HttpClient, Internationalisierungsmöglichkeiten, Routing, Animationen, Pipes, Direktiven und bestimmt noch ein paar andere Dinge, die mir spontan nicht einfallen.

Wenn du Angular nutzen möchtest, wirst du neben Angular auch noch rxjs lernen müssen. Daher ist die lernkurve wohl erstmal steiler als bei React.
 
@new Account() ,
wie beim letzten Mal, auch jetzt vielen lieben Dank für die Infos. :-)
Ich würde den Angular Pfad gehen, da ich unter anderem auch meinem Kumpel ein paar Fragen stellen könnte.
Nur ja, wenn's um Typescript Tutorial geht, soll ich dennoch HTML/CSS/JS durchgehen oder muss ich das nicht unbedingt machen?
Typescript Tutorial auf YouTube dauert ca. 1 Stunde. Weiß deshalb nicht, ob das wirklich ein "komplettes" Beginner Tutorial, da mir das irgendwie zu kurz ist, im Vergleich zu Frameworks-Tutorials.

Und ja, hast Du eventuell Infos/Erfahrungen zu Mobile-Development, in diesem Fall Ionic?

@Nafi ,
rxjs sagt mir nichts bzw. habe noch nichts darüber gehört/gelesen. Habe gerade gegoogelt, ist mir aber auch nicht ganz zu 100% klar, was das genau ist. Eventuell ein Tipp/Info?
Hättest Du eventuell auch Infos zu Mobile-Development? Ionic wäre mein Denken, aber tja.. Danke!
 
Rxjs ist ein js/ts Framework, welches das Observable pattern verwendet um und den Umgang mit asynchronen Funktionsaufrufen zu vereinfachen. Dabei kommen auch aspekte der funktionalen Programmierung zum Einsatz.
Viele Objekte in Angular nutzen diese Observables aus rxjs und ist daher recht eng mit rxjs verdrahtet. Es besteht zwar die möglichkeit, ein Observable zum Promise zu machen, damit gehen aber die vielen Vorteile von rxjs verloren und ist daher meiner Meinung nach nicht empfehlenswert. Allenfalls für den Anfang, wenn man Promises schon kennt und sich (noch) nicht mit rxjs beschäftigen möchte.

IONIC kenne ich. Habe mal eine kleine App entwickelt und bei google/Apple veröffentlicht. Funktioniert recht gut. Ist allerdings mit recht hohem Aufwand verbunden alles. Im Grunde ist IONIC nur eine Erweiterung von Angular. Alles was IONIC mitbringt ist die CLI, die Cordova Integration sowie die IONIC Komponenten, welche dann je nach Betriebssystem anders aussehen.
 
  • Gefällt mir
Reaktionen: grabowashion
@Nafi ,
Danke. Ist mir das aber beim Anfang schon notwendig? Oder kommt das automatisch mit vielen Tutorials, dass es installiert werden soll?
Und ja, nur noch eine Sache und dann wäre ich wahrscheinlich durch.. :-)
Soll ich ein HTML/CSS/JS Tutorial durchgehen, oder kann ich gleich mit Typescript / Angular anfangen?
HTML wären 1.5-2 Stunden, CSS 1-1.5 Stunden, JS 3 Stunden.
Soll ich das machen und erst dann mit TypeScript, anschließend mit Angular anfangen?
 
HTML und CSS Tutorial klingt sinnvoll.
Vom Klassischen Javascript wirst du im Angular Zusammenhang nicht viel merken. Viele der Eigenheiten/Nachteile von Javascript sind durch Typescript und das Angular Komponentenkonzept nicht relevant. Es schadet natürlich nicht plain Javascript zu können, zwingend notwendig ist dies meiner Meinung nach für den Anfang jedoch nicht.
 
  • Gefällt mir
Reaktionen: grabowashion
grabowashion schrieb:
HTML wären 1.5-2 Stunden, CSS 1-1.5 Stunden, JS 3 Stunden.
Soll ich das machen und erst dann mit TypeScript, anschließend mit Angular anfangen?
Schau dir am Besten alles davon erst mal in Ruhe an. Je mehr vorher bekannt ist, desto besser. Schaden kann's nicht ;)

CSS könnte man auch hinten anstellen, wenn man erst mal hauptsächlich Wert auf Funktionalität legt und das Aussehen dabei egal ist.

Meiner Meinung nach ist JavaScript / TypeScript und natürlich das Framework selbst am Wichtigsten. Dank der Frameworks arbeitet man am Ende eh zu 99% mit den mitgelieferten Komponenten und ein paar "div" und "input" Elementen.
 
  • Gefällt mir
Reaktionen: grabowashion
Ich würde raten die Finger von einem Framework lassen, bei keinen Programmierkenntnissen oder speziell Javascript-Kenntnissen. Das einarbeiten in ein Framework bringt dir herzlich wenig, wenn du die Techniken dahinter nicht verstanden hast. Das wird dann ein einziges Auswendig lernen von in Tutorials vorgegebenen Arbeitsschritten.

Wenn du lernen möchtest, lerne die Sprache ohne jegliche Hilfsmittel. Closures, Promises, etc .. sind Javascript typische Fallstricke, die erstmal verinnerlicht werden müssen, bevor man diese einsetzen kann.
 
Tokolosh schrieb:
Das einarbeiten in ein Framework bringt dir herzlich wenig, wenn du die Techniken dahinter nicht verstanden hast. Das wird dann ein einziges Auswendig lernen von in Tutorials vorgegebenen Arbeitsschritten.

Wenn du lernen möchtest, lerne die Sprache ohne jegliche Hilfsmittel. Closures, Promises, etc .. sind Javascript typische Fallstricke, die erstmal verinnerlicht werden müssen, bevor man diese einsetzen kann.
Er kann sich die Techniken trotzdem (direkt oder später - wie es ihm gefällt) aneignen ;)
grabowashion schrieb:
HTML wären 1.5-2 Stunden, CSS 1-1.5 Stunden, JS 3 Stunden.
Soll ich das machen und erst dann mit TypeScript, anschließend mit Angular anfangen?
Klingt nach einem soliden Plan.
 
  • Gefällt mir
Reaktionen: grabowashion
Hätte noch eine Frage.. Ist ein Angular 6 Tutorial immer noch aktuell für die neueste Angular Version?
Ich wollte hiermit lernen, weiß aber nicht, ob das noch passt. Danke!
 
Quasi aktuell - gibt ein paar feine Unterschiede, sind aber für dich weitestgehend uninteressant.
Gerade aktuell ist Angular 8.
 
  • Gefällt mir
Reaktionen: grabowashion
Derzeit ist Angular 8 aktuell. Alle 6 Monate kommt eine neue Version raus.

Ich fand dieses Angular Tutorial recht hilfreich. Am Anfang muss man TypeScript noch nicht können, da er das auch anschneidet und immer wieder beim Code erklärt welche Funktionen aus Angular und welche aus TypeScript kommen.

https://www.udemy.com/the-complete-guide-to-angular-2/
Er updatet das Tutorial immer auf die neuste Angular Version.
 
  • Gefällt mir
Reaktionen: grabowashion
Seit Angular 6 ist die API des Frameworks ziemlich stabil. Da haben sich in der Zwischenzeit nur Kleinigkeiten geändert. Auch mit Angular 9 im Oktober/November wird das so bleiben. Da gibt's hauptsächlich Änderungen unter der Haube. Als Entwickler kriegst du davon im Optimalfall nichts mit.
 
Man, man, man.
Wenn ich das hier teilweise so lese (man braucht kein Javascript mehr etc.), kommt mir dieses Real Programmers don't use Pascal Essay in den Sinn. :-)
 
Zuletzt bearbeitet:
Zurück
Oben