Sunteți pe pagina 1din 46

Limbaje de programare pentru dezvoltarea

aplicațiilor mobile
Societatea modernă a părut să fie fascinată încă de la începuturi de tehnologie și de tot
ce reprezintă aceasta, dar nici un alt dispozitiv nu a avut un impact atât de mare asupra
societății ca telefonul mobil.
Cât de des folosiți smartphone-urile?
Potrivit unui sondaj realizat de „dscout” în 2016, "utilizatorii de smartphone ating
telefoanele lor de 2.617 ori în fiecare zi și petrec o medie de 145 de minute pe telefoanele
mobile". Mai multe persoane din lume au acces la un telefon mobil decât la o sursă de apă
potabilă. Într-un an, petrecem in medie puțin sub 800 de ore folosind dispozitivele mobile, iar
aceste cifre tind să crească cu fiecare dispozitiv vândut, nefiind deloc surprinzător faptul că
ultimii zece ani au fost desemnați drept „decada smartphone-ului”.
Începând cu primele zile ale telefoanelor mobile, (primul telefon cu adevărat mobil este
considerat a fi Motorola DynaTac 8000X – în 1983) singura lor utilizare a fost aceea de a apela
alte persoane ce se află în mișcare. Curând după aceasta a fost introdusă posibilitatea de a
trimite mesaje de tip text. În zilele noastre telefoanele sunt utilizate pentru a face literalmente
totul. De la plăți electronice, email etc. până la urmărirea stilului de viață, smartphone-ul de
astăzi nu are aproape nici o limită.

Utilizatorii de dispozitive mobile sunt unii dintre cei mai activi consumatori.
În 2007, Apple a lansat iPhone-ul. Dispozitivul a reprezentat încă de la început un
standard de referință pentru toate caracteristicile pe care acesta le punea la dispoziție (calitate
audio si video, interfața cu utilizatorul, etc.). Peste noapte iPhone-ul a schimbat modul in care
utilizatorii percepeau smartphone-urile. Smartphone-ul a devenit o experiență in loc să fie doar
un agent de comunicare. În acest mod a început epoca unei concurențe intense pe piața
dispozitivelor mobile.
În noiembrie 2007, Google, principalul concurent al Apple anunță lansarea gratuită a
sistemului de operare dezvoltat de către aceștia - Android. Un an mai târziu aceștia au lansat
G1 (HTC Dream) primul telefon cu sistem de operare Android. Windows sesizează potențialul
de piață, renunță la sistemul de operare dezvoltat până atunci (Windows Mobile) și trece la
dezvoltarea actualului sistem de operare Windows Phone.
Fiind o platformă mobilă de calcul, smartphone-ul se bazează foarte mult pe sistemul
său de operare mobil (OS). Sistemul de operare este parte esențială a unei platforme de calcul
ce gestionează resursele hardware și software ale platformei. În momentul de față Android
capitalizează aproximativ 74.8 % din piață urmat de iOS cu aproximativ 22.9% din piață, lăsând
puțin peste 2% din piață pentru celelalte sisteme de operare mobile. Succesul sistemului de
operare Android se datorează în cea mai mare parte faptului că acesta este oferit gratuit
producătorilor de dispozitive mobile precum Samsung, Huawei etc..

Cota de piață a sistemelor de operare mobile - Aprilie 2019

Cu peste 2.7 miliarde de utilizatori de smartphone-uri în întreaga lume, nu este deloc


surprinzător faptul că industria aplicațiilor mobile este una înfloritoare.

Statistici cheie privind aplicațiile mobile


- Aplicațiile mobile vor genera venituri în valoare de 189 de miliarde de dolari până
în 2020
- Apple AppStore dispune de 1,8 milioane de aplicații disponibile pentru descărcare
- GooglePlay dispune de 2,1 milioane de aplicații disponibile pentru descărcare
- 21% dintre mileniali deschid o aplicație de 50 de ori pe zi
- 57% din toate utilizările media digitale provin din aplicații mobile
- În medie, un utilizator de smartphone utilizează 25 de aplicații în fiecare lună

Motivul pentru care trebuie să continuați să generați idei noi de aplicații mobile este că
piața are o continuă creștere și dispozitivul mobil deja este parte componentă a vieții noastre.
Din ce în ce mai mult parte a comportamentului nostru zilnic se regăsește în diverse aplicații
mobile, fie pe parte de comunicare, fie pe parte de social networking, fie pe parte de magazine
online, fie pe parte de gaming sau chiar de aplicații din domeniul profesional.
Pe măsură ce marketingul mobil continuă să domine in domeniul marketingului digital,
o mulțime de companii sunt în căutarea celor mai recente tehnologii mobile/aplicații mobile,
pentru a face cunoscut brandul, a dobândi clienți noi și a crește veniturile.
Nu rămâneti în urmă. Aveti curajul să incepeti să construiti propria aplicație mobilă?
Adevărul este că, dacă vă lansați în această industrie, aveți nevoie de instrumentul
potrivit pentru a produce aplicații funcționale și de ideea potrivită de a obține evaluarea
aplicației pe care o doriți.
Dar mai mult decât atât, aveti nevoie de limbajul de programare potrivit si compatibil
cu platformele mobile moderne. Milioane de oameni folosesc astăzi smartphone-uri. Deci,
trebuie să construiți aplicații mobile compatibile.
Un raport realizat de „Statista” arată o creștere uriașă a vânzărilor de smartphone-uri
din 2009 până în 2015. Vânzările anuale de smartphone-uri au depășit 1,3 miliarde în 2015,
Android fiind cel mai utilizat sistem de operare pentru acestea.
Descărcări la nivel global

Descărcări anuale exprimate în miliarde

Vedem o creștere a numărului de descărcări în fiecare an această tendință fiind într-o


continuă creștere. Anul trecut, au fost descărcate peste 205 de miliarde de aplicații, o creștere
cu aproape 15% față de anul precedent. După cum se poate observa și din grafic experții prevăd
o creștere cu 25% a numărului de descărcări globale în perioada 2018 – 2022.

Utilizarea aplicațiilor mobile


Cercetările arată că există în medie între 60 si 90 de aplicații instalate pe un dispozitiv
mobil de tip smartphone. Cu toate acestea, oamenii nu utilizează toate aceste aplicații.
Majoritatea timpului petrecut folosind aplicații mobile este împărțit în medie între doar
3 aplicații. Chiar dacă o persoană obișnuită utilizează 25 de aplicații pe lună, 96% din timpul
petrecut folosind aplicațiile este împărțit între doar 10 aplicații. În cazul în care în medie, o
persoană obișnuită are instalate între 60 si 90 de aplicații pe telefon, înseamnă că mai mult de
două treimi din aceste aplicații nu sunt utilizate în fiecare lună. Ce înseamnă asta? Oamenii
descarcă aplicații si nu le folosesc. De fapt, 75% din aplicații sunt utilizate o singură dată după
ce au fost descărcate, și apoi nu au mai fost folosite niciodată.

Aplicații Esențiale

Aplicații esențiale – com.Score Custom Survey, U.S.


2017

Dacă privim acest studiu realizat în Statele Unite în anul 2017 pe un eșantion ce
cuprinde persoane între 18 și 34 de ani, descoperim că toate aplicațiile sunt folosite în scopuri
diferite și ar putea fi folosite zilnic.
- Amazon pentru achiziții
- Gmail pentru comunicarea prin intermediul e-mail
- Facebook pentru social media
- YouTube pentru conținut video
- Maps pentru navigare

Într-un alt raport, s-a estimat că transportul smartphone-urilor in întreaga lume va


depăși 1,6 miliarde până în 2020. Din nou, Android este de așteptat să conducă piața mondială
a smartphone-urilor.
Sisteme de operare pentru dispozitive mobile

În mod normal, acum putem vorbi doar de două sisteme de operare pentru dispozitive
mobile care dețin în momentul de față peste 99% din piața acestora. În ultimii câțiva ani se
poate spune că cei de la Microsoft cu sistemul lor de operare Windows Mobile pentru
dispozitivele lor Windows Phone a fost ca și inexistent pe piață, ceea ce face ca piața să fie
împărțită doar între cele două sisteme de operare iOS si Android.
iOS este sistemul de operare creat de concernul Apple pentru dispozitivele lor mobile,
telefoanele iPhone si tabletele iPad. Este un sistem de operare închis, nu este open-source ca
Android al celor de la Google. iOS este considerat având elemente de interfață de multe ori mai
prietenoase decât al rivalului său și apariția pe piață este realizată odată cu apariția primului
iPhone și anume 29 iulie 2007, dată marcată revoluționară în trendul dispozitivelor mobile la
nivel mondial. De asemenea este cunoscut faptul că iOS este un sistem de operare mai puțin
customizabil decât al celor de la Google. Ambele sisteme de operare provin din versiuni de tipul
UNIX, dar cu toate acestea sunt extrem de diferite unul față de celălalt. Cei de la Apple, ca și cei
de la Google au încercat de la lansare până astăzi să furnizeze utilizatorilor aplicații proprii de
la nivel de comunicare, hărți, browsere, aplicații de gestionare a fișierelor, magazine de aplicații,
aplicații pentru poze, cloud propriu, etc. Ambele sisteme de operare se bazează pe touch și au
elemente de securizare pornind de la tehnologii diferite, de multe ori bazate pe criptare
hardware.
Android este un sistem de operare realizat de către Google în mare parte și Open
Handset Alliance, sistem de operare care funcționează pe mai multe tipuri de dispozitive
mobile, ai mai multor producători. Apariția sa este marcată la peste un an diferență după iOS
și anume 23 septembrie 2008, având foarte multe funcții care copiază sistemul de operare iOS.
De altfel de-a lungul anilor între cei de la Apple și Samsung, cât și Google pe de altă parte au
existat și încă există o mulțime de procese pentru furt de proprietate intelectuală. Este un
sistem de operare după cum am spus anterior având la bază UNIX si este de tip open source.
Este mult mai customizabil decât iOS și rulează pe mult mai multe dispozitive mobile în lume
decât iOS.
Este cunoscut că iOS este mult mai bine securizat ca sistem de operare decât Android
și datorită acestui lucru, aplicațiile din magazinul AppStore sunt mult mai sigure decât cele din
Google Play. Acest lucru este realizat datorită faptului că până la publicarea aplicației în magazin
cei de la Apple o testează efectiv la nivel de linie de cod, chiar și pentru eventuale backdoor-
uri, și nu vor publica aplicația decât dacă procesul va indica o aplicație curată. Acest lucru
durează mult mai mult timp pentru o aplicație ce se dorește a fi publicată în AppStore față de
Google Play, dar este cunoscut faptul că în Google Play poți găsi mult mai ușor aplicații care să
conțină viruși și malware. Pentru a publica o aplicație în Google Play trebuie plătită doar o taxă
de 25 $ o singură dată, spre deosebire de AppStore care percepe o taxă de 99 $ în fiecare an
pentru a avea acces la acest magazin și la instrumentele sale de ajutor. Securizarea celor două
magazine de aplicații este realizată pentru cei de la Apple si prin faptul că nu permit existența
unor alte magazine de aplicații să funcționeze în cadrul aceluiași sistem de operare cu excepția
sistemelor de operare sparte de tipul „jailbraken”. Spre deosebire Android permite altor
magazine să distribuie aplicații de tipul acesta prin magazinele celor de la Amazon și Aptoide,
lucru care nu este permis de Apple.
Amândouă sistemele de operare sunt focusate prin dezvoltarea funcțiilor proprii bazte
pe tehnologia de cloud, ceea ce va duce la sisteme de operare în viitor care să mfolosească
resurse din ce în ce mai puține.

