Ce tehnologie pentru o aplicatie web + android + iOS

Buna tuturor,
Am un proiect pe care trebuie sa-l incep zilele astea, ca prima versiune se cere o aplicatie web si in cateva luni pt v2, v3… o versiune android si iOS.
E prima data cand lucrez la un proiect de genul dat (web+mobile) si habar n-am ce tehnologie sa folosesc.
Ce tehnologii e mai bine sa folosesc pentru aplicatia web ca mai apoi sa-mi fie simplu sa o portez pe android si iOS? Ce arhitectura sa folosesc?
Nu e o problema daca-s tehnologii noi pentru mine, imi place sa invat chestii noi, singura problema e ca sunt limitat in timp si nu-mi permit sa aleg tehnologii sa zicem “gresite”.
Dupa mai multe cautari pe net, ma gandeam la :
angular - front + ionic/NativeScript pt mobile + php mysql - back
cunosc angular si php, despre ionic si nativeScript nu stiu mai nimic
Poate aveti niste sfaturi sau pareri?
As avea nevoie, merci frumos.

eu as considera si functionalitatile aplicatiei si alte cerinte de scalare si mod de folosire.
probabil ca intr-un fel se alege stackul si arhitectura pentru o aplicatie cloud cu multi useri si in alt fel pentru o aplicatie complexa, dar cu numari limitat de useri

ps. e doar un exemplu de detalii pe care le-as considera, nu sunt singurele

2 Likes

Eu setez termenele dupa ce am stabilit tehnologiile, nu invers. Daca se intampla sa plec de la termene, atunci tehnologiile sunt acelea pe care le stiu cel mai bine.

merci de raspuns,
da, am uitat sa precizez, ca functionalitati momentan sunt doar cateva de baza (inregistrare, conectare, completarea unor formulare, import excel to database si manipulare de date pentru a afisa niste statistici), dar mi s-a spus ca o sa apara functionalitati noi

si atunci de unde nevoia de angular?

1 Like

ai dreptate, dar am contract de apprenticeship si nu prea fac mofturi, cand nu reusesc lucrez (mult) peste program, nu e o problema pentru mine atata timp cat imi place proiectul la care lucrez si invat si chestii noi din asta.

ma gandeam la php mysql pe backend si angular pe frontend pentru versiunea web
si la versiunea android/iOS sa utilizez ionic + ceva modificari in codul de la versiunea web
as prefera sa nu scriu cod aparte pt web/android/iOS
dar n-am mare experienta in asta, am apelat la forum pentru sfaturi :slight_smile:

Nu cred ca exista foarte multe motive sa folosesti Ionic, cand exista ReactNative si NativeScript.
Amandoua indeplinesc conditia de a folosi acelasi codebase pentru toate platformele.
Cea mai mare diferenta dintre cele 2, e ca una e baza pe React, iar cealalta pe Angular.

Backend-ul iti sugerez sa-l faci in limbajul care te simti tu cel mai confortabil.

4 Likes

La fel cum a precizat și @GarryOne, e mai bine să mergi pe ReactNative sau NativeScript.

Din experiență, îți recomand ReactNative. E ușor de înțeles, vezi rezultate repede, setup-ul nu e dificil, și development-ul merge relativ repede daca știi bine JavaScript. De asemenea, daca alegi ReactNative la aplicații de mobil, îți recomand să mergi cu React pe partea de web. Te va ajuta mult.

Țin să precizez că soluțiile de genul ReactNative/NativeScript/Ionic etc, nu sunt soluții neaparat pe termen lung și sunt destul de limitate cand vine vorba de scalabilitate. Pentru aplicații complexe și scalabile, limbajele native sunt cele mai bune. Știu că momentan nu e cazul la tine, dar e bine să ai ideea asta în minte.

Pe partea de backend îți recomand sa dai tot ce poti tu mai bine, pentru ca un API bine facut, îți va ușura development-ul pe front-end, fie el pe web sau mobil.

Poate peste cateva luni ne poți povesti cum a ieșit proiectul și ce tehnologii ai folosit. :slight_smile:

Spor și succes!

4 Likes

Daca vei fi singura persoana care va lucra pe toate atunci va trebui sa faci niste alegeri si sa te limitezi la un set cat mai mic de tehnologii altfel vei pierde mai mult timp invatand in loc sa fii productiv.
Poti incepe de la inceput cu o abordare “mobile first” pe partea de UI cu un set de API pe partea de server (care sa fie reutilizabil ulterior in cazul in care vei face o aplicatie mobila standalone). Nu recomand nativescript sau react-native daca esti pe buget limitat, cel mai simplu ar fi sa impachetezi varianta mobila a siteului intr-un webview in prima faza.

1 Like

Fa un backend pe graphql, limbajul nu prea conteaza. Daca nu vrei sa te complici cu baza de date firebase e foarte ok la inceput.

Dupa pe frontend alegi ceva ce e usor de inteles pentru modul tau de lucru. Pe mobil Angular (ionic/nativescript) sau React Native sunt foarte ok ca si performanta daca vrei JS, dar iti trebuie cod total separat de interfata web cu react, angular etc in mod contraintuitiv.

Daca vrei acelasi codebase ai putea realiza un PWA, pe care dupa il bagi si in cordova pentru iOS. (performante mai slabe pe iOS)