Meest geschikte framework voor hybrid mobile apps

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • nickpma
  • Registratie: Mei 2004
  • Laatst online: 13-09 14:59
Ik heb een idee om een redelijk eenvoudige mobile app te ontwikkelen voor Android en iOS die in beide stores moet verschijnen. De app is simpelweg:
- Een x aantal pagina's
- Een side menu
- Logica
- Wat settings
- FAQ met accordions
- Models die verschijnen als user antwoord invoert
- Wellicht later integratie met back-end (database)

De app moet heel vloeiend werken en zoek ik iets wat eenvoudig te ontwikkelen is.
Als test wilde ik een simpel hamburger menu hebben, met verschillende pagina's en logica om dit menu te openen en te sluiten met = en X icons. Kijkend naar de opties die verderop in deze post staan beschreven, lijkt er geen plug & play opties te zijn. Voor de meeste opties is best wat kennis nodig.

Mijn vraag:
Wat is volgens jullie het meest geschikte om een nieuwe hybrid mobile app in te ontwikkelen?
Uiteraard is meest geschikt, zeer subjectief, dus hierbij mijn eisen:
  • Zeer eenvoudig te leren; heb zelf alleen HTML/JS/CSS ervaring, geen Angular/React/Java en ga dat ook niet snel onder de knie krijgen
  • Goed ondersteund; active community en zeer duidelijke documentatie en voldoende YouTube tutorials
  • Gratis; ik doe dit voor mezelf en wil op dit moment nog niet investeren
  • Goede IDE (integratie); gebruik IntelliJ en zou handig zijn als autocomplete van code werkt of nog beter, als er drag & drop support is van dingen als buttons
Natuurlijk heb ik de nodige research gedaan en de volgende opties gevonden:
1. Native
Helaas is dat voor mij geen optie.
Te complex, geen Mac beschikbaar en ook wel overkill voor een simpele app met een pagina of 15.
Plus dat ik dan alles 2x moet coden.

2. Xamarin Forms
Behoorlijk complex lijkt het met wat beperkingen.
En coden in C# wordt denk ik te moeilijk.

3. Phonegap/Cordova
Marktaandeel lijkt steeds kleiner te worden en alles draait nog in webviews.
Lees dat je zelfs nu nog een fix uit 2015 moet toepassen om de 300ms lag te verwijderen.
Geen optie, je merkt dan dat de app niet native is en hebt loopt tegen browser issues aan.

4. Kony Quantum
Tja, volgens mij is deze oplossing zeer onbekend, maar in eerste instantie leek het ideaal.
Top IDE met drag en drop, redelijke documentatie maar 0 community.
Geen reviews, geen user YouTube videos en wat grote bugs.

5. ReactNative
Nog niet ingedoken, maar React heeft volgens mij een aardige leercurve.

6. Ionic
Was in eerste instantie hoopvol dat dit de beste oplossing zou zijn.
Helaas lijkt ook hier Angular kennis nodig en is versie 4 weinig ondersteund zo lijkt het.
Heb het gevoel dat veel devs toch voor native kiezen.

7. Fuse Open
Zal het nog 1 keer een kans geven, maar sinds het niet langer door een bedrijf ondersteund wordt en opensource gegaan is lijkt de animo flink afgenomen.

8. Flutter
Ook vrij pittig op het eerste gezicht. Van Google, maar ook weer vrij complex.

9. Appcelerator
IDE stamt uit het jaar 0 (Eclipse), heeft voor zijn gevoel de beste tijd gehad.
Simpele app maken en proberen in emulator te draaien kost al heel veel tijd.

10. Nativescript
Ook geprobeerd, ook erg lastig om iets simpels mee te doen.
Documentatie niet super.

11. Tabris
Onbekend, weinig support.

Als iemand een idee heeft hoor ik het graag.
Liefst met een heel duidelijk voorbeeld voor een paar pagina's en een side menu die je 1, 2, 3 kunt aanpassen (met CSS).

Alle reacties


Acties:
  • +1 Henk 'm!

  • xh3adshotx
  • Registratie: Oktober 2011
  • Laatst online: 28-02-2023