Apple si Android – tendințele de cumpărare a aplicațiilor

În 2017, 85% din vânzările globale de smartphone-uri au fost pentru dispozitivele cu


Android, în timp ce Apple a capitalizat 14% din aceste vânzări. Cu toate acestea, chiar și cu o
cotă de piață mai mică, utilizatorii Apple continuă să cheltuiască mai mulți bani pe aplicații
decât utilizatorii Android. În timp ce aplicația dvs. ar trebui să fie atrăgătoare pentru toți
utilizatorii, veți avea poate mai mult noroc ca utilizatorii iOS să achiziționeze upgrade-uri
premium precum și alte achiziții din aplicații.
Până nu demult toate informațiile prezentate mai sus reprezentau cheia în luarea unei
decizii de business foarte importante: dezvoltarea de aplicații destinată dispozitivelor cu
Android sau cu iOS.

AppStore vs. Google Play

Sursa:www.sensortower.com Creșterea de descărcări la nivel mondial Q4 2020


Sursa:www.sensortower.com Creșterea de descărcări la nivel mondial în 2020

Există două locuri din care majoritatea covârșitoare a utilizatorilor descarcă aplicații
mobile. Utilizatorii ce folosesc dispozitive cu iOS descarcă aplicații din magazinul Apple –
AppStore, în timp ce utilizatorii de dispozitive cu Android din magazinul Google – GooglePlay.
La nivel global, cele mai multe descărcări provin din Magazinul GooglePlay, dar, după
cum se poate observa in graficul de mai sus ambele magazine au înregistrat o creștere a
procentului de descărcări în ultimul trimestru al anului 2020. Descărcările din GooglePlay au
crescut cu aproximativ 27,7% în timp ce Apple Store au avut o rată de creștere de 1,3%, la nivel
ultimului trimestru din 2020. La nivel global creșterea este reprezentată de 20,6%, ceea ce se
încadrează în trendul acestui an pandemic.
În ceea de-a doua imagine se poate observa creșterea accentuată de descărcări din cele
două magazine de aplicații Google Play si Apple Store reprezentată în ultimul an, fapt generat
de pandemia mondială, consumatorii fiind obligați să recurgă la aplicații la distanță pentru
activități curente. Creșterea de asemenea este dominată de Google Play în detrimentul celor
de la Apple.
Cu toate că descărcările din magazinul Google Play sunt cu mult peste cele din
magazinul celor de la Apple și anume 108,6 mld față de 34,4 mld descărcări la nivelul anului
2020, veniturile celor de la Apple sunt cu peste 65% mai mari la nivelul anului 2019, 84 mil $
față de 51 mil $. Diferenţa foarte mare este dată în principal de aplicaţiile non-gaming. Se pare
că utilizatorii de iPhone şi iPad sunt dispuşi să plătească pentru mai multe servicii pe bază de
abonament precum aplicaţii de streaming video sau de muzică, cât şi pentru conţinut în
aplicaţie sau direct pentru aplicaţii pe bani, decât utilizatorii de Android.

Dezvoltarea de aplicații pentru iOS sau Android

Dezvoltarea de aplicații pentru cele două dispozitive mobile depinde foarte mult de
platforma pe care o alegeți să dezvoltați respectivele aplicații.
Aplicațiile Android sunt dezvoltate în cea mai mare parte în Java și în limbaje conexe.
Platforma Java este un limbaj de programare foarte comun, preferat de majoritatea
dezvoltatorilor de aplicații.
Aplicațiile iOS sunt realizate de altfel în limbajul Apple Objective-C, un limbaj ușor de
înțeles pentru cei cu experiență în C sau C++. Cei de la Apple au de asemenea un mediu sau o
platformă dezvoltare, și anume Xcode și în ultimii ani propun un nou limbaj extrem de
revoluționar pentru dispozitive mobile și anume Swift, care inclusiv după părerea celor de la
Google va fi un limbaj extrem de reprezentativ în viitor.
Platforma Android este de tip open source și oricine o poate descărca și lucra cu Android
SDK fără costuri și de asemenea distribui aplicațiile. Android Studio este disponibilă pentru
sistemele de operare Windows, Mac OS și Linux.
Spre deosebire de Android, pentru a realiza aplicații pentru iOS aveți nevoie să platiți o
taxă de 99 $ anual pentru a avea acces la iOS SDK și dreptul de a putea publica aplicația după
acceptul celor de la Apple în AppStore. Acceptul celor de la Apple va fi dat în urma unei verificări
la sânge a aplicației pentru a nu fi infectată.
Datorită fragmentării ridicate și a varietății mari de dispozitive, dezvoltarea aplicațiilor
Android consumă mai mult timp în comparație cu dezvoltarea aplicațiilor iOS.
Dezvoltatorii iOS creează aplicații pentru o singură platformă și, de obicei, au mai puțin
de lucru. În mod normal, este nevoie de aproximativ 30-40% mai mult timp pentru a dezvolta
o aplicație Android de aceeași natură, în comparație cu dezvoltarea iOS. Costul dezvoltării
depinde de o serie de lucruri, cum ar fi numărul de dispozitive țintă, platforma de dezvoltare,
instrumente etc.
Aplicațiile Android pot costa mai mult din cauza gamei extinse de dispozitive și
platforme, dar este bine că Android Studio (platforma de dezvoltare) poate funcționa pe orice
computer modern, spre deosebire de platforma de dezvoltare Apple Xcode, care funcționează
doar pe sistemele Mac.
Există și alte modalități de a crea aplicații de tip iOS sau Android fără limbajele lor
native.

Dezvoltarea aplicațiilor mobile cu ajutorul limbajelor native vs. non-native

Aplicațiile dezvoltate în limbajele native sunt acele aplicații scrise în limbajul de


programare specific platformei pentru care se dezvoltă acea aplicație. Astfel limbajul nativ al
iOS este Objective-C și Swift, iar mediul de dezvoltare este Xcode. Limbajul nativ al lui Android
este Java, iar mediul de programare este Android Studio.
O diferență de bază între aplicațiile dezvoltate în limbajele native și cele non-native,
este timpul de răspuns al aplicației la o anumită cerință. O aplicație scrisă într-un limbaj nativ
va răspunde aproape instant, față de o aplicație care a fost scrisă într-un limbaj non-nativ și
care va trebui în momentul execuției, să zicem tradusă, în limbajul nativ. Un alt avantaj al
limbajelor native este că acestea au acces la toate componentele hardware ale dispozitivului
mobil.
De altfel una dintre cele mai mari provocări în ultimii ani este dezvoltarea acestor medii
de programare ca să răspundă într-un mod cât mai rapid și de a realiza cât mai repede aplicații
mobile. Piața aplicațiilor mobile a explodat ca descărcări și ca funcționalități și necesită medii
de dezvoltare cât mai adecvate și cât mai rapide. Provocarea este de a realiza dezvoltarea
acestor aplicații de dispozitive mobile în același timp pentru toate sistemele de operare, în
special iOS și Android.
De asemenea o provocare extrem de importantă este și menținerea funcționalității în
timp a aplicațiilor, cât și actualizarea acestora prin versiuni ulterioare care să nu pună probleme
imense de dezvoltare, fiind pe sisteme de operare diferite.
Astfel o mare provocare a aplicațiilor native este faptul că acestea sunt pretențioase de
realizat, deoarece necesită cunoștiințe deosebite a programatorului pentru fiecare platformă
în parte. De obicei, în practică pentru fiecare platformă se utilizează programatori diferiți
specializați de la o platformă la alta.
De asemenea, un alt avantaj major pentru folosirea mediilor de lucru native este
reprezentat de faptul că acestea asigură medii de testare gratuite pentru a putea publica
aplicația respectivă în magazinul online.
Există câteva medii de dezvoltare hibridă reprezentate de programarea web prin React
Native, PhoneGap, Angular, etc, platforme care au la bază de altfel JavaScript, HTML, CSS.

Ce reprezintă aceste valori?


