Mobile Cross-Platform Framework oder besser unabhängig?

Triky313

Lieutenant
Registriert
Sep. 2011
Beiträge
746
Hallo Leute,
aktuell bereite ich mich auf ein Projekt vor, welches sich in einer mobilen App wiederspiegelt. Diese soll später sowohl auf iOS als auch auf Android laufen.

Nun habe ich mir verschiedenste Informationen geholt, von Xamarin über Flutter bishin zu React Nativ. Leider bin ich damit noch zu keiner Lösung gekommen. Die App ist kein Spiel, man kann nach Leuten suchen und sich Profile ansehen.

Ist es vielleicht sogar besser das ganze direkt per Swift (xCode) und Java zu schreiben?
Hat da schon jemand Erfahrungen gesammelt?
 
Moin,

ich würde die Plattform wählen, auf der Du Dich am wohlsten fühlst. Da keine speziellen Anforderungen an die Hardware gestellt werden, würde ich eine Lösung wie Flutter bevorzugen.

Nativ auf den jeweiligen Plattformen zu entwickeln macht imho keinen Sinn für solch ein Projekt.

Gruß
/gob
 
  • Gefällt mir
Reaktionen: Triky313, new Account() und pcBauer
+ Flutter

Dart/Flutter wird am Ende zu nativen Applikationen gebaut.
 
  • Gefällt mir
Reaktionen: pcBauer
Ohne zu wissen was deine App genau an Features braucht: PWA?
Die Frage war zwar "Soll ich A oder B nehmen" und ich schlage C vor, aber:

Flutter und React Native sind beide von der Logik her sehr nahe an JS-Frameworks (React, Angular, Vue). Wollen alle Components/Widgets, auch vom State-Management her sind die alle recht ähnlich (meine gibt sogar Redux für Flutter).
Wenn du dich also noch nicht ein eine der Sprachen eingearbeitet hast sollten die vom Lern-Aufwand her recht ähnlich sein.

Nur hättest du eben mit einer PWA den Vorteil deine App mit einer Codebase auf Desktop & Handy zu bringen.
PWA können schon auf einige Features vom Handy zugreifen (Link), Serviceworker & Webpush bringen Offline-Support, Caching & Push-Benachrichtigungen.
Mehr brauchen die meisten Apps in der Regel nicht. Aber du bist auf Apple & Google angewiesen, bei Flutter & React Native kannst du ja immer noch Kotlin/Swift-Module schreiben wenn Feature X nicht unterstützt wird.

Und du musst dich bei PWAs nicht um den App Store kümmern, ohne einen Mac & Xcode wirst du nicht in den App Store kommen. Habe die Willkür von Apples Review-Prozess schon erlebt, und 99$ im Jahr sind 99$ im Jahr.
Für PWAs muss der User nur auf deine Website und dann kannst du dem User deine "installier jetzt"-Option anbieten. Die fehlende App-Store Präsenz kann aber auch ein No-Go sein.

PWAs sind keine Silberkugel, aber wenn du schon irgendein JS-Framework beherrschst, kein Problem mit HTML/CSS hast und kein Mac besitzt würde ich eher auf PWAs setzen.
 
  • Gefällt mir
Reaktionen: Hayda Ministral, Triky313 und DerGoblin2k
Joshinator schrieb:
Ohne zu wissen was deine App genau an Features braucht: PWA?
Die Frage war zwar "Soll ich A oder B nehmen" und ich schlage C vor, aber:

Flutter und React Native sind beide von der Logik her sehr nahe an JS-Frameworks (React, Angular, Vue). Wollen alle Components/Widgets, auch vom State-Management her sind die alle recht ähnlich (meine gibt sogar Redux für Flutter).
Wenn du dich also noch nicht ein eine der Sprachen eingearbeitet hast sollten die vom Lern-Aufwand her recht ähnlich sein.

Nur hättest du eben mit einer PWA den Vorteil deine App mit einer Codebase auf Desktop & Handy zu bringen.
PWA können schon auf einige Features vom Handy zugreifen (Link), Serviceworker & Webpush bringen Offline-Support, Caching & Push-Benachrichtigungen.
Mehr brauchen die meisten Apps in der Regel nicht. Aber du bist auf Apple & Google angewiesen, bei Flutter & React Native kannst du ja immer noch Kotlin/Swift-Module schreiben wenn Feature X nicht unterstützt wird.

Und du musst dich bei PWAs nicht um den App Store kümmern, ohne einen Mac & Xcode wirst du nicht in den App Store kommen. Habe die Willkür von Apples Review-Prozess schon erlebt, und 99$ im Jahr sind 99$ im Jahr.
Für PWAs muss der User nur auf deine Website und dann kannst du dem User deine "installier jetzt"-Option anbieten. Die fehlende App-Store Präsenz kann aber auch ein No-Go sein.

PWAs sind keine Silberkugel, aber wenn du schon irgendein JS-Framework beherrschst, kein Problem mit HTML/CSS hast und kein Mac besitzt würde ich eher auf PWAs setzen.
Guter Einwand ... manchmal sieht man den Wald vor lauter Bäumen nicht.

Gruß
/gob
 
Hallo Leute und schon einmal vielen Dank für die Antworten.
PWA ist wirklich ein interessaanter Ansatz und ich hätte das auch begrüßt, leider wird die App aber im Store verfügbar sein müssen. Denoch ist PWA eine wirklich schöne Sache.

Tatsächlich bin ich in den letzten Jahren meistens mit .Net und C# im Kontakt gewesen. Es ist aber durchaus auch möglich wieder mit JS zu arbeiten, das sollte keine all zu große Hürde sein.

