際際滷

際際滷Share a Scribd company logo
Criterii de decizie
Cross Platform
Mobile Application Development
Rares Serban
rares.serban@soft-to-you.com
Ce este Cross Platform?
 Multi-platform sau platform independent
 Capabilitatea software-ului sau
hardware-ului de a rula identic pe mai
multe platforme
 Cross-platform development
 Dezvoltarea de produse software sau servicii
pentru mai multe platforme
 Write once, run everywhere
De ce Cross Platform?
Tehnologiile actuale
Sursa: http://blog.xamarin.com
Criterii
 Nr. platforme
 Functionalitate
 Ergonomie/UX
 Costuri & Timp
 Control asupra actualizarii aplicatiei
 Resurse disponibile
Comparatii
0 1 2 3 4 5 6
Functionalitate
Ergonomie/UX
Costuri
Timp
Control Update
Resurse disp.
Xamarin
Appcelerator
PhoneGap
Native
importanta
Cross Platform cu Xamarin
 Mono = .NET cross-platform
 Xamarin companie orientata spre mobile
development
 Xamarin Studio
 Parteneriat
Microsoft
 Feb. 2016 Microsoft
cumpara Xamarin
Xamarin - MVVM
Performante Xamarin
Sursa: http://blog.xamarin.com
Performante in procesul de codare
Sursa: http://blog.xamarin.com
Aplicatii care folosesc Xamarin
 Slack
 EZOrder
 Aplicatie care permite agentilor de vanzari sa preia
comenzile pe care le fac live, in timp ce discuta cu
clientii si sa le transmita direct la server
 Flota de device-uri heterogena  tablete iPad,
Surface1 pana la Surface4, notebook-uri Windows,
desktopuri Windows
 Aplicatie internationalizata (engleza, germana,
franceza, italiana)
EZOrder  Cross Platform
 Costuri reduse dezvoltare + mentenanta
 Interfata usor adaptabila la iOS si Windows UI
 Developeri ce stiu C# si au experienta cu iOS si
Windows
 Timp de dezvoltare  3 luni
UI iOS UI Windows
MVVM Cross
Core/Business Logic
WSCalls SQLite
EZOrder  Meniu principal
iOS Windows
Intrebari ?

More Related Content

Rares Serban, Sr. Mobile Developer at Soft to you - cross-platform development

  • 1. Criterii de decizie Cross Platform Mobile Application Development Rares Serban rares.serban@soft-to-you.com
  • 2. Ce este Cross Platform? Multi-platform sau platform independent Capabilitatea software-ului sau hardware-ului de a rula identic pe mai multe platforme Cross-platform development Dezvoltarea de produse software sau servicii pentru mai multe platforme Write once, run everywhere
  • 3. De ce Cross Platform?
  • 5. Criterii Nr. platforme Functionalitate Ergonomie/UX Costuri & Timp Control asupra actualizarii aplicatiei Resurse disponibile
  • 6. Comparatii 0 1 2 3 4 5 6 Functionalitate Ergonomie/UX Costuri Timp Control Update Resurse disp. Xamarin Appcelerator PhoneGap Native importanta
  • 7. Cross Platform cu Xamarin Mono = .NET cross-platform Xamarin companie orientata spre mobile development Xamarin Studio Parteneriat Microsoft Feb. 2016 Microsoft cumpara Xamarin
  • 10. Performante in procesul de codare Sursa: http://blog.xamarin.com
  • 11. Aplicatii care folosesc Xamarin Slack EZOrder Aplicatie care permite agentilor de vanzari sa preia comenzile pe care le fac live, in timp ce discuta cu clientii si sa le transmita direct la server Flota de device-uri heterogena tablete iPad, Surface1 pana la Surface4, notebook-uri Windows, desktopuri Windows Aplicatie internationalizata (engleza, germana, franceza, italiana)
  • 12. EZOrder Cross Platform Costuri reduse dezvoltare + mentenanta Interfata usor adaptabila la iOS si Windows UI Developeri ce stiu C# si au experienta cu iOS si Windows Timp de dezvoltare 3 luni UI iOS UI Windows MVVM Cross Core/Business Logic WSCalls SQLite
  • 13. EZOrder Meniu principal iOS Windows