Dacă trebuie să dezvoltați o aplicație mobilă, acesta este un moment potrivit. Indiferent
dacă vreti să deveniți dezvoltator sau să angajați un dezvoltator profesionist de aplicatii mobile,
acesta este cel mai bun moment pentru a începe.
Decizia de a intra în această industrie, de dezvoltare a aplicațiilor mobile, nu este
adevarata provocare. Provocarea este - alegerea limbajului de programare corect.
În cele din urmă, trebuie să răspunzi la următoarele întrebări:
1. De unde încep?
2. Ce limbaj de programare voi folosi și de ce?
3. Cum o să-l stăpânesc?
4. Ce ar trebui să caut la un dezvoltator de aplicații mobile?
Acestea sunt doar câteva întrebări de bază care vin în minte de îndată ce va gândiți la
dezvoltarea unei aplicații mobile.
Daca aveți utilizatori țintă atât în spatele Android, cât și iOS, puteti lua în considerare
crearea unei aplicații pentru ambele platforme, cu toate acestea, acest lucru vă va costa mai
mult. De asemenea, este o idee bună ca la început să vă testați aplicația pe o platformă.
Veți putea observa diferența de opțiune a dezvoltatorilor de aplicații între 2014
și 2020. Următorul grafic vă prezintă aproape o altă situație total diferită față de acum 6
ani, în opinia dezvoltatorilor, ceea ce reprezintă demonstrația că piața limbajelor de
Why Kotlin
programarea este într-o permanentă schimbare și evoluție.
Ghidul de mai jos vă va ajuta să alegeți limbajul de programare potrivit pentru
dezvoltarea aplicațiilor mobile. Până la sfârșitul acestui ghid, veți gasi raspunsul la intrebarea
voastra - ce limbaj veți folosi.

1. BuildFire.js

BuildFire.js utilizează BuildFire SDK și Javascript pentru a permite dezvoltatorilor să


construiască rapid aplicații mobile cu puterea back-end-ului BuildFire.
Cu BuildFire, ce are deja plugin-uri care acoperă 70% sau mai mult din cazurile obișnuite
de utilizare a afacerii, dezvoltatorii trebuie doar să construiască o funcție specifică ce este unică
pentru client, decât să construiască întregul lucru de la zero.
Asta înseamnă o dezvoltare mai rapida, mai puține dureri de cap și mai multe aplicații
care se construiesc.
BuildFire.js a fost construit pentru a avea o arhitectura flexibila ce ofera
dezvoltatorilor optiunea de a folosi orice cadru Javascript client-side, cum ar fi: jQuery,
Angular, React, Underscore si multe altele.

Caracteristici cheie:
• Ușor de învățat și funcționează cu cadrele existente pe care le utilizați deja
• Foarte scalabil
• Reduceri de timp cu 40% sau mai mult

Resurse:
• Learn how to build your first app through the developer portal
https://buildfire.com/developers/

2. Python

Să vorbim despre cel mai popular limbaj de dezvoltare a aplicațiilor – Python.


Python este un limbaj de programare la nivel înalt, folosit pe scară largă în dezvoltarea
de aplicații web, dezvoltarea de aplicații mobile, analiza și calculul datelor științifice și numerice,
crearea de aplicatii desktop cu interfata grafica și pentru dezvoltarea software-ului.

Python este cel mai predat limbaj de programare la nivel de școală și colegiu pentru
faptul că are mai multe aplicații în viața reală.

Filozofia de bază a limbajului python este:


• Frumosul este mai bun decât urâtul
• Explicitul este mai bun decât implicitul
• Simplu este mai bun decât complex
• Complexul este mai bun decât complicat
• Descifrabilitatea conteaza
Dacă există un limbaj pe care ar trebui să-l învățați pentru dezvoltarea aplicațiilor,
acesta ar trebui să fie Python, deoarece este ușor de învățat și este minunat la citire.
Python este un limbaj puternic la nivel înalt care poate fi folosit pentru a crea aplicații
Android și desktop de la zero. Doar pentru a vă oferi un indiciu despre cât de puternic este
acest limbaj, Dropbox este creat în Python.

Dacă acest lucru nu este suficient de încurajator, iată o listă a altor aplicații și site-uri
web dezvoltate în Python.
• OpenStack
• Calibre
• Ubuntu Software Center
• World of Tanks
• BitTorrent
• Quora
• Reddit
• Spotify
• Instagram
• YouTube
Lista poate continua…
Potențialul este acolo. Puteți crea orice tip de aplicație mobilă cu Python. Învățând-ul
nu este un lucru complicat, deoarece este unul dintre cele mai ușoare limbaje din jur.
Puteți începe imediat.

Caracteristici cheie:
• Procesat de către interpret în timpul rulării
• Limbaj orientat pe obiect
• Ușor de învățat și stapanit
• Limbaj interactiv
• Ușor de citit
• Scalabil
• Sprijină aplicațiile GUI
• Funcționează pe Windows, Mac, Unix și Linux
Resurse:
• Learn python the hard way – o carte gratuite cu care puteti incepe.
• Write your first python application de Keenan Payne.
• Codeacademy – curs gratuit Python.
• Free Python tips.

3. Java

Java este cel mai folosit limbaj de dezvoltare a aplicațiilor. Potrivit VersionEye, care
urmărește bibliotecile de software open source, dezvoltatorii finalizează majoritatea
proiectelor in Java, urmate de Ruby.

Potrivit PYPL Popularity, Java este cel mai căutat limbaj pe Google pe plan mondial în
anul curent.
Java se află pe primul loc, cu o cotă de 23,4%, Python fiind pe locul al doilea, cu o cotă
de 13,7%. Diferența dintre primul și al doilea loc arată cât de popular este Java printre
dezvoltatori.

Sistemul de operare Android este scris în Java, astfel încât, dacă învățați Java, veți putea
să creați aplicații Android de toate tipurile și acest lucru vă va pozitiona în „scaunul de
conducere”, deoarece veți avea controlul asupra viitorului tehnologiei aplicațiilor.
Java este limbajul cel mai potrivit in dezvoltarea aplicațiilor pentru dispozitive mobile,
deoarece rulează pe toate platformele, inclusiv celebrul Android.

Utilizări
Java este folosit în dezvoltarea de:
• Aplicatii Android
• Aplicatii server
• Aplicatii web
• Embedded space
• Tehnologiile Big data
• Aplicatii stiintifice
• Site-uri web
• Jocuri

Unele dintre cele mai populare aplicatii JAVA:

• ThinkFree cloud office


• NASA world wind
• Blu-ray Disc Association
• UltraMixer

Dar nimic nu bate sistemul de operare Android.


Java se presupune a fi pretutindeni, deoarece este conectat la sistemul de operare
Android. Este o sursă deschisă, este independentă de platformă și are mai multe utilizări în
lumea reală.

Caracteristici cheie:
• Limbaj orientat obiect.
• Ruleaza pe toate platformele.
• Sprijina cu usurinta API-urile care fac integrarea.
• Este usor de invatat si citit.
• Sute de librarii open source disponibile.
• Usor de a obtine ajutor de pe comunitatile Android.
• Un IDE puternic ce face programarea sa fie usoara si fara erori.

Resurse
• Android developer
• Java - tutoriale
• Java tutorial for complete beginners - curs gratuit pe Udemy
• Mai multe Java tutorials by Oracle

4. PHP

Hypertext Preprocessor (PHP) este un limbaj open source de scripting pentru server. A
fost proiectat de Zend Technologies în 1995. A fost dezvoltat pentru site-uri web, dar este
folosit astăzi pentru dezvoltarea generală.

Pe lângă scriptingul pentru server, acesta este folosit pentru scriptingul de linie de
comandă și pentru dezvoltarea aplicatiilor.
PHP este în primul rând un limbaj de programare folosit pentru crearea de site-uri
dinamice, dar puteți crea aplicații Android și iOS în PHP, potrivit lui Zend.
Cu PHP, este posibilă scrierea completă a aplicațiilor Android, iOS și Windows. Suman
Tripathi împărtășește un model cu trei straturi pentru dezvoltarea de aplicații uimitoare în PHP
pentru telefoane mobile.
PHP este cel mai popular limbaj de programare, raportat de Jobs Tractor. Java este
al doilea limbaj de programare cel mai popular.

Imaginați-vă dacă învățați PHP, veți fi în măsură să creați site-uri dinamice, aplicații web
și toate tipurile de aplicații mobile. Este limbajul de programare cel mai folosit, care este
susținut și utilizat de 78,6% de dezvoltatori.

Mai bine, puteți crea aplicații pentru Facebook uimitoare cum ar fi Tree Tree și eBuddy.
Puteți crea următoarea aplicație de top în PHP, cine știe?
În cazul în care nu știți, unele dintre cele mai mari site-uri pe care le vizitați zilnic
sunt dezvoltate în PHP, cum ar fi Facebook, Wikipedia, Flickr, Yahoo, Tumblr și multe
altele.
Utilizări
Puteți dezvolta utilizând PHP mult mai multe, nu doar aplicații mobile:
• Site-uri eCommerce
• Interfata grafica
• Instrumente de gestionare a codului
• Aplicatii Facebook
• Procesare de imagini
• Dezvoltare de aplicatii mobile
• Sisteme de gestionare al continutului, cum ar fi WordPress si Drupal
• Site-uri web dinamice
• Dezvoltare de plugin-uri WordPress
• Creare PDF-uri

Caracteristici cheie:
• Open-source
• Platfoma independenta
• Procedural, dar si orientat obiect
• Usor de invatat
• Numeroase aplicatii ale acestuia
• Compatibilitate server
• Integrarea cu usurinta a bazelor de date

Resurse
• Pear – cel mai bun depozit pentru extensiile PHP
• PHP manual.
• PHP pentru incepatori.
• Video PHP tutorials.
5. Swift

Dacă există un limbaj de programare care are potențialul de a remodela viitorul,


acesta este Swift.

A fost lansat de Apple Inc. în iunie 2014 pentru iOS (și sistemele ce il suporta) și Linux.
Acesta este limbajul de programare principal utilizat pentru dezvoltarea aplicațiilor iOS și OS X.
Swift este limbajul cu cea mai rapidă creștere, potrivit TNW. Cererea pentru
dezvoltatorii Swift a crescut cu 600%, făcându-i cei mai cautati dezvoltatori.
Ți-am spus că dezvoltatorii Swift fac bani serioși? Dezvoltatorii Swift au cele mai mari
salarii medii din SUA.

