Lernen - Hybrid oder Native Mobile App für meine Herausforderung?

grabowashion

Lt. Junior Grade
Registriert
Sep. 2018
Beiträge
262
Guten Tag zusammen,
ich habe hier schon vor einigen Monaten geschrieben und zahlreiche Antworten bekommen, möchte mich aber noch einmal informieren, da ich endlich mit dem Lernen anfangen möchte.
Mein Job macht mir jeden Tag "weniger" Spaß, da es nicht modern ist und deshalb will ich etwas neues/anderes lernen/machen.
Mein Plan ist, irgendwann aus Home-Office arbeiten zu können, was als Programmierer nicht unbedingt ein Problem ist.

Ich arbeite seit 5 Jahren mit einer ERP Software, kann SQL und Pascal, verstehe die Logiken und habe diverse Masken/Ansichten mit den "internen" ERP-Software Anpassungsmodulen eingerichtet.
Habe ein bisschen Ahnung über HTML/CSS, jedoch habe ich mich damit nicht tiefer beschäftigt.
Habe mir vor ein paar Monaten einen Javascript-Kurs bei udemy gekauft, jedoch gar nicht angefangen. Erstens weil ich keine Zeit hatte, zweitens weil ich nicht wusste, ob ich das künftig machen möchte.

Nun habe ich mich (hoffentlich gut) entschieden.
Ich möchte gleich mit einer "zielführenden" App anfangen, da ich weiß, was daraus am Ende entstehen soll. Deshalb denke ich, dass ich damit alles besser verstehen/lernen werde.

Ich möchte eine Mobile-App bauen, wo ich Daten aus der ERP-Software anzeigen und eventuell bearbeiten kann.
Also, Kundendaten, Belege, etc. Nach Änderung dann auch wieder zurück in die ERP-Software schicken.
Eventuell auch ein paar Diagramme anzeigen.

Was passt hierfür am meisten?
Ich habe schon Erfahrung mit XML- und CSV-Dateien, da ich das für den Datenimport in die ERP-Software verwendet habe.

Ich habe das HIER schon gelesen und es hat mir schon etwas gebracht, aber was passt für meinen Ziel "besser"?
  • Können beide (Hybrid und Native) Apps Daten verarbeiten/anzeigen/absenden?
  • Müssen hierfür XML/CSV Dateien erstellt werden oder geht das in Echtzeit auch? Also nicht asynschron, da Dateien vielleicht alle 5 Minuten und nicht alle paar Sekunden bzw. bei jeder Änderung erstellt/verarbeitet werden?
  • was ist einfacher zu lernen? Hybrid oder Native?
  • wenn Hybrid, Ionic oder React Native? Oder etwas anderes?
  • wenn Native, Kotlin und Swift? Oder Java? Oder Flutter? Oder sogar noch etwas anderes/besseres?

Ich werde schon Zeit brauchen, um das ganze zu lernen und verstehen, deshalb tendiere ich eher zu einer Hybrid App, da ich hier nicht unbedingt zwei unterschiedliche Programmiersprachen lernen muss, aber was denkt ihr?
Ist eine Native-App so viel besser als Hybrid? Oder für diesen Zweck?

Folgendes ist mir auch wichtig..
Falls ich mein Unternehmen verlassen sollte, wo finde ich am besten/einfachsten einen Job? Was ist in Deutschland gefragt? Was ist zukunftssicher? Wir haben keine Glaskugel, ja, aber was denkt ihr? Was ist/wird gefragt sein?


Sorry für den langen Text, aber wenn jemand mal ein Vorschläg hätte, wäre ich sehr dankbar.
Ich werde in den nächsten Wochen Zeit haben und möchte diese in meine Kenntnisse "einsetzen".

Besten Dank und schönen Tag euch!
 
Ich glaube du willst zu viel auf einmal. Du hast noch nichtmal angefangen und schreibst quasi schon Bewerbungen. Fang erstmal an und schau ob es dir überhaupt liegt, oder schau dir mal sowas 1-2 Tage in einer Softwareschmiede an. Reale Projekte sind meist von der Komplexität sehr weit weg von dem was man mal ebenso nebenher macht.