Zelf heb ik ervaring met de meeste zaken die je opnoemt behalve Tabris, Fuse Open, Appcelerator en Kony Quantum. Met de eisen die je stelt denk ik niet dat het gaat lukken om op wat voor manier dan ook een goed werkende app te krijgen.Voor wat je beschrijft qua app maakt het eigenlijk niet uit wat je gebruikt om te ontwikkelen, het klinkt namelijk vrij basis. Wat dat betreft hoeft er dus geen keuze gemaakt te worden. Als je echter naar de rest van de eisen kijkt vallen native, Xamarin Forms en Flutter af omdat ze geen gebruik maken van css, html en javascript. Vervolgens gebruiken de overgebleven technieken ook allemaal Angular/React of een ander javascript framework en vallen die dus ook af.

Zonder jezelf te verdiepen in een van deze technieken en daadwerkelijk proberen het te leren gaat het je niet lukken. Zelfs als je alleen heel oppervlakkig werkt zal je geen goede app krijgen omdat het maken van een goede app diepgaande kennis van meerdere aspecten vereist. Als je cross-platform gaat werken moet je rekening houden met de mogelijkheden en valkuilen van elk platform, zelfs met library/framework werkt lang niet alles zoals je zou willen. Waarom denk je dat het niet gaat lukken om iets onder de knie te krijgen?

Daarnaast kan je geen iOS app maken, ook niet met behulp van een framework/library, zonder te compilen op MacOS. Daar zijn wel cloud oplossingen voor maar die zijn veelal niet gratis. Het uploaden/tonen in de Play Store & AppStore is daarnaast ook niet gratis. Bij Google kost het eenmalig 25 dollar en bij Apple 99 dollar per jaar.

[ Voor 4% gewijzigd door xh3adshotx op 13-10-2019 14:16 ]


Acties:
  • +1 Henk 'm!

  • Ed Vertijsment
  • Registratie: Juli 2014
  • Laatst online: 09:29
Heb ooit een keer lopen prutsen met react native, moet zeggen dat de workflow vrij aangenaam is de tooling goed. Ik vond de leercurve ook niet overdreven moeilijk, wel maakt het allemaal net wat meer sense als je al wat met react (browser) gedaan hebt.

Nadeel vind ik wel dat je (destijds) alles per target (Android/iOS) moest bouwen, je kan wel zelf het nodige abstraheren vermoed ik maar das dus iets meer werk.

Ik heb ook met cordova/phonegap gewerkt. Dat build once run everywhere is daar gewoon een illusie, veel os specifieke plug-ins die soms matig onderhouden worden en destijds aardig wat browser inconsistenties.

ionic is volgens mij gewoon Cordova+Angular+een ui framework. Ik ben skeptisch daarover maar heb daar zelf geen directe ervaring mee.

Voor de rest ook niet echt mee bekend, heb wel eens gehoord van nativescript als tegenhanger van React native maar heb er geen ervaring mee.

Acties:
  • 0 Henk 'm!

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

Misschien niet helemaal het antwoord wat je zoekt, maar voor zo ver ik weet is het een rotzooi qua mogelijkheden en allemaal hebben ze (flinke) nadelen.

Dingen die HTML/CSS/JS gebruiken starten eigenlijk allemaal een uitgebreide chrome instantie met daaraan wat hooks voor toegang tot native functionaliteiten zoals camera of locatie. Dit is redelijk portable, maar start over het algemeen traag op, je ziet meteen dat het niet native is en als je performance nodig gaat hebben is het ruk.

Ga je voor een native aanpak met bijv. Xamarin of Kotlin zul je merken dat bepaalde delen slecht ondersteund worden en zul je voor beide platformen alsnog een skelet app moeten hebben die het gedeelde gedeelte importeert en afhankelijk van het platform er ook nog een view omheen schrijven.

Ik weet niet precies wat je eisen zijn voor offline beschikbaarheid, maar is het niet een optie om gewoon een website te bouwen en die via een webview weer te geven op de device? Evt met een prepackaged versie van we website er bij zodat hij dat kan laten zien als er geen verbinding is, maar wel een nieuwe kan laden als die beschikbaar is? Ja, dan moet je alsnog voor beide platformen dat caching mechaniek maken, maar zoiets zou waarschijnlijk makkelijker kunnen met een HTML/CSS/JS framework zoals reactnative of nativescript waarmee je de apps voor beide platformen laat bouwen.

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 17:00
Ionic heb ik veel ervaring mee. Het is echt een goed framework met goede tooling. Angular is echt niet heel moeilijk, maar je zal er wel wat moeite in moeten steken. Dat gaat overigens voor elke oplossing gelden.