Nu a existat un timp mai bun pentru a învăța și a dezvolta o aplicație mobilă în Swift.
De asemenea, Google intenționează să facă din Swift limbajul sau de baza (în loc de
Java). Dacă Google trece la Swift, cererea pentru aplicațiile și pentru dezvoltatorii Swift va
crește rapid și nu va mai exista niciun alt limbaj concurențial. Swift înseamnă afaceri.
Unul dintre cele mai cunoscute exemple de aplicații Swift nu este altul decât aplicația
SlideShare iOS, care este complet construită în Swift.
Deocamdată, Swift este disponibil numai pentru dezvoltarea iOS, dar deoarece
funcționează pe Linux și este open source, poate fi folosit de oricine. Este încă nou și cei care
se vor îndrepta spre Swift vor avea avantajul.

Caracteristici cheie:
• Foarte ușor de învățat mai ales dacă știți Objective-C.
• Este open-source.
• Este o versiune simplificată a Objective-C.
• Ușor de codat.
• Întreținerea este foarte ușoară.
• Este viitorul dezvoltării iOS.
• Este nevoie de codificare mai puțina comparativ cu alte limbaje.

Resurse
• Site-ul oficial de dezvoltare Apple
• Beginner’s guide for Swift
• Introduction to Swift
• Learnswift website

6. C#

C# cunoscut ca si C Sharp. Este un limbaj de programare multi-paradigmă, orientat pe


obiecte și componente. Este un limbaj de programare cu scop general dezvoltat de Microsoft.
Puteți crea aproape orice în C#, de la aplicații server la servicii web, de la jocuri la
aplicații mobile și multe altele. Dacă intenționați să dezvoltați un joc pentru dispozitivele
mobile, C# este unul dintre cele mai bune limbaje de lucru, deoarece este susținut de Unity3D.
Majoritatea experților cred că cererea pentru C# scade și nu există suficiente locuri de
muncă disponibile pe piață pentru dezvoltatorii C#.

Xamarin este platforma care a schimbat așteptările experților și dezvoltatorilor. Este un


instrument de construire a aplicațiilor care îl face mai simplu pentru dezvoltatorii C# să creeze
aplicații pentru Android și iOS.

Dar dezvoltarea aplicațiilor mobile nu este singurul lucru pe care dezvoltatorii îl fac, C#
este utilizat pe scară largă în crearea de instrumente pentru afaceri, productivitate,
întreprinderi, utilități, jocuri etc.
Este un mare potențial pentru C#, deoarece este folosit la tot ceea ce vă puteți gândi:
Visual Studio, AutoCAD, Office 365 și SharePoint sunt doar câteva exemple de software
construit cu C#. Este folosit în cea mai mare parte pentru dezvoltarea programelor la nivel de
întreprindere.
Doar pentru a vă oferi un indiciu despre cât de ușor este să creați o aplicație mobilă în
C# utilizând Xamarin, Nish a creat o aplicație într-o singură zi.

Caracteristici cheie:
• Limbaj simplu de folosit
• Utilizat pe scară largă în dezvoltarea aplicațiilor web și a uneltelor mari.
• Este un limbaj type-safe
• Este scalabil
• Acces la .NET framework

Resurse
• Microsoft’s free tutorials
• LearnCS
• .NET blog

7. Objective-C

Objective-C este un limbaj de programare orientat pe obiect care derivă din C.


Obiective-C a fost limbajul de programare folosit de Apple pentru dezvoltarea iOS și OS X înainte
de Swift.
Deși Swift înlocuiește Objective-C, interogările de la StackOverflow arată că
dezvoltatorii încă lucrează la Objective-C.

Același lucru se întâmplă și cu Github, dezvoltatorii inca isi construiesc proiectele în


Objective-C.

Tranziția nu va fi instantanee.
Objective-C nu o sa dispara prea curând, spune Paul Krill, din două motive principale. În
primul rând, au existat multe investiții în ceea ce privește aplicațiile mobile. În al doilea rând,
cadrele aplicațiilor se bazează încă pe Objective-C, chiar după lansarea lui Swift.
Prin urmare, învățarea și dezvoltarea unei aplicații mobile în Objective-C va fi în
continuare plătită. Aveți posibilitatea să creați toate tipurile de aplicații în el, nu este ceva dificil.
Caracteristici cheie:
• Usor de utilizat
• Poti folosi C++ si C in timp ce folosesti Objective-C
• Ruleaza in mod dinamic
• Tastare dinamica
• Functioneaza bine cu Apple Inc.

Resurse

• Objective-C tutorial by Code School


• Crash course by Ray W.
• Training by Apple Inc.

8. C++

C++, pronunțat C Plus Plus, este un limbaj de programare cu scop general, cu


caracteristică de manipulare a memoriei de nivel scăzut.

C++ moștenește sintaxa din C și este o extensie a acestui limbaj. Dacă știți cum să
utilizați C, C++ nu va fi un lucru dificil. Cele două limbaje împărtășesc toate caracteristicile, dar
C++ este mai cuprinzătoare.

Cererea pentru C++ a fost întotdeauna acolo. Nu este vorba doar de dezvoltarea de
aplicații mobile, ci de un limbaj puternic care este utilizat în toate sectoarele ( sectorul financiar,
bancar, productie și altele).
În ceea ce privește aplicațiile mobile, C++ se descurcă foarte bine, deoarece facilitează
dezvoltarea de aplicatii cross-platform cu experiența unică de depanare și a mediului puternic.
Poate fi folosit pentru a crea aplicații uimitoare pentru Android, Windows și iOS.
Nu doar pentru aplicații mobile. C++ are potențialul de a crea unele dintre cele mai mari
instrumente, cum ar fi Google Chrome, Amazon, PayPal, World of Warcraft, Photoshop și multe
altele.
Învățarea C++ înseamnă că veți putea dezvolta fără probleme jocuri, aplicații și software
comercial.

Unele dintre utilizările majore ale C ++ (și C) includ:


• Dezvoltarea sistemelor de operare
• Dezvoltarea noilor limbaje de programare
• Grafica si design
• Dezvoltarea jocurilor
• Dezvoltarea aplicatiilor
• Browsere web
• Compilatoare pentru limbajele de programare
• Aplicatii in medicina, matematica si inginerie
• Instrumente pentru intreprinderi
• Platforme de calcul
Caracteristici cheie
C++ este unul dintre cele mai puternice limbaje cu multe caracteristici.

• Simplu si eficient
• Orientat pe obiecte
• Librarii masive
• Portabil
• Foarte rapid

Resurse
• The official website
• LearnCPP -pentru incepatori
• CPlusPlus -resurse gratuite

9. JavaScript

JavaScript este un limbaj de programare interpretat de nivel înalt. Este un limbaj


multi-paradigma care susține programarea orientată-obiect și funcțională.

JavaScript este clasat pe locul trei în funcție de numărul de locuri de muncă de


programare pe care le oferă.
În schimb, JavaScript nu este în primul rând un limbaj pentru dezvoltarea aplicațiilor,
este un limbaj utilizat de browsere care este folosit pentru a dezvolta și controla paginile web.
Este posibilă crearea de aplicații mobile cu JavaScript, dar trebuie să fie utilizat cu CSS, HTML și
AJAX.
Există mai multe cadre care pot fi folosite pentru a crea o aplicație profesională
JavaScript, cum ar fi PhoneGap, jQuery Mobile și Ionic.
Crearea de aplicații în JavaScript este ușoara deoarece trebuie să dezvoltati aplicația o
singură dată și poate fi lansată pe toate platformele (Android, iOS și Windows).

Caracteristici cheie:
• Unul dintre cele mai simple limbaje. Poate fi invatat in cateva zile.
• Rapid si eficient.
• Se execută pe partea clientului, ceea ce înseamnă că salvează lățimea de bandă
prin faptul că nu utilizează serverul.
• Folosit pentru dinamica si crearea de animatii pe site-uri ce sunt plictisitoare.

Resurse

• The official JavaScript website


• JavaScript Track on Codecademy
• Basics of JavaScript on Udacity

10. HTML5

HTML5 este a cincea versiune a HTML (HyperText Markup Language). HTML5 este
folosit pentru a prezenta conținut pe internet.
HTML5 nu este în esență un limbaj de dezvoltare a aplicațiilor pentru dispozitive mobile.
Pentru a crea o aplicație în HTML5, aceasta trebuie utilizată cu alte limbaje, cum ar fi JavaScript.
Puteți crea aplicații Android, precum și aplicații iOS în HTML5. Singura cerință este
utilizarea unui cadru puternic, cum ar fi PhoneGap.

Joe Wolf împărtășește câteva sfaturi și motive pentru crearea de aplicații HTML5. Puteți
crea o aplicație mobilă în HTML5 (CSS și JavaScript) sau o puteți utiliza în combinație cu API-uri.
În orice caz, aplicațiile HTML5 sunt receptive și funcționează fără probleme pe toate
dispozitivele.
Codați o dată și utilizați-l pe mai multe dispozitive.
Există sute de aplicații web create în HTML5 pe care le utilizați în fiecare zi. Cele mai
cunoscute Google Docs și Google Drive sunt în mare parte codificate în HTML5. Asta nu e tot,
colecția de aplicații Zoho are peste 33 de aplicații și majoritatea sunt dezvoltate în HTML5.

Deci, de ce ai creea o aplicație mobila în HTML5 atunci când există limbaje de