Fang erstmal an eine Sprache zu lernen. Ob Onlinekurs, Offlinekurs oder mit einem Buch ist erstmal egal. Wenn du keine/wenige Vorkenntnisse hast wird dir einiges Fehlen wenn du direkt mit einem eigenen Projekt startest.
Bei einem Kurs/Buch hast du die Lösungen/Beispiele, die zeigen wie es richtig geht und dir helfen die Zusammenhänge zu verstehen.

Das fängt damit an, wie Plane ich mein Projekt(welche Sprache, welches Frontend, Aufbau/GUI Design, welche Schnittstellen brauche ich,...). Oder auch was sind Objekte, Methoden, Funktionen, etc..
Dokumentation, Testpläne erstellen und das Testen und Debuggen ansich sind auch große Baustellen.

Danach kannst du dann mit einem eigenen Projekt anfangen. Welche Sprachen, Frontends und Schnittstellen du dafür nutzen kannst kann dir hier keiner sagen. Das musst du dir dann für dein Projekt selbst festlegen/entscheiden. Bzw, bist du auf die Schnittstellen deiner vorhanden ERP Software angewiesen. Bzw. bietet diese überhaupt eine geeignete Schnittstelle oder geht man direkt auf die Datenbank? Ist die Software/Datenbank überhaupt darauf ausgelegt mit einer Drittapplikation zu kommunizieren. Und niemals an einem Produktivsystem entwickeln(Datenverluste, Ausfallzeiten, etc.).
 
Hi,

Falls ich mein Unternehmen verlassen sollte, wo finde ich am besten/einfachsten einen Job? Was ist in Deutschland gefragt? Was ist zukunftssicher? Wir haben keine Glaskugel, ja, aber was denkt ihr? Was ist/wird gefragt sein?

ähm...als was denn genau? Als "angehender Entwickler ohne Berufserfahrung und größere Kenntnisse"?

VG,
Mad
 
@rocketworm
dies werde ich auch machen. Es ist halt nur die Frage, welchen Kurs ich bei Udemy buchen soll. Im YouTube gibt es natürlich auch welche (kostenlos), ich bin mir halt unsicher, was als Anfänger besser/einfacher ist. Also, Hybrid oder Native.

@Madman1209
vielleicht kam es so rüber, war aber nicht so gemeint, wie du es sagst. Mein Plan ist es sowieso, zuerst einige Monate das ganze zu lernen und etwas eigenes zu entwickeln. Und dann, ich sag mal nach 9+ Monaten schauen wo ich bin und ob das passt bzw. ausreichend für einen Job ist.
Ich möchte halt nur gleich mit der "richtigen" Programmiersprache anfangen und möchte nicht, dass ich nach 6 Monate merke/sage "okay, das war jetzt nix, ich muss wieder von vorne anfangen".
 
Hi,

war auch nicht böse gemeint, war nur interessehalber

Ich möchte halt nur gleich mit der "richtigen" Programmiersprache anfangen und möchte nicht, dass ich nach 6 Monate merke/sage "okay, das war jetzt nix, ich muss wieder von vorne anfangen".

es gibt kein "richtig" oder "falsch". Es gibt vielleicht das passende Werkzeug für die gestellte Aufgabe. Aber solange du nicht auf ein völlig veraltetes Sprachkonzept setzt ist es nicht "falsch" oder "richtig".

Mein Plan ist es sowieso, zuerst einige Monate das ganze zu lernen und etwas eigenes zu entwickeln. Und dann, ich sag mal nach 9+ Monaten schauen wo ich bin und ob das passt bzw. ausreichend für einen Job ist.

willst du "nur" selbst lernen? Keine Ausbildung oder Studium in die Richtung?

VG,
Mad
 
  • Gefällt mir
Reaktionen: rocketworm
@Madman1209
ich möchte nur selbst lernen, da ich der Meinung bin, dass ich mich auf diesem Weg viel mehr bemühen werde als irgendwo in einer Schule/ähnliches.
Ich werde schon Udemy-Kurse buchen. Wie schon gesagt, habe ich ein 44Std JavaScript-Kurs gebucht, leider noch nicht angefangen, da ich mir halt einfach unsicher war und bin immer noch.

