React Native oder doch etwas anderes?

DreamGamer

Lieutenant
Registriert
Feb. 2017
Beiträge
543
Hallo, ich programmiere schon länger APPS aber bis jetzt immer nur Android basierend. Ich würde aber gerne eine APP für IOS und Android entwickeln. Da hatte ich bereits zu eine Frage gestellt und das endresultat wurde React Native... Jetzt habe ich alles Backend mäßige in meiner ersten React Native APP fertig nur halt nichts fronted. Ich habe jetzt erst bemerkt das ich mit der Fronted entwicklung von React Native 0 klar komme. Weiß einer ob es dort einen weg gibt besser durchzublicken? Denn es steht ja überall nur View dann ohne ID oder so. Ich war schon nach ui Buildern am suchen habe aber nur Laska gefunden was jetzt nicht schlecht ist aber auch nicht so angenehm. Deswegen meine Frage gibt es vllt. eine Sprache in der Fronted einfacher geht? Oder gibt es für das design bei React Native alternativen?

MFG DreamGamer
(Entschuldigung für die vielen Rechtschreibfehler und fehlenden kommas... kann am Handy nicht so gut schreiben)
 
Ionic / Angular ist die einzige Alternative, die mir dazu einfällt.
 
  • Gefällt mir
Reaktionen: abcddcba
Ich möchte halt nicht unbedingt eine neue Sprache lernen. Ich habe mir jetzt mal BuilderX angeschaut das sieht ja ganz ok aus. Was haltet ihr davon? Und das ist vllt. für jemand der Ahnung hat eine dumme Frage... aber kann man in React Native eig. Responsiv designen nur mit der render Funktion und Stylesheets? Ich möchte halt seit längerem eine APP Programmieren. Ich habe bis jetzt immer APPS in Android Studio geschrieben. Nur möchte ich jetzt für beide Plattformen entwickeln. Wäre es schlauer nur für Android zu machen? Und was benutzten eig. andere APP Entwickler aktuell so? Habt ihr vllt. Erfahrungen mit APPS Entwicklungs-sprachen?
 
Ob es schlau ist nur für Android zu entwickeln muss du wissen, was ist deine Zielgruppe?
iOS-Nutzer gibt es nicht wenige, du zahlst 99$ im Monat um deine Apps im App Store zu behalten. Apples Review-Prozess ist inkonsequent und kann eine Qual sein wenn du einen Reviewer erwischst der einen schlechten Tag hat. Spreche da aus Erfahrung :rolleyes:

Sprachen für die Entwicklung gibt es im Endeffekt nicht viele, auf Android wird es auf Java oder Kotlin hinauslaufen. Auf iOS Swift (und damals Objective C). Das sind die "nativen Sprachen", dann hast du noch Frameworks wie Flutter, wo man in Dart schreibt und der Code dann für dich für die entsprechende Plattform übersetzt wird.

Oder du setzt auf JavaScript-Frameworks, spezieller PWAs (Angular wurde ja schon erwähnt, Vue und React sind Alternativen dazu). Stell dir eine PWA wie ein Browser vor, nur das sowas wie URL-Leiste ausgeblendet ist.
Ein Problem mit PWAs ist das du dich in den Möglichkeiten beschränkst, Offline-Support geht, Kamera ansteuern geht, aber native/low-level Funktionen von Android/iOS fallen meist flach oder kommen in Zukunft.
 
Hey @Joshinator danke für deine Antwort :D Ich bin ja ziemlich neu in der APP Entwicklung und wollte zuerst die APP im Play Store veröffentlichen und wenn dies dort gut läuft oder wenn man die APP mit freunden spielen kann dann direkt in beide Stores. Ich möchte halt direkt zukunftssicher entwickeln. Und deswegen wäre ja denke ich Cross Platforming besser denke ich, oder nicht? Auch wenn ich vllt. erst einmal nur die APP im Play Store habe. Ich bekomme ja die backend Entwicklung z.b. mit React Native problemlos hin nur fronted ist halt meine Schwach stelle. Du sagtest du hast bereits Erfahrungen, das heißt du entwickelst doch auch für beide Geräte, oder? Falls ja wie machst du dies denn? Entwickelst du jede APP einzeln in der eigenen Sprache oder nutzt du auch Frameworks, wie ich es versuche?

MFG DreamGamer
 
Würde mich jetzt nicht als App Entwickler schimpfen, Hauptberuflich bin ich Webentwickler. Die Apps waren im Endeffekt nichts anderes als glorifizierte Webwrapper mit kleinen Zusatzfunktionen wie Barcode-Scanner und Push-Notifiactions. Würde also nicht behaupten daß ich Experte in dem Feld bin :rolleyes:
Würden beide jeweils nativ entwickelt, also Java für Android und Swift für iOS.

Haben uns damals wegen der Lizenz gegen React Native entschieden, wenn ich mich richtig erinnere war die genauso wie React unter deren angepasstem BSD. Flutter gab es da noch nicht.

Wenn dein gewähltes Framework dich im Funktionsumfang auf den Plattformen nicht einschränkt ist es aber die beste Idee sowas zu benutzen. Einschränken in dem Sinne von Performance und Möglichkeiten auf speziellere Funktionen der Geräte zuzugreifen.
Du entwickelst halt nur noch einmal und musst Updates nicht in zwei Codes pflegen und testen.