programare mai sofisticate disponibile pentru a alege?
Iată câteva motive pentru a învăța și a dezvolta în HTML5:
1. HTML5 a fost pe deplin adoptat de browserele mobile (și desktop).
2. Suport Cross-Browser.
3. Cu suportul si receptivitatea Cross-Browser, orice lucru creat în HTML5
funcționează fără efort pe toate dispozitivele.
4. Canvas Tag - pentru dezvoltarea jocurilor în HTML5.
5. Codare ușoară și curată.
6. Suportă pe deplin videoclipuri și audio.
Este timpul să luați serios HTML5.
La HTML5 Devcon din San Francisco, entuziasmul spre HTML5 ca platformă de
dezvoltare a fost, atât fantastică, cât și descurajantă. Creșterea entuziaștilor HTML, a
programatorilor și a creatorilor de conținut a fost fantastică și acest lucru indică cât de mult
interes există în HTML5. Partea descurajantă, totuși, este ca recunoaște cât de mult este de
învățat despre HTML5 pentru a-și realiza cu adevărat promisiunea "scrie o dată, ruleaza
oriunde". În special, cum ii ajuta comunitatea HTML5 (furnizori de instrumente, organisme de
standardizare, dezvoltatori cu experiență) pe acești noi dezvoltatori de aplicații HTML5 să aibă
o experiență extraordinară și să o facă egală, dacă nu, chiar mai bună decât experiențele de
dezvoltare ale aplicațiilor native?
In primul rand, sa definim, HTML5 si aplicatiile native. Mă refer la aplicațiile HTML5 fie
ca:
• Aplicatii Web – Aplicații care utilizează numai cod HTML5 (HTML, CSS și
JavaScript) și fără caracteristici de dispozitive native sau API-uri. Aplicațiile web
pot fi difuzate într-un browser oriunde, pe orice dispozitiv, desktop, server etc.
Aplicațiile web pot fi, de asemenea, "ambalate", ceea ce înseamnă că mediul
web-runtime este asociat cu aplicația și, astfel, poate fi distribuit pe un dispozitiv
mobil prin intermediul magazinelor de aplicații.
• Aplicatii hibride – aplicații HTML5 care utilizează funcții native ale dispozitivului,
cum ar fi o cameră foto sau un accelerometru și utilizează API-uri de dispozitiv,
cum ar fi Apache * Cordova (cordova.org). Aceste aplicații sunt, de asemenea,
"ambalate" pentru a fi distribuite de către diferite magazine de aplicații.

Aplicațiile native sunt în general scrise în limba maternă a dispozitivului/platformei de


operare: Android, Java, iOS, Objective C, Windows 8 (Telefon și Windows Store), C ++ sau C #.
Fiecare platformă oferă un alt set de instrumente pentru dezvoltatorii lor de aplicații native,
inclusiv materialele necesare pentru incarcarea lor pe magazinele de aplicații.
Cea mai mare problemă cu aplicațiile native este ca sunt facute disponibile pe mai multe
platforme diferite. Este posibil sa fie nevoie ca părți mari ale aplicației să fie rescrise în limba
maternă a fiecărei platforme pe care o vizați. HTML5 rulează peste tot pe un browser și nu
necesită descărcarea și învățarea unui set de instrumente noi pe platformă. Există o mulțime
de opțiuni pentru instrumente de tip cross-platform pentru a ajuta la crearea aplicațiilor
HTML5, printre altele: Intel® XDK, Telerik * Icenium *, Sencha *, Application Craft *, Adobe *
Edge Tools, inclusiv PhoneGap Build.
Deci, oare soluția pentru crearea unei aplicații cross-platform, care rulează oriunde,
este să o scrieți în HTML5? Probabil, și asta e partea descurajantă. Există câteva avertismente
care trebuie luate în considerare pentru ca o aplicație HTML5 să funcționeze bine. Este
important să le înțelegem pentru a ne asigura că standardele, instrumentele și experiența
dezvoltatorilor cu HTML5 continuă să se îmbunătățească. Iată trei factori care trebuie luati in
considerare pentru a crea aplicații HTML5 excelente:
• Design receptiv. HTML5 vă permite să scrieți cu adevărat aplicații "receptive".
Aceasta este o aplicație care se va redimensiona automat în funcție de browser
și dimensiunea ecranului; detectează și modifică automat interfața cu
utilizatorul (UI) pentru a reflecta pe cea a platformei pe care rulează aplicația; și
se va schimba în funcție de orientarea dispozitivului. Crearea aplicațiilor care
răspund în acest fel este esența "designului receptiv". Acest lucru poate fi activat
prin utilizarea oricărui număr de cadre UI de tip open source, cum ar fi aplicația
Intel, Adobe TopCoat *, jQuery Mobile * sau Twitter Bootstrap *. Pentru
instrumentele care permit "designul receptiv", utilizați instrumentul de
configurare UI App Designer în Intel® XDK sau Adobe * Edge * Reflow *. Pentru
mai multe informații despre ce înseamnă "design receptiv", intra pe
http://alistapart.com/article/responsive-web-design. Pentru a vedea un
videoclip scurt despre o modalitate de a implementa interogarea media
utilizând instrumentul de aspect UI App Designer, vizitați:
http://software.intel.com/en-us/html5/articles/xdkdocs/app-designer-index.
• Performanța. Performanța aplicațiilor HTML5 este mult diferită în limitele unei
vizualizări pe un dispozitiv mobil în comparație cu un browser desktop. Prea
multe manipulări în DOM, pierderi de memorie, alegeri necorespunzătoare în
bibliotecile JavaScript și alte probleme pot duce aplicația dvs. la o functionare
lenta. HTML5 necesită o abordare diferită a programării comparativ cu un
desktop, în care resursele sunt abundente și rapide. Câteva resurse pentru
înțelegerea acestor probleme sunt disponibile aici:
http://floatlearning.com/2011/06/the-cost-of-reflows-on-a-web-app/
si http://maxogden.com/fast-webview-applications.html. Funcționalitatea
aplicațiilor HTML5 va varia în functie de dispozitive. Consultați
http://caniuse.com pentru a înțelege nivelul de asistență între dispozitive.
Dezvoltatorii de succes tind să selecteze un subset judicios de caracteristici
HTML5 pentru a furniza funcționalitatea de care au nevoie.
• Grafică și animație. În ciuda numeroaselor erori, implementarea graficii și a
animațiilor într-o aplicație mobilă HTML5 este de fapt foarte posibilă. Dacă vă
lipsiți de grafica 2D și o păstrați simpla, puteți crea aplicații animate. Obtinerea
unei grafici 3D de mare viteza este recomandata a fi lăsată pentru dezvoltatorul
de aplicații native. Soluțiile hibride de canvas sunt disponibile de la mai mulți
furnizori care îmbunătățesc performanța de baza a panoului standard de
vizualizare web: Interfețele Intel XDK pentru jocuri, Ludei * CocoonJS * și o
platformă de creare de jocuri precum Scirra * Construct 2.

HTML5 este pregătit și capabil să contribuie la crearea unor aplicații uimitoare și


receptive. Rețineți aceste câteva lucruri pentru a îmbunătăți o aplicație și a reduce efortul de a
rescrie pentru mai multe platforme. Instrumentele HTML5 și cadrele de aplicații evoluează
rapid, îmbunătățind continuu experiența dezvoltării, pentru a permite HTML5 să ajungă la
promisiunea ei de a rula oriunde.
Singura întrebare este: Ce inseamna „ sa functioneze oriunde”? Este vorba de telefoane,
tablete sau Ultrabook? Acestea sunt evidente. Cum rămâne cu televiziunea, cu sistemele de
informare ale unei mașini sau cu Internet of Things?

Caracteristici cheie:
• Usor de invatat
• Suport pentru dispozitivele mobile
• Design receptiv cu suport pentru toate dispozitivele
• Caracteristica drag-and-drop
Resurse
• Learn HTML5 programming from scratch at Udemy.
• HTML5 cheat sheet pentru incepatori
• HTML5 guide by Mozilla.

11. Ruby

Ruby este un limbaj de programare orientat pe obiect. A fost dezvoltat de Yukihiro Matz
Matsumoto în anii 1990. Aceasta susține mai multe paradigme.

Cererea pentru dezvoltatorii Ruby este de cinci ori mai mare decât cererea pentru
dezvoltatorii Python. Acesta limbajul de programare cu cea mai mare creștere, iar un
dezvoltator Ruby câștigă in medie $ 77K pe proiect, în timp ce altii câștigă până la $ 112.000.

Analiza a peste 50 de servere de depozitare arată că Ruby este al doilea limbaj, în timp
ce Java se află în fruntea clasamentului.
Nu puteți crea o aplicație mobilă pe Ruby fără a utiliza un framework precum
RubyMotion sau Rhodes. Utilizând unul dintre aceste cadre, puteți crea aplicații pentru
Android, iOS, Windows și OS X

Dacă există un limbaj care este cel mai ușor dintre toate, acesta este Ruby. Puteți crea
o aplicație în 10 minute pe Ruby. Nu este doar ușor de codat.
Unele dintre cele mai mari site-uri sunt codificate în Ruby, cum ar fi Fiverr, Airbnb,
Pixlr, Groupon, Basecamp, Scribd, Bloomberg, ThemeForest și multe altele.
Este ușor și puternic. De ce să nu-l utilizați pentru a crea o aplicație mobilă de nivel
superior.

Caracteristici cheie:
• Tastare dinamica.
• Limbaj orientat obiect.
• Codare usoara. Orcine poate reusi.
• Potrivit pentru incepatori.
• Refolosirea codului.
• Comunitate de ajutor.
Resurse
• Ruby course by Code Academy.
• Rail Casts.
• Learn Ruby the hard way.

12. Perl

Perl este o combinație de două limbaje (Perl 5 și Perl 6). Aceasta este o familie de
limbaje de programare dinamică la nivel înalt. Utilizează funcții din alte limbaje de programare
precum C, sed, AWK și altele. Atât Perl 5 cât și Perl 6 rulează și evoluează independent.

Perl este folosit pentru o mulțime de aplicații cum ar fi automatizarea, bioinformatica,