Eigentlich stellt sich im Endeffekt nur die Frage, ob eine Hybrid-App für meinen Zweck genauso gut funktionieren kann wie eine Native-App. Außerdem muss ich für die Hybrid-App nicht unbedingt zwei Sprachen lernen.
Wenn ja, muss ich JavaScript sowieso durchgehen, bevor ich mit Frameworks anfange.
Ich denke, dass ich mit JavaScript sowieso keinen Fehler mache, da dies die Basis für Hybrid ist (denke ich).
Aber wenn etwas anderes noch besser ist, warum denn nicht gleich damit anfangen.

Ich bin halt 26, also nicht zu jung nicht zu alt um etwas neues anzufangen, möchte aber, wenn möglich, "gut" anfangen.
Ich werde noch recherchieren, aber irgendwelche Tipps sind natürlich sehr hilfreich.
 
Ich denke auch, dass du viel zu viel auf einmal willst. Wenn du kein JavaScript kannst, wirst du React nicht verstehen. Wenn du React nicht verstehst, wirst du ReactNative nicht verstehen. Wenn du kein HTML kannnst, fehlen dir die Grundlagen um zu verstehen, wie CSS funktioniert bzw. JavaScript im Browser. Und wenn du kein CSS kannst, hast Probleme, das Styling in ReactNative zu verstehen.

Hinzu kommen dann noch die speziellen Herausforderungen bzgl. des ERP. Wird diese per Restful API angesprochen? Dann musst du das auch noch lernen. Dazu wäre es allerdings äußerst hilfreich, die Hintergründe zu verstehen, wie eine solche funktioniert. Heißt also z.B. in PHP und MySQL mal eine eigene API programmieren.

Übrigens würfelst du bei deiner Auflistung oben auch noch einiges durcheinander.
 
Hi,

ich möchte nur selbst lernen, da ich der Meinung bin, dass ich mich auf diesem Weg viel mehr bemühen werde als irgendwo in einer Schule/ähnliches.
Ich werde schon Udemy-Kurse buchen. Wie schon gesagt, habe ich ein 44Std JavaScript-Kurs gebucht, leider noch nicht angefangen, da ich mir halt einfach unsicher war und bin immer noch.

und wie weist du deine Qualifikation und / oder dein Können nach? "Redliches Bemühen" interessiert mich als Einsteller mit einem Stapel an Bewerbungen nicht. Da braucht es handfeste Nachweise. Wie willst du das machen?

VG,
Mad
 
@Tourgott
Danke. Aber jetzt mal eine Frage.. Das was ich geschrieben habe - das ist alles mit React Native möglich?
Natürlich muss ich HTML / CSS / JS / React / ReactNative / Restful API lernen. Und ich weiß, dass es ein langer Weg ist, aber dann ist es mindestens der richtige weg.
Ich möchte nicht bspw. HTML, CSS, und JS lernen und dann merken, dass es doch nicht passt und dann mit Kotlin von vorne anfangen.
Ich frage mich halt nur, wenn ich schon in Richtung ERP mit Mobile Apps gehen möchte, was kann die Native App so viel besser als eine Hybrid App?

@Madman1209
würde mit einigen App-Beispielen, die ich selber entwickelt habe, versuchen. Ich kenne so viele Leute, die als Programmierer arbeiten aber nie so eine Ausbildung/Schule besucht haben.
Deshalb bin ich der Meinung, dass ein praktisches Beispiel viel bedeuten kann, auch wenn man kein "dr.mr. Programmierer" ist.
 
Hi,

würde mit einigen App-Beispielen, die ich selber entwickelt habe, versuchen. Ich kenne so viele Leute, die als Programmierer arbeiten aber nie so eine Ausbildung/Schule besucht haben.

ich bin jetzt seit gut 15 Jahren in der Branche tätig und kenne keinen Einzigen. Zumindest nicht in Unternehmen, die mit Softwareentwicklung Geld verdienen. Als "Freelancer" vielleicht, aber meine persönliche Erfahrung mit solchen "Profis" ist erschreckend negativ.

Jemand, der mit einer App ankommt und einen Job als Softwareentwickler möchte würde ich galant wieder durch die Türe hinausgeleiten.

Deshalb bin ich der Meinung, dass ein praktisches Beispiel viel bedeuten kann, auch wenn man kein "dr.mr. Programmierer" ist.

