Limbajul de progrmare nativ Java pe Android sau Objective-C VS aplicati hybryde Ionic, React etc

android
java
javascript

(Dumi Mars) #1

Eu am lucrat doar pe platforma nativa Android Studio, si acum recent am aflat ca sunt frameworkuri Ionic, React si altele care poti scrie un cod si pentru web, android si iPhone.

Intrebarea mea este sunt aceste sisteme sunt destul de matur ca sa pot investi timp si sa pot lucra cu ele? sunt la fel de bune la viteza si la siguranta ?

mai demult am lucrat cu Xamarin, dar am renuntat rapid la el e o petarda in opinia mea :slight_smile: .

Cine are experienta cu aplicatiile astea hybride ar putea spune ceva din experienta lui.

Multumesc, eu ma informez, acum despre asta, dar am vrut in acelasi timp sa deschid un subiect de discutie .


(mrapi) #2

M-am interesat si eu de acest subiect de curand si am gasit multe opinii pozitive pentru Flutter facut de google,nu-l folosesc inca dar cred ca pe viitor il voi alege.


(Gabriel Horatiu Petchesi) #3

Sunt trei categorii separate aici:

  1. nativ
  2. web + webview
  3. hybrid - web + componente native

Fiecare e potrivit pentru un context anume dar cred ca in viitor cele hibride vor creste ca si pondere. Aici sunt mai multe optiuni: react-native, nativescript, flutter personal am folosit react-native si a fost ok.


(István F.) #4

Xamarin e cel mai bun la momentul actual, e nativ pe toate platformele daca vrei sa ai acelasi codebase pentru fiecare platforma.

In rest Flutter, expo cu react native si nativescript (ionic) sunt iarasi optiuni bune, dar nu atat de bune precum Xamarin.


(Andrei) #5

Eu am experienta cu Xamarin, il recomand. Si, in functie de ce trebuie sa implementezi (ce UI), Xamarin Forms e o alegere foarte buna. Xamari nu e acelasi lucru cu Xamarin Forms, chiar daca Xamarin Forms e scris de Xamarin.

Chiar si cu doar Xamarin, avantajele cu .ecosistemul NET si .NET Standard sunt mari. Viteza de rulare este foarte buna.

Ai lucrat cu Xamarin sau Xamarin Forms? Cat de demult?


(Dumi Mars) #6

Vreo 4 ani in urma, dar nu stiu sigur denumirea… Dar pe timpul acela era cam slabut dezvoltat si nu era comoponenta de la Micrososft. Erau un fel de opensource


(Andrei) #7

Cum ziceam, Xamarin != Xamarin.Forms. E foarte important sa intelegi deosebirea.


(Andrei) #8

Daca ai intrebari mai in amanunt legat de tehnologia Xamarin sau Xamarin Forms, shoot.


(Dumi Mars) #9

Mersi @Andrei2 chiar mi-ai dat motiv sa revin la tehnologia aceasta. Si in plus e disponibil pe 3 platforme.

Asa ca o intrebare ce fel de baza de date folosesti sqlite, realm sau ce alt ceva ?


(Andrei) #10

Un lucru foarte important legat de Xamarin e ca nu te scapa sa nu intelegi cum functioneaza OS-ul nativ, ceea ce e un lucru bun. Trebuie sa intelegi lifecycle-ul nativ (Android respectiv iOS) la ecrane, aplicatie, etc. Evident, trebuie sa stii bine .NET si C#.
Cand vine vorba de Xamarin Forms, care e de fapt “doar” o abstractie C#, trebuie sa intelegi cum functioneaza. Are si parti bune dar si rele, conteaza mult ce fel de UI vrei sa implementezi. Pentru cine a lucrat cu tehnologiile WIndows (WPF/Silverlight/UWP) e deja “in paine” ca sa zic asa, dar tot are nevoie sa inteleaga conceptele native de OS (Android/iOS)


(Andrei) #11

Folosesc SQLite. Am auzit de Realm dar nu am folosit. Xamarin fiind .NET si avand suport de .NET Standard 2.0, poti folosi orice librarie/framework .NET Standard.


(Andrei) #12

(cand m-am uitat la Realm tin minte ca ma obliga sa deriv modelele dintr-o interfata de-a lor, ceea ce nu mi-a placut)


(Dumi Mars) #13

eu am mai utilizat realm in proiectele cu Android, mi s-a parut foarte bun, viteza e mult mai buna, da in ansablu fiecare are imperfectiuni


(Andrei) #14

O alta alternativa pentru scris aplicatii mobile cu .NET este https://platform.uno/
E free, e open source, relativ noua, scrisa de niste canadieni, e in stil WPF/UWP cu XAML, ei zic ca ar avea deja multe aplicatii comerciale scrise pentru clientii lor.

Nu m-am jucat inca cu ea, dar pare foarte “feature-rich”. Au compilare si in webassembly.

Uno ruleaza peste Xamarin (atentie, nu Xamarin Forms).


(Andrei) #15

Xamarin e atat un runtime .NET capabil sa ruleze pe iOS si Android, cat si o implementare a o parte din .NET Framework. E bazat pe propriul lor Mono, un runtime .NET open source pentru iOS si Android. Lucrul la Mono a inceput prin anul 2000 :smiley:

Echipa Xamarin a realizat un lucru exceptional scriind un runtime si framework .NET fara ajutorul Microsoft, doar bazat pe ECMA la C# si CLR publicat de Microsoft (si mult reverse engineering).

O chestie amuzant e ca Miguel de Icaza, unul din cei 2 fondatori, a fost respins de la un interviu dat la Microsoft in jurul anului 1998.
Si mai tare e ca, prin 1999 Miguel spunea intr-un interviu ca e posibil ca Microsoft sa devina la un moment dat o companie care are mult cod open source: http://linux.omnipotent.net/article.php?article_id=6967

My bet is that they will adapt their business model to the needs of their customers, so they might become an open source company at some point"

Un lucru de neimaginat pentru Microsoft in 1999. Azi, 20 de ani mai tarziu, Microsoft e unul dintre cei mai mari contributori open source, iar viitorul e si mai open source (.NET Core 3, etc.)