Voordeel van ionic is wel dat je echt wat hebt aan opgedane kennis, dat is met react native bijvoorbeeld een stuk minder

Acties:
  • 0 Henk 'm!

  • Ed Vertijsment
  • Registratie: Juli 2014
  • Laatst online: 09:29
418O2 schreef op zondag 13 oktober 2019 @ 14:31:
Ionic heb ik veel ervaring mee. Het is echt een goed framework met goede tooling. Angular is echt niet heel moeilijk, maar je zal er wel wat moeite in moeten steken. Dat gaat overigens voor elke oplossing gelden.

Voordeel van ionic is wel dat je echt wat hebt aan opgedane kennis, dat is met react native bijvoorbeeld een stuk minder
Muah, is dat zo? De angular kennis die je op doet bij ionic is vooral nuttig bij angular projecten. De react kennis die je opdoet bij react native is vooral nuttig bij react projecten. Ik zie zelf niet waarom het bij de een meer of minder zou zijn.

Ik vraag mij verder af of er iets is dat aan alle eisen van TS voldoet, met name vanwege het tweede punt (community)

Even van de kracht van TS uitgegaan lijkt mij een web/js based project het makkelijkst. En omdat het moeten leren van een framework/library niet als wenselijk wordt beschouwd misschien gewoon een (installable) mobile (responsive) website (zo’n progressive een app ding).

Als gebruiker ben ik er vaak niet zo’n fan van en het browserprobleem + de performance is er nog steeds maar het is wel een vrij realistisch doel om mee te beginnen.

Acties:
  • 0 Henk 'm!

  • nickpma
  • Registratie: Mei 2004
  • Laatst online: 13-09 14:59
Bedankt voor de reacties.
Het is het antwoord waar ik al een beetje bang voor was, met simpele HTML/CSS/JS kennis alleen kom je er niet, tenzij je inderdaad tevreden bent met een PWA.

Aangezien voor mij juist de stores zo belangrijk zijn (kosten voor een dev account zijn trouwens geen probleem) en het wel professioneel moet overkomen, is dat geen optie.
Ook kan ik van vrienden wel even een Mac lenen.

Dan zit er niets anders op dan toch in 1 van de betere opties duiken.
Ik geef NativeScript nu een kans, omdat dat toch relatief eenvoudig is, goede documentatie, live reload, integratie met mijn IDE en kleine dingen als de NativeScript Sidekick en Playground zijn handig voor een beginner.

Toch verbaast het me, 2019 en een simpele drag & drop editor voor een relatief simpele app is er niet echt.

Acties:
  • 0 Henk 'm!

  • JJ93
  • Registratie: Maart 2013
  • Laatst online: 12:18

JJ93

Error 418

Tja, ik denk dat je onderschat hoe "simpel" het maken van een app is. Er komt bijna altijd maatwerk bij kijken, van daar dat er geen (goede) drag & drop editors zijn. Je wilt een app maken die professioneel overkomt, maar het moet wel "zeer eenvoudig te leren" zijn. Die combinatie werkt helaas niet.

Ik zou toch aanraden om te beginnen met native. Leer hoe Android in elkaar zit, leer hoe iOS in elkaar zit. Met native componenten en voorbeelden vanuit Google en Apple. Enorm veel te vinden op Stackoverflow. Tegenwoordig met Kotlin en Swift kun je ook een stuk mooier programmeren. Zijn ook genoeg voorbeelden van te vinden.

Zodra je de concepten van beide besturingssystemen snapt kan je de overstap naar Flutter of Nativescript wagen.

Bij Flutter komt er een derde programmeertaal bij kijken, namelijk Dart. In het Flutter project zit een native embedded Android & iOS project. Voordeel van Flutter is dat je alle native Android en iOS libraries kunt gebruiken in het native project en dan via een plugin aan kunt spreken in je gedeelde Dart code.

Nativescript heb ik zelf geen ervaring mee maar gezien jouw huidige programmeerkennis sluit dat waarschijnlijk beter aan. Daar schijn je ook op een zelfde manier als Flutter native libraries te kunnen gebruiken in je Typescript code.

Kortom, als je een echte professionele app wilt zul je er veel tijd in moeten steken. Of genoegen nemen met een PWA.
Pagina: 1