Drumul până la prima mea aplicație pentru Android începe undeva prin 2014. Atunci începeam să-nvăț să lucrez cu Java. Dar după ce-am urmat câteva cursuri online (edX, Coursera și Udacity), am abandonat ideea, acordând prioritate altor subiecte.

Mai târziu, descopeream Ionic, un framework cu ajutorul căruia poți crea aplicații pentru Android/iOS utilizând doar javascript și HTML. Iar dacă știi și AngularJS, cu atât mai bine. Am început mai multe aplicații-demo cu Ionic. N-am terminat niciuna.

Prin primăvara acestui an, am aflat de NativeScript. Un framework susținut de Telerik, cu ajutorul căruia poți crea aplicații pentru Android/iOS având cunoștințe doar de javascript, XML și, iarăși, AngularJS ar putea fi de folos, la fel cum și cunoștințele de Typescript.

După ce-am lăsat câteva aplicații nefinalizate, prin septembrie am început să lucrez la ceea ce știam că va fi prima mea aplicație pe care o voi publica: Transport Public Ploiești.

Ok, numele este banal și nu i l-am dat decât cu o săptămână înainte de publicarea ei în Google Play, dar acesta este un aspect mai puțin important.

În această aplicație am încercat să mă familiarizez cu:

  • preluarea unor informații dintr-o sursă externă, prin intermediul unui API;
  • afișarea informațiilor fie direct, fie prin apăsarea unui buton;
  • implementarea unui meniu;
  • împărțirea conținutului dintr-un ecran în niște taburi;
  • crearea unor pagini statice;
  • crearea unor pagini dinamice;
  • implementarea unui buton de Back doar pe anumite pagini;
  • sincronizarea culorii barei de status a dispozitivului cu cea a aplicației.

Așa arată ecranul principal:

screenshot_1481143798

Transport Public Ploiești nu face prea multe lucruri în momentul de față. Am lansat-o ca versiune 0.1, pentru că n-am vrut să mă încurc cu noțiunile de Beta sau Alpha. Versiunea 0.1 afișează toate traseele publice din Ploiești, precum și stațiile în care opresc acestea. De asemenea, utilizatorii pot căuta un traseu după indicativ, stație sau strada pe care circulă.

Mai sunt multe de făcut

Urmează ca până la versiunea 1.0:

  • să-i adaug o funcție prin care să recunoască atunci când utilizatorul este offline;
  • să afișez toate stațiile pe hartă și ce trasee opresc în fiecare stație;
  • să afișez conexiunile fiecărui traseu cu alte trasee din stațiile în care oprește;
  • să implementez rutele traseelor pe hartă;
  • să adaug orarul pentru fiecare traseu;
  • să creez și o versiune pentru iOS;
  • (poate) să îmbunătățesc și design-ul un pic.

Open source

Am lansat aplicația ca open source. Întreg codul poate fi găsit pe contul meu de GitHub.

Cu siguranță, unele lucruri ar fi putut fi scrise mai curat sau mai eficient din punct de vedere al performanței, însă deocamdată sunt mulțumit de ce a ieșit. Iar treaba nu s-a terminat.

Ce am învățat prin crearea acestei aplicații

Mi s-a confirmat faptul că niciun tutorial și niciun curs nu te face la fel de entuziasmat și de nerăbdător să înveți ceva nou ca atunci când lucrezi la un proiect concret.

Pe parcursul dezvoltării aplicației, m-am întâlnit cu multe situații în care a trebuit să citesc documentația; uneori, documentația era insuficientă/incompletă, așa că m-am alăturat și canalului de Slack al NativeScript și am descoperit acolo o comunitate de oameni gata oricând să te ajute și să-ți împărtășească din experiența lor. Atunci când n-am găsit o soluție nici pe slack și nici citind documentația, am făcut ceea ce face oricine: am căutat pe Google sau pe StackOverflow.

Am lucrat mai mult în weekend-uri (3-4 ore / weekend) și am reușit să finalizez versiunea 0.1 în aproximativ două luni.

De unde se poate descărca aplicația

Aplicația Transport public Ploiești este acum în Google Play.