obwohl ich den Unterton "dr.mr. Programmierer" nicht wirklich schätze: bei den Unternehmen, die ich von innen gesehen habe, wärst du damit nicht mal in ein Vorstellungsgespräch eingeladen worden. Es geht bei einem "Dr.Mr. Programmierer" auch nicht nur darum, irgendwie lauffähigen Code zu erzeugen. Teamarbeit, CI, moderne Pattern, Test-Driven-Development - das sind alles Dinge, die du lernst, wenn du es richtig lernst.

Das sind Dinge, die erwarte ich bei einer Bewerbung von jemandem, der eine Ausbildung zum Softwareentwickler anfangen möchte - aber bei einem echten Softwareentwickler muss da deutlich mehr kommen als ein paar Apps.

VG,
Mad
 
Madman1209 schrieb:
und wie weist du deine Qualifikation und / oder dein Können nach? "Redliches Bemühen" interessiert mich als Einsteller mit einem Stapel an Bewerbungen nicht. Da braucht es handfeste Nachweise. Wie willst du das machen?
Firmen suchen Aufgrund des Fachkräfte Mangels immer mehr nach Quereinsteigern für Software-Entwickler. Ich hatte da kürzlich erst nen spannenden Artikel dazu gelesen. Finde den leider gerade nicht wieder. Aber ein ähnlicher, wesentlich kürzerer Artikel von Heise dazu:
https://www.heise.de/newsticker/mel...nis-so-viel-wert-wie-ein-Studium-4550574.html
 
grabowashion schrieb:
Danke. Aber jetzt mal eine Frage.. Das was ich geschrieben habe - das ist alles mit React Native möglich?

Ohne jetzt die genauen Anforderungen zu kennen, würde ich sagen, ja. Ich würde behaupten, dass im Bereich der Produktiv-Apps (also nicht Spiele) 99% von nativen Apps machbar ist. Bei sehr komplexen Apps ist die Performance ggf. noch etwas besser, wenn man direkt mit Swift programmiert.
 
Hi,

Aber ein ähnlicher, wesentlich kürzerer Artikel von Heise dazu

dann aber bitte mal in die über 800 Kommentare reinschauen und die Meinung der Leute lesen, die tatsächlich auch in der Materie stecken...

Wie gesagt: natürlich "findet man einen Job", wie im Artikel auch aufgeführt. Ich habe auch schon mit sehr, sehr unfähigen Leuten zusammenarbeiten müssen (zum Glück meist nicht lange, ein Hoch auf die Probezeit).

Aber der Unterschied, zwischen einem Softwareentwickler und jemandem, der es irgendwie schafft, ein lauffähiges Programm hinzubekommen, ist eklatant!

Ich war auch immer wieder zur fachlichen Beurteilung mit in Bewerbungsgesprächen, was da stellenweise an Bewerbern reinkam, wie wenig fachliche Kompetenz dort dabei war und was für Gehaltsvorstellungen diese "Entwickler" dann hatten spottet jeder Beschreibung.

Oder mal anders betrachtet: du hast keinen objektiven Maßstab, die fachlichen Fähigkeiten und Qualifikartionen der Person zu ermitteln. Welche Aufgaben gibts du so jemandem also? Sicher keine Autopilotensteuerung im KFZ, oder? Ein Fehlermeldesystem in der Luft- und Raumfahrt? Bankdaten-Übermittlung? Zumindest die eigene Buchhaltung und Gehaltsabrechnung?

Falls du da jetzt irgendwo "warum nicht" gesagt hast: nochmal tief in dich gehen und nachdenken!

VG,
Mad
 
@Madman1209
vielleicht kam es nun wieder falsch rüber, aber was ich gemeint habe ist das, was @rocketworm geasgt hat.
Sogar bei mir in der Firma wird auch nach Quereinsteigern gesucht, da einfach keiner zur Verfügung steht, der als ausgebildeter Softwareentwickler in einer Firma arbeiten will, die nicht direkt Porsche, Bosch oder Daimler heißt.

"Dr.mr Programmierer" = ein ausgebildeter Softwareentwickler mit Studium, Erfahrung, etc.
Bin ich nicht, bin "nur" ein ausgebildeter Fachinformatiker, der den Weg nach oben sucht und komme gut voran. Will aber mehr und deshalb frage ich nach Tipps, um schneller/besser voran zu kommen.
Und ja, du hast ja Recht, mit einem Zertifikat hast du vielleicht höhere Chancen einen Job zu bekommen, aber da draußen gibt's auch viele, die das Zertifikat haben, aber dennoch nicht so viel können wir jemand, der sich Zeit nimmt und Mühe gibt das zu lernen, wofür er Interesse hat.