Editor's Notes

  • #3: Serviciu Cross Platform. O aplicatie poate rula pe orice platforma sau mai bine spus pe cat mai multe platforme. Ideal pentru un dezvoltator de aplicatii, este de a scrie un cod de baza si de a-l rula pe cat mai multe platforme. Cand vbim de cross platform mobile, vorbim de o aplicatie ce ruleaza pe cat mai multe platforme mobile. In speta, cele 3 mari platforme ios, android, windows.
  • #4: Exista cele doua grupuri ce sustin dezvoltarea aplicatiilor native si celor care sustin dezvoltarea aplicatiilor cross platform. Expunerea noastra va va da argumente in favoarea tehnologiilor cross platform.
  • #5: Exista 3 grupuri de tehnologii de dezvoltare a aplicatiilor mobile. La aplicatiile native avem ergonomie si performata si un acces nelimitat la functiile hardware. In schimb costurile si timpul de dezvoltare sunt mari. Aplicatiile hibride folosesc tehnologii web pentru a raspunde la aceste probleme in detrimentul performatei si ergonomiei. Urmeaza sa va prezentam Xamarin care isi propune sa fie o alternativa la aplicatiile native si aplicatiile web.
  • #6: Din experienta noastra, criteriile de luat in calcul pentru alegerea unei tehnologii cross-platform sunt: Functionalitate ce se poate face cu aplicatia Ergonomie/UX cat de usor se poate face ceva cu aplicatia Costuri cat costa sa faci aplicatia Timp cat timp ai la dispozitie pentru dezvotarea aplicatiei Control asupra actualizarii aplicatiei cat de usor poti sa adaugi continut si noi functionalitati aplicatiei In plus de aceste criterii: Resurse disponibile ce tehnologii cunosc cei din echipa de dezvoltare
  • #7: Putem vedea o comparatie intre cele mai populare solutii de development CrossPlatform + Nativ. Daca privilegiem functionalitatea si ergonomia si in acelasi timp nu ne intereseaza costurile si timpul atunci alegerea pt nativ. Daca in schimb vrem sa pastram functionalitatea si ergonomia si sa reducem din costuri si timp atunci putem alege Xamarin.
  • #8: Xamarin se bazeaza pe Mono care este un .NET pentru cross-platform. A fost infiintata ca o companie orientata spre mobile development. Propune unelte de dezvoltare avansata IDE Xamarin Studio, Visual Studio. Xamarin are un parteneriat cu Microsoft care la inceputul acestui an i-a si cumparat. Arhitectura tipica a unei aplicatii Xamarin este bazata pe un core scris in C# si care ruleaza cu runtime-ul .NET. Poate contine apeluri la ws, logical corebusiness, gestinea bazei de date SQLite in C#. Partea de UI foloseste wrappere in C# pentru fiecare din SDK-urle native: iOS, Android, Windows C# .
  • #9: Xamarin incurajeaza utilizarea patern-ului MVVM. Spre deosebire de Model View Cotroller unde Controller-ul gestioneaza legatura in detaliu dintre View si Model, la MVVM ViewModel-ul defineste legaturile automatizate dintre Model si View. Orice modificare a modelului este comunicata View-ului si orice eveniment al viewului este comunicat modelului. -Exista biblioteci pentru implementarea paternului MVVM in C# pentru iOS si Android.
  • #10: Tinand cont de arhitectura pe care o are Xamarinul , performantele lui sunt apropiate de cele ale nativului. Evident nu pot fi identice deoarece foloseste un runtime .NET. Insa spre deosebire de aplicatiile hibride, aplicatiile in Xamarin pornesc mai repede, consuma mai putine resurse si ruleaza mai rapid
  • #11: Totusi pretul care trebuie platit pentru asta: are o mai putina reutilizare a codului si o aplicatie mai mare
  • #12: Multa lume utilizeza Slack dar putini stiu ca e realizat in Xamarin. Slack facut in Xamarin, disponibilitate rapida pe toate platformele La S2Y am dezvoltat o aplicatie care permite..
  • #13: Am ales sa folosim Xamarin pentru EZOrder deoarece am urmarit sa reducem costurile de dezvoltare si de mentenanta fara a sacrifica performantele si ergonomia. De asemenea aveam developeri care aveau exprienta cu C# si SDK iOS si Windows. Arhitectura aplicatiei este alcatuia din 2 parti de UI care sunt platform specific dar scrise in C# si care se bazeaza pe framework-ul MVVM Cross. Partea de logica de apeluri si gestiunea bazei de date este mutualizata.
  • #14: Vizual se observa ca este o aplicatie relativ complexa deoarece utilizeaza toate elemente vizuale native (butoane, liste derulante, ).