dezvoltarea site-ului, dezvoltarea aplicațiilor, dezvoltarea jocurilor și altele.
LiveJournal, IMDB și Booking sunt câteva site-uri populare dezvoltate în Perl.
Dezvoltarea de aplicații Android în Perl este mai ușoară decât înainte, deoarece Google
are acum APK-ul disponibil pentru dezvoltatorii Perl.
Pentru dezvoltarea aplicațiilor iOS, trebuie să utilizați un framework. Catalyst, Dancer și
Mojo sunt cele mai cunoscute framework-uri pentru dezvoltarea aplicațiilor mobile Perl.

Caracteristici cheie:
• Caracteristica cea mai puternica este CPAN care este reteaua globala de arhiva
Perl
• Rapid, sigur si personal
• Este distractiv. Perl are cei mai fericiti utilizatori.
• Daca inveti Perl, te situezi intr-o zona fara competitie.

Resurse
• How to build Perl on Android.
• Official Perl website.
• Perl for beginners.

13. Rust

Rust este un limbaj de programare compilat de Mozilla. Este un limbaj bazat pe o


multime de paradigme cu scop general.
Recent, Rust a primit titlul de „Cel mai iubit limbaj de programare 2016” prin sondajul
dezvoltatorilor StackOverflow.

Rust este ca și C sau C ++, dar este mai sigur și mai bun. Dispune de un instrument de
gestionare puternic care îl face mai bun decât alte limbaje de programare, cum ar fi Ruby și
Python.
Mai mult de 64% dintre dezvoltatori folosesc Rust, ceea ce îl face destul de popular
printre dezvoltatori.

Rust este încă limbaj nou care nu a ajuns la maturitate, dar are un viitor minunat. Există
dezvoltatori care utilizează Rust pentru a crea aplicații mobile precum John Gallagher, care a
creat o aplicație iOS în Rust.
Motorul de căutare Mozialla, cunoscut sub numele de Servo, este dezvoltat în Rust. Asta
nu este tot, există alte proiecte mari finalizate în Rust, de exemplu, Piston, Zinc și Maidsafe.
Învățarea Rust în acest moment și crearea unei aplicații mobile vă va pozitiona in top.
Rust are potențialul de a depasi C și C ++ în viitorul apropiat.

Caracteristici cheie:
• NU este usor de invatat.
• Mai sigur decat alte limbaje folosite.
• Rapid.
• Folosit pentru a crea o multime de aplicatii din diferite domenii.
• Cargo, sistemul de constructie, foarte cunoscut printre dezvoltatori.
• Dezvoltatorii sunt indragostiti de Rust.
Resurse
• Rust by example.
• Introduction to Rust.
• A 30-minute introduction to Rust.

14. SQL

Structured Query Language (SQL) este un limbaj de programare folosit pentru in


sistemele de gestionare a bazelor de date relaționale, analiza bazelor de date și pentru
prelucrarea datelor.

SQL nu este un limbaj care este utilizată pentru dezvoltarea aplicațiilor mobile, dar
acceptă aplicații. Aplicațiile mobile în care trebuie să accesați date de pe server folosesc SQL.
În esență, limbajul unic va fi integrat cu majoritatea aplicațiilor mobile. Învățarea SQL este, prin
urmare, crucială.
Caracteristici cheie:
• Cel mai bun lucru cu privire la SQL este ca nu necesita de codare.
• Portabil si functioneaza cu toate limbajele.
• Cel mai simplu limbaj de invatat.
• Standardele SQL il fac chiar mai usor de inteles si de a manipula bazele de date
• Functioneaza ca un limbaj de programare si este interactiv.
• Limbaj client-server.
• Se integreaza usor cu Java.

Resurse
• Free beginner course by SQL course.
• Learn SQL free course by Code Academy.
• SQL Zoo.

15. Delphi

Prima data a fost Turbo Pascal, proiectat de Anders Hejlsberg.


Apoi a aparut Delphi proiectat de Anders Hejlsberg.
Apoi, în înțelepciunea lor infinită, Microsoft a decis să il cumpere pe Anders Hejlsberg
de la Borland (compania care a vândut Turbo Pascal și Delphi).
Apoi a venit C #, proiectat de acelasi Anders Hejlsberg.

Delphi este cel mai puternic Object Pascal IDE și are o puternică bibliotecă de
componente pentru dezvoltarea aplicațiilor native cross-platform, cu servicii Cloud flexibile și
conectivitate largă IoT. Acesta oferă controale puternice VCL pentru Windows 10 și permite
dezvoltarea FMX pentru Windows, Mac și Mobile. Delphi este alegerea dvs. pentru ultrarapid
Enterprise Strong Development ™. Căutați memorie sporită pentru proiectele mari, suport
multi-monitor extins, Object Inspector îmbunătățit și multe altele. Delphi este de 5 ori mai rapid
la dezvoltarea și implementarea pe mai multe platforme desktop, mobile, cloud și baze de date,
inclusiv Windows 10 pe 32 de biți și pe 64 de biți.