Würde aber Recht wenig Sinn machen jetzt von React Native auf sowas wie Flutter umzusteigen.
Dein Problem ist ja nur noch die Frontend-Gestaltung. Da verhält sich Flutter nicht anders wie React (Native), alles Komponenten basiert.
Kann dein Problem aber nicht ganz nachvollziehen, wenn du sagst dass das Backend steht, heißt das "das Backend auf irgendeinem Server für spielen mit Freunden steht" oder "die Funktionalität in der React App ist eingebaut aber ich habe kein Layout"?
Beides würde aber drauf hinauslaufen das du dich damit auseinandersetzen muss :D
Gibt halt keinen XML-Editor wie unter Android Studio wo du deine Layouts machst, vom Prinzip her ist es aber das selbe. Nur dass du dir die einzelnen Elemente selbst erstellen musst.

Wo genau ist denn dein Problem mit dem Layout? Der Komponenten-Ansatz? Nur das definieren von Stylesheets und Layouts in React Native?
 
  • Gefällt mir
Reaktionen: dominic.e
@Joshinator Ich bin auch schon seit einigen Jahren webentwickler also dies mache ich hauptsächlich nur jetzt wollte ich meine Ideen endlich mal umsetzten nebenbei, die ich habe. Also java ist natürlich kein Problem gewesen, weshalb ich meine erste APP mit Android Studio gemacht habe nur ist dies auch nicht ganz das wonach ich suche weil z.b. mein ganzer Freundes Kreis Apple nutzt aber ich selbst Android. Natürlich könnte ich die APPS in Java und Swift jeweils einzeln entwickeln aber ich weiß halt nicht, ob dies zu viel aufwand für mich alleine wäre. React Native war halt perfekt für mich weil es ja ziemlich der Webentwicklung ähnelt weshalb ich auch schnell backend alles fertig hatte also die Funktionalität der APP. Nur habe ich in der APP zum Testen alles untereinander gepackt ohne Stylesheets.... Jetzt wollte ich am fronted arbeiten aber ich blicke einfach nicht durch zwar bin ich "flex" druch Android Studio gewohnt nur kann ich bei Android Studio auch maße angeben wie z.b. "dp" dies geht ja bei React Native gar nicht weshalb ich nicht weiß wie ich etwas Skalieren sollte. Also z.b. ein Bild, wenn ich es per Flex in eine ecke packe und sage "height: 50," würde es ja nicht Responsiv sein und meine APP soll ja auf jedem Gerät laufen also mit jeder Auflösung. Die APP für ein Gerät Fronted entwickeln ist für mich gar kein Problem nur dies Responsiv zum laufen bekommen ist halt mein Problem. Ich weiß nicht ob du schon einmal mit React Native gearbeitet hast mit Reponsiv Design? Aber falls ja wie hast du dies denn gemacht?

MFG DreamGamer

PS: Danke für deine Hilfreichen antworten :D
 
"DP" unter Android sind aber auch nicht wirklich Responsive :evillol:

Wenn die x%-Elemente dein einziges Problem sind, dann nutz doch https://github.com/marudy/react-native-responsive-screen. Damit kannst du in Prozenten arbeiten und sagen das ein Element immer x% zur Höhe / Breite ist.
Für Handys sollte das ja Prima funktionieren, für Tablets definierst du dann einfach andere Stylesheets. Gibt dafür ja auch Librarys auf Github die dir sagen ob das Gerät ein Tablet ist oder nicht.

Habe mit React Native nur mal kurz gespielt, genauso wie mit Flutter und Xamarin. Eigentlich immer nur aus Neugier, nie ein eigenständiges Projekt. Wir wissen ja wie das mit persönlichen Projekten immer so läuft :p
Aber React Native teilt ja sehr viel mit React und den anderen JavaScript-Frameworks von der grundlegenden Philosophie.
 
@Joshinator Danke für deine Antwort ich habe die letzte Zeit etwas mit der Libary rumgespielt und damit komme ich eindeutig besser zurecht :D Danke dir für diese Antwort ich versuche es mal weiter aber aktuell sieht es echt gut aus :D
 
  • Gefällt mir
Reaktionen: Joshinator
Um nochmal auf die Frage zurück zu kommen, die ich am Anfang gestellt hatte. Ich habe mich ja leicht gegen React Native entschieden gehabt weil es keine Einheiten gab dies ist ja jetzt geklärt. Nur gibt es jetzt das neue Problem... Die App hat bei Android dauerhaft die Knöpfe unten und die Anzeige oben. Ich habe bei Expo schon nachgefragt und da hieß es, das dies nicht geht mit Expo von einem Entwickler. Es soll wohl mit Native Modules gehen aber ich verstehe absolut nicht wie dies funktioniert. Gibt es, da irgendwelche Unterschiede? Und wie benutze ich dies genau? Oder sollte ich doch lieber eine andere Sprache benutzen? (Mir gefällt mittlerweile React Native recht gut und ich habe mich auch schon gut eingefunden deshalb bin ich unentschlossen.)
 
Oh hat sich geklärt man kann es doch entfernen mit Statusbar.setHidden(true); Danke für die Hilfe :D
 
  • Gefällt mir
Reaktionen: Joshinator
Zurück
Oben