Ich bin an der Stelle nicht so pessimistisch/negativ, da ich, obwohl ich nur 26 bin, von bekannten/Freunden/anderen Firmen (Kunden) mitbekommen habe, dass Aufgrund des Fachkräfte Mangels "jeder" eingestellt wird der zeigt, dass er arbeiten will.

@Tourgott
danke Dir, das reicht mir für den Anfang. Spiele will ich im Moment sowieso nicht entwickeln sondern eher so Business-Apps.
Nur halt eine Frage.. Falls ich den o.g. Weg gehen sollte, ist ReactNative aktuell "das beste", was machen in Hybrid Mobile-App machen kann? Hast du Erfahrung mit Ionic/anderen Sachen?
 
Hi,

"Dr.mr Programmierer" = ein ausgebildeter Softwareentwickler mit Studium, Erfahrung, etc.
Bin ich nicht, bin "nur" ein ausgebildeter Fachinformatiker, der den Weg nach oben sucht und komme gut voran.

das hast du mit keiner Silbe erwähnt! Und meine Frage "keine Ausbildung" hast du mit "ich will nur selbst lernen" beantwortet... also was stimmt denn jetzt?

Bei einer abgeschlossenen Ausbildung als Fachinformatiker sind es doch völlig andere Voraussetzungen, das sollte aber wirklich auch einleuchten... :rolleyes:

VG,
Mad
 
 
  • Gefällt mir
Reaktionen: grabowashion
@Madman1209
mit Schule/Ausbildung dache ich, dass Du eine Weiterbildung/Umschulung/ähnliches in Richtung Mobile-Anwendungen meinst. Ich hätte auch mal früher sagen können, dass ich ein Fachinformatiker bin.
"Selbst lernen" war gemeint, dass ich keine Weiterbildung machen möchte sondern mithilfe von vielen Kursen mir das ganze beizubringen.

Und ja, bin froh das du diesen Thread gelesen und auf meine Fragen geantwortet hast. Man merkt, dass du damit Erfahrung hast und bin deshalb happy, dass Du "mitmachst" ;-)

Leider bin ich immer noch fündig geworden und muss mich halt noch entscheiden, welchen Weg ich gehen soll.
Ich wollte halt nur ein Ziel haben, das ich, wenn ich die Kurse durch habe und einige praktische Übungen erfolgreich abschließe, selbst entwickeln kann.
Deshalb wollte ich wissen, was für einen Anfänger in der anderen Welt, also außerhalb SQL und Pascal, am besten wäre.
 
grabowashion schrieb:
Ich habe das HIER schon gelesen und es hat mir schon etwas gebracht, aber was passt für meinen Ziel "besser"?
  • Können beide (Hybrid und Native) Apps Daten verarbeiten/anzeigen/absenden?
  • Müssen hierfür XML/CSV Dateien erstellt werden oder geht das in Echtzeit auch? Also nicht asynschron, da Dateien vielleicht alle 5 Minuten und nicht alle paar Sekunden bzw. bei jeder Änderung erstellt/verarbeitet werden?
  • was ist einfacher zu lernen? Hybrid oder Native?
  • wenn Hybrid, Ionic oder React Native? Oder etwas anderes?
  • wenn Native, Kotlin und Swift? Oder Java? Oder Flutter? Oder sogar noch etwas anderes/besseres?
  • Ja können sie
  • Kommt auf das ERP System an. XML und CSV sind Formate für Dateien, d.h. wie die Daten auf der Festplatte gespeichert werden sollen. Die ERPs, die du anzapfen willst, bieten bestimmt eine Web-API an (REST, SOAP, etc.). Die Daten, ob hierarchisch strukturiert, reine Zeilen, was auch immer: Du wirst eine geeignete Struktur finden, für dir Übertragung über HTTP, da gibt es keine Einschränkungen in deiner Wahl der Frontend Frameworks. XML Dateien (sind hierarchisch) kannst du direkt so übertragen als HTTP Body (SOAP ist ein ganzes Prinzip um XML over HTTP oder als JSON) und CSV sind Zeilen (auch JSON z.B.)
  • Hybrid ist viel einfacher. Ionic und React-Native sind gleich einfach. Ich würde dir Ionic empfehlen für diesen Anwendungsfall. React-Native und Flutter bringen ganz viele Möglichkeiten mit, die du nicht brauchst (und oft viele Leute, die es verwenden gar nicht brauchen). Es sind aber alle Mobile App Frameworks gleich mächtig. Für Ionic brauchst du plain old JavaScript. Für React-Native lernst du ES6 Javascript und JSX Syntax, für Flutter lernst du Dart.
  • Flutter ist ein Mobile App Framework von Google. Es ist in Konkurrenz zu React-Native von Facebook. Flutter Apps werden in Dart geschrieben (vergleichbar mit Kotlin und JavaScript) und spucken native iOS und Android Apps aus. Schlussendlich sind die zwei nativen App Welten immernoch Android mit Java/Kotlin und C/C++ sowie iOS mit Objective-C/Swift und C/C++. Etwas Besseres gibt es nicht für native Mobile Apps.