Flutter/Dart sieht interessant aus, bin mir da aber nicht ganz sicher wie schnell ich da rein komme. Soll wohl ähnlich wie C aussehen oder?

Joshinator schrieb:
Ohne zu wissen was deine App genau an Features braucht: PWA?
Die Frage war zwar "Soll ich A oder B nehmen" und ich schlage C vor, aber:
Ich verstehe was du mir damit sagen möchtest. Leider kann ich aber nicht genauer auf die App eingehen, da das Projekt noch geheim ist. Stell dir einfach den Umfang von Funktinen wie bei Tinder vor (Sorry hatte kein besseres Beispiel). Es wird kein Überschuss von Funktionen geben aber die App muss auf Bilder zugreifen können und Push-Benachrchtigungen unterstützten.
 
Triky313 schrieb:
Soll wohl ähnlich wie C aussehen oder?
Wenn du die Programmiersprache C meinst. Nein. Ist objektorientiert.
Einfach mal Googlen.

Triky313 schrieb:
PWA ist wirklich ein interessaanter Ansatz und ich hätte das auch begrüßt, leider wird die App aber im Store verfügbar sein müssen. Denoch ist PWA eine wirklich schöne Sache.
PWA schließt das nicht aus.
Triky313 schrieb:
Es wird kein Überschuss von Funktionen geben aber die App muss auf Bilder zugreifen können
Das ist eher eine kritische Sache.
Aber es scheint Möglichkeiten zu geben: https://stackoverflow.com/questions/44953454/pwa-mobile-camera-access
 
Die Web-Version von Flutter ist so la la, hab da aber nur mal aus Spaß reingeguckt (also mit einer Priese Salz sehen).
Google selbst hat die Webversion aber auch nur im Beta Channel, ob man das für ein Projekt nehmen will was man geheim halten muss sollte jeder für sich entscheiden :p Aber Website ist ja auch kein muss laut TE, hab ich nur selbst so mit reingeworfen.


Es ist nicht unmöglich eine Website/PWA in die App Stores zu bekommen, dafür gibt es Cordova, Ionic & Co.
Aber da sollte man aufpassen, hab persönlich mit dem "Verpacken von Websites" schlechte Erfahrungen gemacht. Hab nicht genug Erfahrung mit Cordova oder Ionic ob es da zu ähnlichen Problemen kommen kann, im Endeffekt rendern die aber auch nur in einem Webview.

1578490785821.png


Wir haben für unsere Kunden sowas ähnliches gemacht, salopp gesagt einfach eine Website in einen Webview geklatscht und Push-Benachrichtigungen eingebaut eben damit man eine App-Store Präsenz hat.
Nur lässt sich das "not sufficiently different from a mobile browsing experience" recht weit dehnen wenn der Reviewer das will. 17 Apps hatten nie ein Problem und zwei wurden wegen der Meldung abgelehnt. Die Apps waren die selben, nur für einen anderen Endkunden.


Halte nicht viel von "Sprache X sieht ähnlich wie Y aus"-Vergleichen, wenn jemand 3 Fremdsprachen spricht stehen die Chancen gut das er auch die 4te recht schnell lernt wenn man das Vokabular und die Grammatik (für uns Syntax) lernt.
Ob du jetzt Dart oder "Javascript" lernst ist so die Wahl zwischen Pest oder Cholera :D

Ich persönlich würde eher zu React Native greifen wenn die Wahl auf Flutter oder React Native fallen muss. Einfach weil ich mit JS (und JS-Frameworks) vertrauter bin und es um React Native bereits eine Community gibt.
Der Syntax und Aufbau ist einfach unglaublich ähnlich zu React, statt <span> (HTML) schreibt man eben <View>. Wenn es also irgendwann eine Web-Version davon geben sollte, copy&paste und was CSS.

Aber bis dahin ist Flutter Web mit Sicherheit auch schon ausgereifter, wobei ich bei Google-Projekten prinzipiell immer skeptisch bin (wobei Flutter unter BSD steht).
Von der Performance bin ich auch nicht so überwältigt, Hamilton (eine der ersten "echten" produktiven Flutter-Apps) sieht immer noch nicht so toll aus. Als ich die auf einem Moto G (4te gen) vor 1-2 Jahren getestet hatte war es definitiv kein 60fps-Erlebnis. Als ich damit selbst rumgespielt habe war das scrollen von 20 Labels schon laggy. Hab grade nochmal Hamilton auf einem Oneplus 6 installiert und 100% flüssig sind die Animationen beim erstem Durchgang immer noch nicht, auf einem iPhone 6 ein ähnliches Bild.
Will aber nicht ausschließen das es nur Einbildung ist weil ich weiß das es eine Flutter-App ist und mir solche kleinen Ruckler in anderen Apps nicht auffallen.
 
Es sind viele gute und spannende Themen dabei. Vor allem die PWA Sache finde ich sehr interessant. Leider werde ich PWA für dieses Projekt nicht verwenden können, weil der Aufwand für mein Team und mich ohne weitere Erfahrung aktuell zu groß ist. Für zukünftige Projekt werde ich dies jedoch im Auge behalten. Danke dafür @new Account().

@Joshinator:
Du hast Recht, die Hamilton App auf meinem iPhone 6s läuft nicht so gut wie man es erwartet. Es fällt bei dem 6s jetzt kaum auf aber es sind leichte Ruckler da.

Meine Tendenz schwenkt wirklich Richtung React Native. Natürlich habe alle ihre Vor und Nachteile, hier sehe ich jedoch am wenigsten Widerstand und schnelles lernen durch die Community.

Vielen Dank noch einmal an alle die mich so ausführlich informiert haben. Ich werde das ganze jetzt mal intern besprechen und schauen wie es weiter geht.
 
Zurück
Oben