Delphi este acum un limbaj de programare foarte modern și capabil intreptat catre
Windows, iOS, Android și OSX. De la Delphi Xe7 există o foarte puternică bibliotecă cross-
platform pentru multithreading. Cadrul Firemonkey pentru proiectarea GUI este incredibil de
puternic, de asemenea, mult mai puternic decât java sau C # poate oferi. Puteți programa
aplicația grafică 3D: este foarte cool! Există, de asemenea, livebindings care vă permit să faceți
legătura și să schimbați ușor datele între obiecte (din cod sau vizual). Cu livebindings puteți
difuza ușor evenimentul la obiecte multiple (cum ar fi în c #). Delphi este foarte puternic cu
bazele de date (mo need linq) și cu serviciile cloud (nu numai de la microsoft sau de la oracle).
Delphi este un limbaj de programare mult mai deschis. Este limbajul cel mai lizibil pe care il
cunosc, mult mai mult decât c++. Puteți, de asemenea, să scrieti software pentru anumite
componente hardware, deoarece aveți compilare condiționata (și pointeri când este nevoie să-
i vedeți) și asamblator integrat.

Fiecare programator ar trebui să recunoască faptul ca in limbajul de programare Delphi


au fost create programe intr-un mod rapid și este pe primul loc în lume prin faptul ca acestea
ocupa mai puțin spațiu în memorie.
Delphi are multe caracteristici bune, dar a murit încet, din cauza felului in care a fost
susținut și comercializat în ultimii 15 ani. Dacă ar exista vreo suspiciune, ati crede că Microsoft
ar fi putut să-și planteze o grămadă de saboteori în organizația Delphi pentru ai submina din
interior. Au făcut aproape totul greșit, inclusiv versiunea ciudată 8 care era doar .net. Aproape
nimeni nu a folosit versiunea. În ultima vreme au mers in zig-zag și au schimbat aproape
complet produsul. În acest proces, au scos versiuni pline de bug-uri și au început să creasca
pretul în fiecare an intr-un mod considerabil. Punerea pe piata a unui sistem de dezvoltare plin
de bug-uri care costă destul de mult este o modalitate excelentă de a pierde utilizatori, în timp
ce Microsoft practic profită de acest lucru. Cei mai multi se îndepărtează de Delphi.
Dacă obiectivul dvs. este de a crea rapid un produs stabil, aveți costuri de întreținere
extrem de scăzute și doriți să vă asigurați că baza de cod este încă relevantă după 20 de ani,
atunci Delphi este în mod clar limbajul de programare mai bun.
C# este doar pentru aplicații business-to-business sau pentru aplicatii (web) in-business.
Delphi este mai bun în aplicații tehnice și in soluții big-data unde performanța și execuția
codului previzibil este o problemă.
Dacă dezvolti un produs comercial (end-user), atunci C # nu este o opțiune cu excepția
cazului în care nu vă pasă de expunerea la cod și de functionarea pe mai multe platforme.

Delphi a fost pentru timpul său (în special a doua jumătate a anilor 1990) un limbaj
extrem de avansat, cu mai multe avantaje:

1. Sintaxa foarte clara, ceea ce duce la cod lizibil.


2. Documentatie masiva, in special pentru primele versiuni.
3. Un IDE revoluționar, care a permis implementarea GUI-urilor prin drag&drop
făcând ușor de implementat un UI frumos, de adaugat rutine de tratare a
evenimentelor și să fie testat în timp real. A fost cel mai apropiat de conceptul
RAD (Rapid Application Development) la momentul respectiv.
4. Un mecanism de extensii care permit crearea simplă a componentelor, care ar
putea fi integrate în IDE.
5. arhitectură interesantă pentru a implementa aplicații desktop client-server,
incluzand suport pentru baze de date SQL, care au devenit apoi mainstream.
6. Bazându-se pe Pascal, avea șiruri de caractere. Ar putea părea neimportant
acum, dar amintiți-vă că în C aveati de-a face cu pointeri. Limbajele compilate
nu aveau șiruri de caractere native atunci.
7. Suport pentru întregul Windows API.
8. Caracteristici de nivel scăzut: capacitatea de a folosi DLL-uri de la terțe părți,
scrierea blocurilor de coduri de asamblare sau utilizarea Windows hooks.
9. În timpul apogeului său, o comunitate extraordinară care a contribuit cu tone
de cod de înaltă calitate sub formă de componente, mai multe dintre ele
complet gratuite și cu cod sursă inclus.

Multe dintre avantajele Delphi pot fi circumscrise perioadei în care a apărut și au


devenit mult mai puțin relevante pe măsură ce lumea s-a mutat de la aplicațiile desktop și
client-server bazate pe Windows la starea curentă de limbaje și aplicații web dinamice. La
inceputul anilor 2000 încă prezenta interes, dar Java și .NET au crescut că aproape l-au facut
sa dispară de pe piață.
Din anumite motive, se pare că Borland (și succesorii lor) nu au înțeles niciodată cum să facă
limbajul să crească la potențialul maxim. Unele exemple simple sunt modul în care a fost tratată
comunitatea - întotdeauna la distanță, niciodată pe deplin îmbrățișată, uneori abordată ca o
amenințare la adresa mărcii; și confuzia prezentata în timp ce a dezvoltat versiune dupa
versiune.

Aici este o lista cu companii faimoase care au folosit Delphi in 2014:


• Nero Burning Rom, CD/DVD burning software
• Skype, network telephony, voIP application
• Macromedia DreamWeaver, HTML website builder [bought by Adobe]
• Embarcadero C++ Builder IDE, Commercial C++ IDE written in Delphi
• Smart Mobile Studio, IDE and compiler toolchain for HTML5/JavaScript
• Homesite, HTML website editor [bought by Adobe, merged with DreamWeaver]
• FL Studio Pro, professional sound sequencer and synthesizer
• InstallAware, software installer
• InnoSetup, software installer
• DBase, rock solid database management application [Delphi & C++]
• WinRAR, compression application
• Partition Magic, Disk partitioning and cloning suite
• The online trader, Live stock exchange and trading application
• Syncback Pro, Brilliant backup application

Jocuri Comerciale
• Space Rangers, Game written in Delphi
• Abra Academy, Game title by Big Fish games
• Tunngle, global LAN gaming network
• Soldat, online action game
• Age of Wonders, strategy game

De-a lungul ultimilor ani, Delphi a extins suportul pentru platforme, astfel încât să puteți
viza în mod nativ Windows și OSX, precum și iOS și Android de la aceeași bază de coduri. În
același timp, au adăugat suport consistent REST, FireDAC pentru accesul la date, suport Cloud
pentru AWS și Azure și o grămadă de alte lucruri. Noii clienți cu care s-au angajat au fost în
mare parte influențați de suportul mobil și de productivitatea care face parte din Delphi încă
de la început.
Pentru viitor? Mai multe dispozitive, mai mult suport backend, mai mult suport pentru
baze de date. CodeRage C++ (CodeRage 8 - C++ Conference Sessions) apare în curând și este
planificata o actualizare a foii de parcurs, care ar trebui să ofere mai multe detalii.

Intrebarea este urmatoarea: Este Delphi inca relevant in 2018?


Mai întâi de toate, trebuie făcută o mare distincție între șirurile pre-și post-unicode.
Este adevărat că înainte ca Delphi sa treaca la Unicode a fost un pic mai lent (cu toate că nu
atât de mult), dar complet schimbat cu adăugarea de Unicode, instrumente generice și RTTI
moderne.
De asemenea, merită remarcat faptul că C# și Delphi împărtășesc același tată și există
chiar zvonuri (nu sunt sigur daca sunt fondate) că .NET a fost inițial o inițiativă Borland care a
fost în mare parte eliminată de cei de la Microsoft. Oricum, o mulțime de caracteristici care fac
C# ceea ce este sunt cu siguranță împrumutate de la Delphi. Și aceasta este doar pentru a pune
lucrurile în context.
Alții au subliniat deja cat de „importanta” este o opinie, așa că nu voi intra nici in acest
subiect.
Cu toate acestea, mă voi angaja în a va arăta ce puteți face cu Delphi astăzi, ceea ce este
mult mai greu de făcut folosind alte limbaje și IDE-uri:
• Partajarea codurilor pe toate dispozitivele: cea mai mare parte a codului, dacă este
făcută în mod corespunzător, poate funcționa fără modificări pe Windows, MacOS X,
Android și iOS.
• Este ușor să creați coduri de testare cross platform: dacă scrieți codul pentru
aplicația VCL, folosind interfețe, este foarte ușor să executati un unit-test și să il
reutilizați pe alte platforme. Acest lucru este valabil în special dacă codul menționat
este in stadiul de producție, deoarece în acest moment este doar o chestiune de
utilizare a biților de care aveți nevoie
• RTTI extinsă vă ajută cu adevărat atunci când vine vorba de JSON: majoritatea
bibliotecilor vă vor permite să faceți astfel:

1. var MyJSon: String;


2. MyClass: TMyClass;
3. begin
4. MyClass := TMyClass.Create;
5. MyJSon := MyClass.AsJson;
6. MyClass.Free;
7. // other code using JSON
8. end;

Cele de mai sus sunt în plus față de lucrurile minunate pe care le-am avut deja pentru
decenii, cum ar fi un linker inteligent care adaugă doar codul obiect pe care aplicația îl folosește
și fiind capabil să distribuie un singur .exe sau mai multe pachete de-a lungul .exe-ului principal
după cum este necesar. Cu alte cuvinte, putem alege și nu suntem blocați cu alții. De asemenea,
capacitatea de a crea propriile componente și controale sau de a folosi ActiveX etc., este un
plus major.
Acum, puteți susține că nu există, de exemplu, analizoare de cod sursă static, dar în mod
fundamental greșiti deoarece există cel puțin unul numit FixInsight. Sigur, ar fi mai bine dacă ar
exista mai multe, dar cel puțin nu sunteti neajutorati.
Oh, da, și există o cantitate considerabila de cod folosind Delphi și veți observa câte
pachete software de bază sunt produse în Delphi, cum ar fi Skype pentru Windows (singurul
care nu este Delphi este partea VOIP, aceasta e C sau C++) mulțime de pachete verticale au
reușit să rămână relevante atât de mult datorita lui Delphi, nu în ciuda acestuia.
Trebuie să răspundem la câteva întrebări: Care este limbajul de programare mai bun:
Delphi sau C#? Este C# mai bun decât Java? Cum se compară Delphi cu Java?
Java a fost primul dintre cele două limbaje care urmau să fie create, iar C# a fost creată
la scurt timp după. În ultimii 20 de ani, aceste două limbaje au crescut și au evoluat împreună.
Ca limbaj mai nou, C# a introdus multe caracteristici care nu sunt disponibile în Java, în special
pentru a oferi o alternativă la Java și la ceea ce Sun (acum, Oracle) a creat.
De atunci, aceste limbaje au jucat un joc de "leapșa". De fiecare dată când unul dintre
ele vine cu o nouă caracteristică sau cu o nouă modalitate de a face ceva, celălalt nu este cu
mult in urma.
În versiunile recente, Java a adăugat suport pentru lucruri precum Lambdas și
programarea asincronă, deși dezvoltatorii C# (și poate chiar Java) ar susține că au încă mult de
parcurs. Aș susține că acest lucru ar putea fi privit ca un punct pentru Java atunci când se
stabilește ce limbaj are mai mult potențial pentru viitor.
În plus, Oracle a făcut recent schimbări majore în Java 9 prin modularea platformei și
prin introducerea unor noi modalități de adaugare a unor caracteristici, inclusiv a unor noi
module incubator. Acestea vor avea caracteristici noi, nu destul de pregătite pentru utilizatorii
din OpenJDK pentru a obține un feedback mai bun înainte de a fi lansați oficial ca parte a JDK.
Alte noutati, în ceea ce privește potențialul limbajului, echipa Oracle a anunțat recent
că Java va trece la un ciclu de lansare pe 6 luni. Asta înseamnă că nu mai așteptați ani și ani
pentru finalizarea unui proiect masiv precum Lambdas sau modularizarea întregii platforme. În
schimb, vom obține reparații rapide și mici caracteristici mai des și întregul proces de dezvoltare
se va accelera.
Toate acestea nu înseamnă că Java este cel mai bun limbaj. De fapt, cred că aceste
limbaje s-au dezvoltat să fie două dintre cele mai importante limbaje de programare din lume
din cauza concurenței (în cea mai mare parte) sănătoasă care există între creatorii, dezvoltatorii
și comunitățile lor.
Unii dezvoltatori consideră că C# este un limbaj de programare mai bun comparandu-l
cu Java:

1. C# vă permite să declarați metode de extensie, Java nu;


2. C# vă permite să declarați proprietăți în clase, Java nu;
3. C# vă permite să declarați generice cu tipuri primitive, Java nu;
4. Sintaxa pentru generice în C# este mai clară decât în Java;
5. C# suportă varianța de clasă, Java nu;
6. C# are o extensie de programare asincronă integrată în limbaj, Java nu;
7. C# are LINQ, Java nu;
8. C# are un suport lambda foarte frumos, Java are, dar mai puțin sofisticat;
9. C# este mai puțin birocratic decât Java, scrieți mai puțin și obțineți mai mult;
10. C# permite utilizarea inline a claselor anonime, Java nu.
Fiecare dintre cele de mai sus poate reprezenta un avantaj nu atât de important pentru
C# fata de Java, dar când le combinați în cod, lucrurile devin foarte interesante.
Unii utilizatori consideră C# mai bun decât Java deoarece:
• Visual Studio este unul dintre cele mai bune IDE
Visual Studio exista de zeci de ani, s-a îmbunătățit în multe feluri. Să începem de la
chestii de bază cum ar fi faptul că este gratuit. Visual Studio Community este gratuit
pentru dezvoltatorii individuali, include 90% din caracteristicile pe care le oferă
versiunea pro, astfel încât să puteți profita de numeroasele caracteristici ale VS fără a
le achiziționa chiar. IntelliSense în VS este de departe cel mai bun pe care l-am întâlnit
vreodată în comparație cu oricare alt pe care l-am folosit: Eclipse, Idea și NetBeans.
Visual Studio 2015, care este versiunea pe care am folosesit-o înainte de cea mai
recentă versiune 2017, are nenumărate caracteristici cum ar fi:
• Nuget
• Testarea (și acum testarea live)
• Refractor și sugestii
• IntelliSense (functional)
• Rapid
• Mapări cheie (scurtăturile, potrivirea și navigarea sunt uimitoare)
• Code peeking
• Suport lingvistic (care lipseste din multe IDE-uri Java)
• Puncte de întrerupere și debugger (Nu există IDE Java care sa se compare cu VS în
acest punct)


acest • Puncte de întrerupere și depanare (Nu există IDE Java în comparație cupunct)
VS în

Comparația performanțelor dintre Visual Studio și Eclipse sau IntelliJ Idea este doar
nedreaptă, VS este superior fata de aceste IDE-uri când vine vorba de cât de rapid și precis
este intelliSense. Nu este comparabil cu standardele actuale.

• MSDN este mai bun decat Oracle Docs

MSDN nu numai că arată mai bine, ci oferă exemple bune, clase și metode bine
documentate și, mai presus de toate, este la curent cu toate specificațiile limbajului lansate.

• Community

C # este cel mai folosit în medii profesionale pentru a aborda mai multe sarcini în
profunzime. Sigur că acest lucru nu face ca Java să fie un limbaj mai mic prin orice mijloace,
dar contribuie foarte mult pentru oamenii care doresc să intre in aceasta industrie.

Lucrurile prin care Java este superior fata de C# sunt:

1. Java este un limbaj robust in comparatie cu C#.


2. Mai mult de 1 miliard de dispozitive folosesc Java.
3. Un set bogat de biblioteci.
4. Multi-platform, ofera o punte intre Linux si Windows.
5. Comunitatea Java este foarte mare.
6. Limbaj nativ pentru dezvoltarea Android.
7. Matur, stabil and predictibil.
8. Performanta si rapiditate.
9. Ajusteaza hardware-ul in mod dinamic.
10. Mai multe locuri de munca pentru platformele Java.

Concluzii
Trebuie să înțelegeți că majoritatea consumatorilor își încep cautarea unor experiente
pe dispozitivele mobile, și nu pe calculatoarele lor. Prin urmare, trebuie să creați aplicații mobile
care să răspundă acestor consumatori.
Creați și o pictogramă uimitoare pentru aplicatie.
Foarte cautate in ultimul timp sunt fie Swift, fie BuildFire.js.
Acestea sunt cele două limbaje de programare care vor redefini viitorul programării -
mai devreme sau mai târziu.

16. React-Native

În domeniul aplicațiilor mobile, dezvoltatorii


caută întodeauna să scurteze ciclurile de dezvoltare, să
obțină timpi mai buni de implementare și performanță
mai bună a aplicațiilor. Cu doua sisteme de operare care
domină peisajul (iOS și Android), dezvoltatorii se
confruntă adesea cu un compromis: aplicații ce oferă o
mai bună experiență pentru utilizatori sau aplicații ce
necesită un timp mai scurt de dezvoltare și pot rula pe
mai multe platforme și dispozitive. La intersectia dintre experiența utilizatorului și usurința în
dezvoltare se află aplicatiile mobile hibride, aplicații construite cu tehnologii cunoscute (cum ar
fi JavaScript, HTML5 și CSS) ce sunt împachetate într-un container care le permite aplicațiilor
să ruleze nativ pe un dispozitiv.
React Native este un framework JavaScript pentru dezvoltarea de aplicatii mobile
native pentru iOS, Android. Asa cum sugereaza si numele acesteia se bazeaza pe React (librarie
Javascript create de Facebook pentru dezvoltarea de interfete grafice) avand ca platform tinta,
dispozitivele mobile. Aplicatiile React Native sunt scrise folosind JavaScript si JSX (extensie a
JavaScript), iar in momentul executiei acestea invoca API-uri specifice platformei (Objective-C
sau Java) ceea ce inseamna ca aplicatia este compusa din componente native spre deosebire
de Cordova unde vorbim despre o interfata web. Aplicatiile dezvoltate cu ajutorul React Native
vor arata si se vor comporta ca orice alta aplicatie nativă. Deoarece React Native apeleaza API-
uri specifice platformei, aceasta poate accesa functii specific dispozitivelor mobile, functii
precum camera, locatia, contactele utilizatorului.
React Native introduce un concept relativ nou, acela de aplicație cross-platform native.
Acest Framework este bazat pe React for Web, ce este o librărie JavaScript dezvoltată
de Facebook pentru realizarea diferitelor aplicații web destinate să ruleze la nivel de browser.
Aplicația este scrisă o singura dată fiind disponibilă pentru ambele platforme fapt ce duce la
scăderea timpului de dezvoltare, la scăderea costurilor de dezvoltare. Aplicațiile pot fi
dezvoltate de aceeași echipă pentru ambele platforme, pătrunderea și capitalizarea acestora
fiind mult mai rapidă pe ambele piețe, generând profituri mai mari și mai rapide. Fiind dezvoltat
și susținut de către Facebook, React Native se bucură de o popularitate destul de mare și de o
comunitate imensă ce ajută la dezvoltarea continuă a acestui Framework.
Un alt motiv pentru care React Native se bucură de o popularitate atât de mare este
datorat faptului că satisface în același timp ambele platforme punând capăt disputei care putea
face diferența dintre eșec și succes. Prin urmare, companii gigant precum Facebook, Instagram,
Skype, Airbnb, Tesla și mulți alții și-au îndreptat privirile către acesta. Mai mult, utilizarea
Framework-ului React Native umple decalajul dintre concentrarea pe o piață largă cu mai mulți
utilizatori sau generarea de profituri mai mari. Având în vedere că numărul utilizatorilor de
dispozitive iOS este mai mic decât al celor ce folosesc Android, dar sunt dispuși să cheltuie mai
mulți bani pe aplicații, mulți dezvoltatori erau împărțiți între a pune accentul pe generarea de
profituri mai mari sau prin capitalizarea unei cote de piață mai mare.

Avantajele React Native:


JavaScript – React Native foloseste JavaScript, unul dintre cele mai răspândite si rapide
limbaje de programare, ceea ce il face destul de usor de invatat, ceea ce inseamna ca vei găsi
destul de usor dezvoltatori. Atunci când se începe dezvoltarea unei aplicații folosind un
Framework relativ nou apare întotdeauna preocuparea asupra fiabilității acestuia precum și a
sprijinului de care acesta va dispune în viitor. Din moment ce acesta este sprijinit de Facebook,
are o comunitate ce se află într-o continuă dezvoltare, iar multe companii mari au decis să îl
folosească, fac din React Native o unealtă pentru viitor.
Posibilitatile de update ale aplicatiilor – React Native permite trimiterea de update-uri
direct catre dispozitivul utilizatorului fara ca utilizatorul sa fie nevoit sa descarce update-urile
din Google Play sau AppStore. React Native oferă un mediu de dezvoltare deosebit. Pentru
început acesta permite ca modificările să se realizeze în timp ce aplicația rulează eliminând
necesitatea reporniri acesteia la fiecare modificare. Hot Reloading – încărcarea rapidă a
aplicației permite vizualizarea modificărilor de interfață în timp ce acestea sunt efectuate în
fișiere. În consecință se simplifică circuitul de iterație prin eliminarea etapelor de rebuild și
deploy la fiecare modificare. Mai mult decât atât, React Native folosește Flexbox pentru
generarea layout-urilor și crearea de ecrane atât pentru aplicațiile iOS, cât și pentru Android.
De asemenea, acesta este compatibil cu Chrome Developer Tools, instrumentul pus la
dispoziție de browserul Chrome. Ca rezultat, puteți obține rapid și facil acces la instrumente de
depanare atunci când apar probleme în scrierea codului. În cele din urmă React Native se
bucură de un sprijin masiv din partea comunității ce se află într-o continuă creștere, și oferă
componente ce sunt ușor de folosit și sunt bine documentate, ceea ce face ca procesul de
dezvoltare a aplicațiilor să fie mult mai rapid.
Performante si Interfata Grafica – Metodele utilizate in present pentru scrierea
aplicatiilor mobile reprezinta o combinatie de JavaScript, HTML si CSS redata in mod obisnuit
ca si aplicatii web. Aceasta abordare funcționează, dar are dezavantaje în ceea ce privește
performanțele. Crearea de animații și tranziții, spre exemplu, pot fi activități costisitoare in care
se poate investii mult timp și efort, și avand în vedere modificările grafice destul de dese
apărute asupra sistemelor de operare acestea vor devenii depășite în foarte scurt timp. Spre
deosebire de acestea React-Native translatează obiectele folosite în dezvoltarea aplicației în
obiecte native specific fiecărei platforme.
Aplicatiile de tip Cross-Platform folosind React Native în dezvoltarea de aplicații mobile
pot duce la scăderea semnificativă a resurselor necesare. Mare parte din cod poate fi distribuit
pe mai multe platforme. React Native a fost inițial introdus pentru iOS. Cu toate acestea
datorită capabilităților și funcționalităților sale, Facebook l-a introdus și pentru Android. Acum,
majoritatea API-urilor React Native sunt cross-platform ceea ce presupune că dezvoltatorii pot
crea, folosind același cod, in mod simultan aplicații pentru cele două platforme. Atunci când
este necesar ca dezvoltarea să fie specifică platformei (partea de design specifică iOS sau
Android sau accesarea diferitelor componente fizice ale dispozitivului – camera, nfc, senzori,
etc.), React Native furnizează module specifice sistemului de operare ce detectează platforma
pe care rulează aplicația și se comportă în consecință accesând librăriile specifice fiecărui sistem
de operare. Facebook susține că aplicația Facebook Ads Manager dezvoltată pentru Android
împarte 85% din codul sursă cu versiunea pentru iOS. Trebuie să avem în vedere că, în funcție
de specificul aplicației, nu tot codul sursa este 100% portabil pe mai multe platform.

Dezavantajele React-Native:
Maturitatea – Ca si platforma React Native este o platform foarte tânără. Acesta a fost
lansat în martie 2015 pentru iOS, iar 5 luni mai târziu a apărut și versiunea pentru Android. Din
cauza acestui lucru documentația este încă destul de puțină, dar având Facebook de partea sa,
acesta continuă să se dezvolte. Framework-ul React Native nu este perfect și nu este lipsit de
probleme. Încă lipsesc module sau sunt incomplet dezvoltate, ceea ce vă poate determina să
petreceți mai mult timp pentru a vă construi module proprii.
Debug-ing – React Native introduce un alt layer in cadrul aplicatiei, făcând actiunea de
debug-ing mai dificilă.
Existența incertă – Faptul că acesta este susținut și dezvoltat de către Facebook, poate
reprezenta și un dezavantaj. Existența acestuia este incertă deoarece Facebook are toate
drepturile să abandoneze proiectul dar, având în vedere popularitatea de care se bucură, acest
lucru este puțin probabil să se întâmple.

S-ar putea să vă placă și