Ich denke du wirst 40% der Zeit mit dem Erlernen des Frontend Frameworks verbringen, 40% mit der ganzen Arbeit im Zusammenhang mit der Kommunikation zum ERP, soqie deiner App Logik und 20% mit dem Styling der App.

Übrigens gute Tools für das Entwickeln mit Web-APIs: curl, netstat, Postman, Google Chrome DevTools. Vorallem Postman macht dir das Leben zu Beginn einfacher.
 
@nerdalicious
danke Dir für so eine detallierte Antwort! :-)
Ich hätte dann 2-3 Fragen dazu...
  • sind dann die Ionic/ReactNative für Business Apps (bspw. das, was ich machen möchte) genauso schnell/"optimiert" wie Native Apps? Im YouTube/Forums habe ich gesehen, dass Ionic am langsamsten ist, obwohl ich nicht weiß, ob der Unterscheid bei solchen Apps merkbar ist.
  • wenn ich mich für Ionic/ReactNative entscheiden sollte, ich muss den Weg HTML/CSS/JS sowieso gehen oder? Also zuerst wahrscheinlich die Basics vom Standard JS verstehen und dann weiter machen. Vorteil an dieser Stelle ist, dass ich damit schon halbwegs Web-Entwicklung Erfahrung habe, was natürlich nicht schlecht ist.
  • für Business Apps, sind die Native Apps (Java/Kotlin/Swift/Flutter) viel besser als die Hybrid Apps oder reicht dafür eine Hybrid App? Ich sehe als Laie in dem Bereich keinen Vorteil von Native Apps, wenn man das "gleiche" mit einem Code für sowohl Android als auch iOS erreichen kann. Ich kenne die Funktionen von beiden Apps nicht, aber wenn die ähnlich schnell sind, aussehen, warum greift man in solchen Fall zu Native App?
  • ich habe einige Flutter Videos gesehen und laut Kommentaren hat/hatte jeder viel Freude/Spaß mit der Programmiersprache. Viele sagten, dass Flutter besser als ReactNative ist bzw. lieber mit einer anderen Sprache/Framerwork als ReactNative arbeiten. Ist das richtig und warum?
 
grabowashion schrieb:
@nerdalicious
danke Dir für so eine detallierte Antwort! :-)
Ich hätte dann 2-3 Fragen dazu...
  • ich habe einige Flutter Videos gesehen und laut Kommentaren hat/hatte jeder viel Freude/Spaß mit der Programmiersprache. Viele sagten, dass Flutter besser als ReactNative ist bzw. lieber mit einer anderen Sprache/Framerwork als ReactNative arbeiten. Ist das richtig und warum?

Willkommen im Internet. Du wirst unter JEDER Art von Framework, Sprache etc Fanboys, die alles völlig unreflektiert abfeiern, sowie absolute Gegner finden. Bringt absolut gar nichts sich auf sowas zu verlassen. Lieber selber eine eigene Meinung bilden. Es gibt genauso Leute, die auf React/React-Native schwören.

Kannst dir ja mal den Poll von The State of JavaScript dazu anschauen.

Gibt z.B. auch VueNative ;)
 
  • Gefällt mir
Reaktionen: BeBur und grabowashion
Zurück
Oben