Acest articol este despre lucrurile esentiale din cadrul unui proces de dezvoltare a aplicatiilor mobile. In continuare, veti gasi o prezentare generala a instrumentelor si abordarilor care va vor ajuta sa economisiti timp si sa nu ramaneti blocati intr-o rutina.
In procesul de dezvoltare si in furnizarea suportului pentru orice proiect, trebuie sa abordati un set de sarcini universale:
- Sa asigurati o calitate acceptabila a produsului
- Sa pastrati un ritm ridicat de dezvoltare
- Sa asigurati operabilitatea aplicatiilor pe majoritatea echipamentelor mobile
- Sa analizati si sa inregistrati actiunile utilizatorilor in aplicatii
Pentru rezolvarea acestor sarcini avem o serie de procese si proceduri relevante, dar un rol important il joaca si instrumentele care va pot ajuta sa rezolvati problemele.
Sa asigurati o calitate acceptabila a produsului:
Aceasta sarcina poate fi rezolvata prin:
- Implementarea procedurii de Integrare Continua
- Monitorizarea bugurilor cu crash catchers
- Raspuns instant la schimbari – distribuirea aplicatiilor catre testeri si utilizatori
Integrare continua:
- Fresh „builds” intotdeauna – starea actuala a proiectului
- In cazul integration si unit tests – sa se inteleaga ceea bug a fost „neutralizat”, cand si de cine; fara reconstructii obositoare de la commit la commit in version control
Cred ca este mai bine sa se foloseasca o solutie CI bazata pe Cloud, integrata cu sistemul vostru de control al versiunii. Astfel, puteti salva mai mult timp in carul iteratiilor. Majoritatea furnizorilor de versiuni de control ofera solutii si pachete out-of-the-box.
Crash Catchers si Build Distributors
In lumea dezvoltarii aplicatiilor pentru mobil puteti gasi un numar imens de instrumente de detectare si raportare a erorilor si bugurilor din aplicatiile de mobil. Nici testerii si nici utilizatorii nu au timp de pierdut cu inregistrarea si cu reproducerea unui bug – un bug report va fi generat si transmis automat. Crash catching nu este o functie rara, o astfel de functie poate fi gasita atat in colectiile analitice ale bibliotecilor, cat si in serviciile mai complexe descrise in continuare.
Mentinerea unui ritm ridicat de dezvoltare
Este foarte important sa va asigurati ca echipa este implicata integral in procesul de dezvoltare. Toti cei care lucreaza la lansarea unei aplicatii ar trebui sa primeasca acces la ultima versiune a acesteia. In acest scop, puteti folosi diferite servicii pentru a distribui private builds – este suficient sa integrati una dintre solutiile de mai jos in proiectul dumneavoastra:
Sa asigurati operabilitatea aplicatiilor pe majoritatea echipamentelor mobile
Piata ofera o cantitate uriasa de telefoane mobile pentru majoritatea tarilor lumii, care pot utiliza versiuni diferite de Android. Iar, uneori este necesar sa se testeze o aplicatie pe echipamente diferite: cu ecrane mai mari sau mai mici, cu versiuni noi sau vechi de OS, etc. Pentru aceasta, nu este nevoie sa cumparati multe echipamente mobile – puteti folosi unele dintre urmatoarele servicii:
- https://aws.amazon.com/device-farm/device-list/
- https://firebase.google.com/docs/test-lab/
- https://www.xamarin.com/test-cloud
- https://www.perfectomobile.com/
- https://cloud.testdroid.com
- https://testobject.com/pricing
Sa analizati si sa inregistrati actiunile utilizatorilor in aplicatii
Uneori, crash catchers nu vor putea sa gaseasca o eroare intr-o aplicatie, iar atunci puteti utiliza servicii analitice pentru a inregistra actiunile utilizatorului prin propriul dumneavoastra subsistem – istoricul actiunilor si evenimentelor utilizatorului in aplicatie, pe care sa il trimiteti unui server. Aceasta abordare poate salva mult timp la debugging si cautarea problemelor.
Pot sa spun ca am vazut toate abordarile mentionate mai sus aplicate in doar cateva proiecte. Si ele erau proiecte cu ritmul cel mai rapid de dezvoltare si nivelul de calitate cel mai inalt. Acest gen de solutii va permit sa aveti mult mai mult timp pentru imbunatatirea produsului.
Ivan Alyakskin
Software Consultant