Cum să devii un dezvoltator Full-Stack: Partea 3
Publicat: 2017-12-02Această postare este a treia și ultima din serie despre devenirea unui dezvoltator full-stack. Acest articol vorbește în special despre dezvoltarea aplicațiilor mobile. Citiți aici pentru mai multe despre dezvoltarea frontend și backend.
Când Steve Jobs a introdus iPhone-ul în 2007, acesta a marcat cea mai mare revoluție la care a fost martoră lumea de la tiparnița. Smartphone-urile au reușit să pătrundă aproape în fiecare țară de pe glob. Chiar și cei mai săraci par să fie în posesia unuia atât de mult încât viața fără ei pare de neconceput.
Motivația
Există anumite aplicații care au sens numai atunci când rulează pe un telefon. Luați Uber, de exemplu. Uber trebuie să vă cunoască locația exactă prin GPS. O aplicație Uber pentru desktop nu ar avea prea mult sens.
O altă problemă este că majoritatea publicului tău îți va deschide aplicația printr-un telefon, chiar dacă este unul care a fost creat pentru browsere. În astfel de cazuri, este imperativ să vă asigurați că experiența este perfectă și că nu sunt consumate prea multe date. În cele din urmă, există diferențe subtile între interacțiunea folosind clicurile mouse-ului și atingerea. Aplicația dvs. trebuie să se asigure că se comportă bine în ambele scenarii.
Ținând cont de toate aceste considerații, este logic să ieși din browser și să construiești aplicații mobile. Acest lucru vă asigură că utilizați la maximum funcționalitățile pe care un smartphone obișnuit le are de oferit și, în același timp, faceți experiența utilizatorului o încântare. Mai jos sunt pașii pentru dezvoltarea aplicațiilor mobile. Pentru ca prima parte să devină un dezvoltator full stack pe dezvoltarea frontend și backend.
Cuprins
Pasul 12: Alegeți o platformă
Primul pas ar fi să alegeți o platformă în care doriți să vă construiți aplicația. Dacă nu faci parte dintr-o echipă destul de mare, este extrem de puțin probabil să construiești aplicații de la zero pe toate platformele majore. Scenariul cel mai probabil este că veți codifica pe platforma dvs. preferată și apoi o veți porta pur și simplu către celelalte.
Principalele platforme de smartphone-uri de astăzi sunt iOS, Android și Windows. Ei folosesc limbaje și IDE-uri drastic diferite. De exemplu, iOS folosește Swift și XCode, Android folosește Java și Android Studio și Microsoft operează cu C# și Visual Studio.
Piața de astăzi este dominată de Android și iOS, așa că alegerea se reduce cu adevărat la acești doi. Unele lucruri pe care poate trebuie să le luați în considerare înainte de a alege este cota de audiență pentru aplicația dvs. Cred că are sens comercial să construiești aplicații iOS dacă te afli într-o țară din Prima Lume, deoarece dispozitivele Apple sunt extrem de populare acolo. În schimb, într-o țară precum India, Android ar fi o alegere mai evidentă, deoarece cota de piață pentru iPhone-uri este extrem de mică din cauza prețului său exorbitant.
Dacă intenționați să câștigați bani din aplicația dvs., rețineți că utilizatorii iOS au șanse mai mari să-și deschidă portofelele pentru achiziții în aplicație decât omologii lor Android. Acest lucru se poate datora faptului că utilizatorii iOS tind de obicei să aibă un venit disponibil mai mult în comparație cu piețele lumii a treia, unde Android domină.
Dezvoltarea iOS necesită să aveți o mașină de dezvoltare Mac. De asemenea, Apple App Store acordă licențe de vânzare cu amănuntul la 99 USD/an, comparativ cu taxa unică de 25 USD a Google Play. Cu alte cuvinte, dezvoltarea iOS este considerabil mai costisitoare.
În această postare, voi aborda modul în care se realizează astăzi dezvoltarea aplicațiilor mobile: aplicații native Android, aplicații native iOS și aplicații mobile hibride.
Pasul 13: Java și XML
Java este cel mai popular limbaj pentru dezvoltarea Android (Google a introdus recent suport și pentru limbajul de programare Kotlin).
Fondatorii Android au considerat că Java este o alegere potrivită și s-au păstrat de la începuturile sale. Și dacă traiectoria lor este ceva de urmat, a fost doar o decizie uimitoare.

Cea mai bună resursă pentru a învăța Java ar fi Head First Java. Citirea acestei cărți vă va oferi o introducere detaliată a limbajului, precum și a principiilor de programare orientată pe obiecte.
În ceea ce privește XML, nu cred că aveți nevoie de un tutorial concentrat pe acest subiect. Ați lucrat deja intens cu un subset de XML (HTML) și veți putea să vă dați seama destul de repede, chiar dacă ar fi să sari direct în dezvoltarea Android. Nu pot spune același lucru despre Java. Asigurați-vă că aveți o bună înțelegere a limbii înainte de a vă aventura în Android.


Pasul 14: Android
Acum aveți cunoștințele tehnice necesare pentru a crea aplicații Android. Este timpul să ne scufundăm adânc în acest sistem de operare revoluționar. Aveți grijă totuși că anumite practici Android diferă de ceea ce vedeți de obicei pe web. Resursele pe care le-am sugerat mai jos se vor asigura că învățarea dumneavoastră nu este împiedicată de aceste diferențe.
Programare Android - Ediția a doua a Ghidului Big Nerd Ranch este un loc bun pentru a începe dacă cunoașteți deja Java. Asigurați-vă că alegeți a doua ediție, deoarece aceasta este cea care utilizează Android Studio, care este standardul industriei acum. Practica de a construi aplicații în Eclipse este în mare parte depășită.
Interviu cu Farooq Adam, co-fondator, Fynd
Pasul 15: iOS
Dacă sunteți mai mult un pasionat de Apple și/sau ați decis că aplicațiile iOS au mai mult sens pentru aspirațiile dvs. de afaceri/cariere. Primul pas ar fi achiziționarea unui Mac. XCode funcționează numai pe Mac și pentru a putea publica în magazinul de aplicații, aveți nevoie de un Mac. Ne pare rău, VMWare.
Resursa pe care o voi sugera pentru iOS este exact aceeași cu cea pentru Android. Nerd Ranch are propria sa publicație – iOS Programming: The Big Nerd Ranch Guide care se ocupă de Swift și XCode, așa că este un loc bun pentru a începe.
Pasul 16: Aplicații mobile hibride
Dacă sunteți un dezvoltator individual sau lucrați într-o echipă mică, probabil că nu aveți timpul sau resursele pentru a crea și întreține separat aplicații Android și iOS. Pentru a atenua durerea dezvoltatorului de a construi pentru mai multe platforme, a fost introdus conceptul de aplicații mobile hibride.
Conceptul este extrem de simplu și revoluționar. Dacă cunoașteți Javascript, știți deja cum să creați aplicații web. Prin urmare, dacă aveți o aplicație în JS, trebuie să existe un cadru care să vă port automat aplicația în Android, iOS și Windows. Incredibil, dar adevărat.
Majoritatea cadrelor hibride realizează acest lucru folosind Cordova sau React Native. Vă puteți gândi la Cordova ca la puntea dintre browsere și hardware-ul nativ al smartphone-ului. Stabilește o conexiune între cele două folosind exclusiv JS și ajută la crearea scripturilor de construcție în limbile native ale fiecărei platforme.
Cu toate acestea, cadrele bazate pe Cordova sunt umbrite rapid de puterea Facebook, React Native. Puterea React Native constă în faptul că, în timp ce Cordova construiește WebViews, React Native vă permite să creați aplicații native pe care le-ați crea folosind fie Java (pentru Android) fie Swift (pentru iOS). Cu alte cuvinte, Cordova este un site deghizat ca o aplicație mobilă, dar React Native vă permite să construiți un lucru real .
După părerea mea, poți să-l ratezi pe Cordova și să înveți în schimb React Native. Este o investiție extrem de mare în carieră de făcut. Programul de dezvoltare software al UpGrad și IIIT-B este un loc minunat pentru a vă începe călătoria cu această bibliotecă revoluționară care a fost deja folosită de companii precum Facebook, Netflix și AirBnB pentru a-și proiecta aplicațiile.
Interviu cu Farooq Adam, co-fondator, Fynd
Concluzie
Odată cu încheierea aplicațiilor hibride, ajungem la sfârșitul acestei serii. Pe scurt, acestea sunt lucrurile pe care le-am acoperit:

- Fundamentele informaticii.
- Structuri de date și algoritmi
- UI/UX
- HTML, CSS, JS
- Framework front-end
- Scripturi și baze de date pe partea de server
- Framework Full Stack
- Android și iOS
- Aplicații mobile hibride
Sper că ți-a plăcut să citești această serie la fel de mult pe cât mi-a plăcut mie să o scriu și, mai important, că ai găsit cel puțin unele părți utile. Ca întotdeauna, comentariile și sugestiile dumneavoastră sunt binevenite!


