Sunteți pe pagina 1din 11

Disciplina: D[P]ADM Prof: Golub A.

Tema 1: Sisteme de operare pentru dispozitive mobile


Un sistem de operare, prescurtat SO (engleză Operating system, prescurtat OS), reprezintă un produs de
tip software care este parte componentă a unui sistem, echipament sau aparat computerizat și care se ocupă de
gestionarea și coordonarea activităților acestuia. Sistemul computerizat poate fi un computer, o stație de lucru
(workstation), un server, un PC, un notebook, un netbook, un smartphone, un aparat de navigație rutieră, un e-
book reader sau unele aparate de uz casnic, precum și playerele multimedia. Sistemul de operare joacă și rolul
de gazdă pentru aplicațiile care rulează pe echipamentul (hardware-ul) respectiv.
Un sistem de operare mobil, cunoscut și ca platformă de mobil, este sistemul de operare care
controlează un dispozitiv mobil. Sistemul de operare mobil este în principiu similar cu sistemele de operare
Linux, macOS sau Windows, ce controlează desktop-ul unui computer. Sistemele de operare mobile au devenit
extrem de populare în prezent, iar majoritatea lor se bazează pe Linux. Aceste sisteme de operare au apărut
odată cu evoluția procesoarelor și memoriilor RAM care au permis tot mai multe procese și multi-tasking.
Performanța sistemelor de operare mobile depinde atât de kernel, cât și de optimizarea lor. În timp ce
unele sisteme rulează foarte bine cu doar 256 MB de RAM și procesor mic de doar 1 GHz, altele necesită un
minim de 512 MB de RAM și procesor mai nou (cel puțin Dual Core).
Sisteme de operare pentru dispozitive mobile:
 Android este cel mai popular sistem de operare mobil. Acest sistem de operare a fost sub licență
Apache, iar din 21 octombrie 2008, Google a deschis întregul codul sursă fiind disponibil ca Open
Source.
 iOS este bazat pe Unix, disponibil pe produse Apple: iPhone, iPad, iPod și Apple TV.
 Windows Phone dezvoltat de Microsoft, succesorul Windows Mobile, cel mai recent fiind Windows 10
Mobile
 BlackBerry OS sistem de operare proprietar ce rulează pe smartphon-urile din gama BlackBerry. A fost
dezvoltat de compania canadiană Research In Motion (RIM), acum cunoscut sub numele de Blackberry.
Principalele sisteme de operare mobile Android, iOS, Windows Phone și Blackberry OS,
reprezentau aproape întreaga cotă de piață în anul 2014.
 Symbian a fost primul sistem de operare mobil și cel mai popular până la apariția iOS și Android. A fost
realizat prin colaborarea a patru companii printre care Nokia, Ericsson, Motorola și Psion.
 OpenMoko apărut în 2006, pe dispozitivul FIC GSM Neo1973, bazat pe Linux.
 QtMoko a urmat după OpenMoko.
 Firefox OS este dezvoltat de Mozilla și are ca nucleu Linux. Este un sistem de operare complet ce poate
rula aplicații HTML5, JavaScript, devenind un concurent pentru Android și iOS. Primul telefon cu
Firefox OS a fost ZTE Open lansat în data de 2 iulie 2013, pentru piața low-end.
 Ubuntu Touch un sistem nou apărut în 2014.
 MeeGo a fost predecesorul Sailfish OS, care a fost implementat doar pe două telefoane, Nokia N950 și
Nokia N9.
 Sailfish OS este un sistem de operare rulând pe smartphone-ul Jolla. Este o continuare a lui MeeGo și
oferă posibilitatea rulării aplicațiilor Android.
 Tizen apărut în 2014, dezvoltat de Intel și Samsung pe platformă Linux. Tizen va apărea chiar și pe
electrocasnice printre care și frigidere.
 Plasma Phone OS apărut recent, în 2015, este conceput de KDEPlasma Mobile; se pot rula aplicații
bazate pe Qt cum ar fi Plasma, Sailfish OS, Ubuntu Touch, Nemo.
 Opera TV, un sistem de operare pentru TV.

1
Disciplina: D[P]ADM Prof: Golub A.

1.1. Android - Prezentare Generală


Android este un sistem de operare pentru dispozitive mobile bazat pe o
versiune modificată de Linux (pentru gestiunea componentelor hardware, a
proceselor și a memoriei) și biblioteci Java (pentru telefonie (audio/video),
conectivitate, grafică, programarea interfețelor cu utilizatorul). Este un produs
Open Source (putând fi dezvoltat de producătorii de dispozitive mobile cu extensii
proprietare pentru a-și particulariza platforma), dezvoltat în prezent de compania
Google, conceput pe ideea transformării dispozitivelor mobile în adevărate mașini de
calcul. Google încearcă totuși să realizeze tranziția de la AOSP (Android Open Source Project) către GMS
(Google Mobile Services), peste care sunt construite cele mai multe aplicații, în încercarea de a-și apăra acest
proiect în fața concurenței. În acest sens, a fost dezvoltat proiectul Google One, prin care este oferit un set de
specificații (ecran de 4.5 inchi - 845×480 pixeli, procesor quad-core, memorie 1GB RAM, spațiu de stocare
4GB, suport pentru dual sim) pe care producătorii de dispozitive mai ieftine trebuie să le respecte astfel încât
acestea să fie compatibile cu un sistem Android, fără a întâmpina probleme de performanță. Acesta include
toate aplicațiile și serviciile Google, la care se pot adăuga și altele, furnizate de producător sau operatorul de
telefonie mobilă. În acest fel, se asigură calitatea (păstrând renumele Android) și controlul asupra veniturilor.
Comunitatea Android este în creștere, mai multe companii renunțând la propriul sistem de operare în favoarea
acestuia, pentru a putea face față fenomenului iPhone.
În condițiile în care pe piața dispozitivelor mobile aplicațiile sunt cele care aduc avantajul competițional,
beneficiul Android este reprezentat de abordarea unitară pentru dezvoltarea aplicațiilor. Cu alte cuvinte, o
aplicație dezvoltată conform API-ului Android va putea rula pe mai multe dispozitive mobile pe care este
instalat sistemul de operare respectiv.
Versiuni Android

Versiune Nume de cod Data lansării API level Distribuție


11 Rhubarb Rolls 19 februarie 2020 One UI 3.0 0.7%
10 Queen's Cake 03 septembrie 2019 One UI 1.0, 1.1, 1.5, 2.0, 2.1, 2.5 33.8%
9 Pie 06 august 2018 28 23. 2%
8.0-8.1 Oreo 21 august 2017 26, 27 17.1%
7.0-7.1.2 Nougat 22 august 2016 24, 25 9.4%
6.0-6.0.1 Marshmallow 05 octombrie 2015 23 7.1%
5.0-5.1.1 Lollipop 12 noiembrie 2014 21, 22 5.7%
4.4-4.4.4 KitKat 31 octombrie 2013 19, 20 2.1%
Jelly Bean
4.1-4.3 09 iulie 2012 16, 17, 18 0.8%
(Patch de Securitate NESUPORTAT)
Ice Cream Sandwich
4.0–4.0.4 18 octombrie 2011 14. 15 0.1%
(Patch de Securitate NESUPORTAT)
Pentru identificarea versiunilor se folosesc, de regulă, trei sisteme:
 un număr, ce respectă formatul major.minor[.build], desemnând dacă modificările aduse sunt
substanțiale sau reprezintă ajustări ale unor probleme identificate anterior;
 un nivel de API (același putând grupa un număr de mai multe versiuni), prin care se indică
funcționalitățile expuse către programatori;
 o denumire, având un nume de cod inspirat din lumea dulciurilor; termenii respectivi încep cu inițiale
care respectă ordinea alfabetică.
2
Disciplina: D[P]ADM Prof: Golub A.

În momentul în care se ia decizia cu privire la versiunea pentru care se dezvoltă o aplicație Android,
trebuie avute în vedere și cotele de piață ale dispozitivelor mobile. Dezvoltarea unei aplicații Android pentru
cea mai nouă versiune are avantajul de a se putea utiliza cele mai noi funcționalități expuse prin API.
Dezvoltarea unei aplicații Android pentru cea mai veche versiune are avantajul unei adresabilități pe scară
largă. Un compromis în acest sens poate fi obținut prin intermediul bibliotecilor de suport, dezvoltate pentru
fiecare versiune, prin intermediul cărora pot fi utilizate la niveluri de API mai mici funcționalități din niveluri
de API mai mari (în limita capabilităților dispozitivului mobil respectiv). Utilizarea acestora reprezintă o
practică recomandată în dezvoltarea aplicațiilor Android.

1.2. Arhitectura Android


Arhitectura sistemului de operare Android cuprinde cinci secțiuni grupate pe patru niveluri:

1. Kernelul Linux (cu unele modificări) conține driver-ele pentru diferitele componente hardware (ecran,
cameră foto, tastatură, antenă WiFi, memorie flash, dispozitive audio), fiind responsabil cu gestiunea
proceselor, memoriei, perifericelor (audio/video, GPS, WiFi), dispozitivelor de intrare/ieșire, rețelei și a
consumului de energie; de asemenea, au fost implementate și unele îmbunătățiri:
a) Binder, sistemul de comunicație inter-proces, a fost adaptat, întrucât reprezintă mediul de
comunicație principal dintre aplicații și sistemul de operare, inclusiv funcțiile (serviciile)
dispozitivului mobil; expunerea sa este realizată prin intermediul AIDL (Android Interface
Definition Language) prin care pot fi manipulate obiecte transformate în primitive utilizate la
comunicația propriu-zisă dintre aplicații și sistemul de operare;
b) Logger, sistemul de jurnalizare, este esențial în cazul în care trebuie realizată depanarea
aplicațiilor, în special pentru a detecta anumite situații particulare (informații cu privire la rețea,
senzori); acesta este capabil să agrege datele provenite atât de la aplicația propriu-zisă cât și de la
sistemul de operare, datele fiind disponibile prin intermediul unor utilitare specializate;
c) sistemul prin intermediul căruia se previne transferul sistemului de operare într-o stare de latență
(wake locks), în care consumul de energie este redus, întrucât se blochează execuția oricărei
3
Disciplina: D[P]ADM Prof: Golub A.

aplicații; utilizarea unui astfel de mecanism trebuie realizată cu precauție, întrucât poate
determina epuizarea bateriei;
d) sistemul de alarme oferă posibilitatea ca anumite sarcini să fie planificate la anumite momente
de timp, putând fi executate, chiar dacă sistemul de operare se găsește într-o stare de latență;
e) Viking Killer este un mecanism prin care sistemul de operare revendică memoria utilizată,
atunci când nivelul acesteia atinge un anumit prag (aplicațiile Android care au fost rulate anterior
sunt de regulă stocate în memorie pentru a se putea comuta rapid între ele, de vreme ce
încărcarea în memorie este o operație costisitoare);
f) YAFFS2 (Yet Another Flash File System) este un sistem de fișiere adecvat pentru cipuri flash
bazate pe porți NAND; platforma Android este stocată pe mai multe partiții, ceea ce îi conferă
flexibilitate la actualizări, împiedicând modificarea sa în timpul rulării (/boot - conține secvența
de pornire, /system - stochează fișierele de sistem și aplicațiile încorporate, /recovery - deține o
imagine din care se poate restaura sistemul de operare, /data - include aplicațiile instalate și
datele aferente acestora, /cache - utilizată pentru fișiere temporare, folosind memoria RAM,
pentru acces rapid).
2. Bibliotecile (user-space) conțin codul care oferă principalele funcționalități a sistemului de operare
Android, făcând legătura între kernel și aplicații. Sunt incluse aici motorul open-source pentru navigare
WebKit, biblioteca FreeType pentru suportul seturilor de caractere, baza de date SQLite utilizată atât ca
spațiu de stocare cât și pentru partajarea datelor specifice aplicațiilor, biblioteca libc (Bionic), biblioteca
de sistem C bazată pe BSD și optimizată pentru dispozitive mobile bazate pe Linux, biblioteci pentru
redarea și înregistrarea de conținut audio/video (bazate pe OpenCORE de la PacketVideo), biblioteci
SSL pentru asigurarea securității pe Internet și Surface Manager, bibliotecă pentru controlul accesului la
sistemul de afișare care suportă 2D și 3D. Aceste biblioteci nu sunt expuse prin API, reprezentând
detalii de implementare Android.
3. Motorul Android rulează serviciile de platformă precum și aplicațiile care le utilizează, fiind
reprezentat de:
a) ART (Android Runtime) este mașina virtuală Java care a fost implementată începând cu
versiunea 5.0, folosind un tip de compilare AOH (Ahead of Time), în care bytecode-ul este
transpus în cod mașină la momentul instalării, astfel încât acesta este executat direct de mediul
dispozitivului mobil; compatibilitatea cu versiuni anterioare (care folosesc mașina virtuală
Dalvik, ce se bazează pe un compilator JIT - Just in Time) este asigurată prin transformarea
pachetelor în format .dex (Dalvik Executable) la momentul compilării, urmând ca translatarea în
format .oat să se realizeze la momentul instalării; fiecare aplicație Android rulează în procesul
propriu, într-o instanță a mașinii virtuale ART, izolând astfel codul și datele sale prin intermediul
unor permisiuni, care se aplică inclusiv la comunicația prin intermediul interfețelor de
comunicare oferite de sistemul de operare Android;
b) Zygote este procesul care gestionează toate aplicațiile, fiind lansat în execuție odată cu sistemul
de operare:
 inițial, creează o instanță a mașinii virtuale Java pentru sistemul de operare Android, în
contextul căreia plasează serviciile de bază: gestiunea energiei, telefonie, furnizori de
conținut, gestiunea pachetelor, serviciul de localizare, serviciul de notificări;
 atunci când este necesar să lanseze în execuție o anumită aplicație, se clonează, partajând
astfel componentele sistemului de operare Android, astfel încât să se asigure performanța
(timp de execuție) și eficiența (memorie folosită), de vreme ce fiecare aplicație trebuie
rulată în propria sa instanță a mașinii virtuale Java;

4
Disciplina: D[P]ADM Prof: Golub A.

4. Cadrul pentru Aplicații expune diferitele funcționalități ale sistemului de operare Android către
programatori, astfel încât aceștia să le poată utiliza în aplicațiile lor.
5. La nivelul de aplicații se regăsesc atât produsele împreună cu care este livrat dispozitivul mobil
(Browser, Calculator, Camera, Contacts, Clock, FM Radio, Launcher, Music Player, Phone, S Note, S
Planner, Video Player, Voice Recorder), cât și produsele instalate de pe Play Store sau cele dezvoltate
de programatori.
1.3. Funcționalități Android
De vreme ce Android este un produs Open-Source, producătorii având posibilitatea de a-l modifica în
mod gratuit, nu există configurații hardware sau software standard. Totuși, Android implementează următoarele
funcționalități:
 stocare - folosește SQLite, o bază de date relațională ce utilizează resurse puține
 conectivitate - suportă GSM/CDMA, GPRS, EDGE, 3G, IDEN, EV-DO, UMTS, Bluetooth (inclusiv
A2DP si AVRCP), WiFi, LTE, WiMAX
 WiFi Direct - tehnologie care permite aplicațiilor să se descopere și să se interconecteze peste o
conexiune punct-la-punct având lățime de bandă mare
 Android Beam - o tehnologie bazată pe NFC (Near Field Communication) care permite utilizatorilor să
partajeze conținut instant, prin apropierea dispozitivelor mobile respective
 mesagerie - atât SMS cât și MMS
 navigare pe Internet - bazat pe motorul open source pentru navigare WebKit impreună cu motorul
JavaScript de la Chrome V8 suportând HTML5 și CSS3
 multimedia - suportă formatele H.263, H.264 (într-un container 3GP sau MP4), MPEG-4 SP, AMR,
AMR-WB (într-un container 3GP), AAC, HE-AAC (într-un container MP4 sau 3GP), MP3, MIDI, Ogg
Vorbis, WAV, JPEG, PNG, GIF si BMP
 grafică - 2D optimizată, 3D (OpenGL ES)
 senzori - accelerometru, cameră foto, busolă digitală (magnetometru), senzor de proximitate, GPS /
AGPS
 multi-touch - suportă ecrane cu posibilitate de contact în mai multe puncte concomitent
 multi-tasking - permite rularea de aplicații cu mai multe fire de execuție
 GCM (Google Cloud Messaging) - serviciu ce permite dezvoltatorilor să trimită date de dimensiuni
mici către utilizatori pe dispozitive Android, fără a avea nevoie de o soluție de sincronizare proprietară
 multi-Language - suport pentru text unidirecțional și bidirecțional
 suport pentru aplicații Flash (până în versiunea 4.3)
 legătură la Internet - suportă partajarea conexiunilor la Internet ca punct de distribuție cu fir / fără fir.

1.4. Android vs. iOS


Android și iOS sunt cele mai utilizate sisteme de operare pentru smartphone, iar cifre publicate astăzi ne
arată cam cât control au Apple și Google asupra întregii piețe. Conform unor date ale celor de la Gartner, iOS și
Android însumează nu mai puțin de 99.9% din întreaga piață a smartphone-urilor, iar sistemul de operare al
Google este pe primul loc aici.
Android însumează 79.9% din piața smartphone în momentul de față, în timp ce iOS însumează 20% din
aceeași cotă de piață, diferența între cele două sisteme de operare fiind colosală.
În 2017 s-au vândut 1.3 miliarde de telefoane cu sistem de operare Android, în timp ce Apple a reușit să
vândă 214 milioane de iPhone-uri, cu 1.1 milioane mai puține decât în 2016. Trebuie remarcat și faptul că restul
sistemelor de operare pentru telefoane mobile au de asemenea o cotă de piață mai mică, ea scăzând de la 0.8%
din total în 2016 la 0.1% din total în 2017.
5
Disciplina: D[P]ADM Prof: Golub A.

Aplicațiile destinate dispozitivelor mobile reprezintă un segment extrem de productiv al economiei, doar
vânzările din AppStore depășind încasările obținute din producția de filme de la Holywood. Ca tematică, cele
mai multe aplicații aparțin domeniului social (jocuri, fotografie, muzică, aplicații culinare, stil de viață), urmate
de cele destinate gestionării unor segmente ale unor afaceri.
În 2015, numărul de aplicații disponibile pentru platforma Android le-a depășit pe cele destinată
dispozitivelor Apple (1.6 milioane, comparativ cu 1.5 milioane). Și în privința numărului de descărcări Android
se află în fața Apple cu aproximativ 25%. Totuși, politica de distribuție a aplicațiilor (faptul că aplicațiile
iPhone pot fi instalate numai prin intermediul App Store, în timp ce Android pune la dispoziție mai multe
posibilități - Play Store, Amazon App Store, prin conexiune USB de la calculator, prin email sau prin pagina
Internet a organizației), la care se adaugă numărul mare de programe gratuite și posibilitatea de piratare mai
ușoară se traduce prin încasările obținute, Apple generând un profit mult mai mare din aplicații decât Google
(cifrele oficiale nu sunt disponibile încă). O altă explicație a acestei situații este dată și de potența financiară a
posesorilor de produse Apple (valoarea unui iPhone fiind de aproximativ 600 dolari) față de puterea de
cumpărare a persoanelor ce dețin un telefon Android (al cărui preț mediu este de 200-300 dolari), existând o
corespondență directă cu disponibilitatea de a achiziționa aplicații. De asemenea, statisticile arată că utilizatorii
Apple își folosesc mult mai intens dispozitivele pentru accesarea de conținut Internet decât cei cumpărători de
produse echipate cu Android.
Sensor Tower a publicat raportul său trimestrial pentru piaţa de aplicaţii de mobil, anunţând astfel că
aceasta a crescut cu 23,9% faţă de aceeaşi perioadă a anului trecut. Atât AppStore-ul Apple, cât şi magazinul
Google Play au înregistrat creşteri similare, ceea ce sugerează că toţi utilizatorii, indiferent dacă sunt pe iOS sau
pe Android cheltuie mai mult pe aplicaţii şi servicii mobile. Totuşi, Apple rămâne liderul în vânzări şi venituri,
reuşind să facă vânzări aproape duble faţă de întreaga piaţă de aplicaţii Android cu o cotă de piaţă mult mai
mică (aproximativ 20%, faţă de 80% pe Android).
Întreaga piaţă de aplicaţii şi servicii mobile a adus venituri de 21,9 miliarde de dolari la nivel mondial în
trimestrul al treilea din 2019, o creştere semnificativă de la cele 17.9 miliarde din aceeaşi perioadă a anului
2018. Împărţirea pe sisteme de operare este destul de simplă: aproape două treimi din aceşti bani se duc la
Apple: 14,2 miliarde (creştere cu 22,9% faţă de 2018 pentru AppStore), în timp ce ultima parte se duce la
Google: 7,7 miliarde de dolari (creştere cu 24%).
6
Disciplina: D[P]ADM Prof: Golub A.

În privința limbajului de programare utilizat pentru dezvoltarea de aplicații mobile, iPhone folosește
Objective-C, similar cu C++, care nu se bucură însă de o răspândire prea largă (cu excepția aplicațiilor pentru
iPhone), în timp ce Android utilizează Java (limbajul de programare cel mai adoptat pe scară largă în cadrul
corporațiilor), dar și C/C++, prin care se pot apela (cu o oarecare dificultate) aplicații native, prin suport JNI
(numărul bibliotecilor disponibile în cazul C/C++ este mai redus decât în Java, însă viteza aplicațiilor este mai
mare). Dezvoltarea aplicațiilor pentru iPhone se poate realiza numai folosind mașini Mac (echipate cu macOS),
în timp ce aplicațiile Android pot fi scrise în orice sistem de operare cu Java și Eclipse (atât PC-uri, cât și Mac-
uri echipate cu Windows, Linux sau macOS). În această situație, se pune problema cotelor de piață ale
sistemelor de operare în cadrul companiilor dezvoltatoare de software, care creează sau nu oportunități pentru
dezvoltarea unui anumit tip de aplicații (la începutul lui 2016, sistemele de operare Windows dețineau 90,60%
din piață, OS X 7,68%, sistemele de operare cu kernel Linux 1,71%, iar alte sisteme de operare 0,01%).
Așadar, dacă pentru utilizare personală nu se poate stabili un câștigător clar între Android și iPhone (deși
produsul celor de la Apple pare să aibă un ușor avantaj printr-un număr mai mare de aplicații și prin loialitatea
clienților), în cazul aplicațiilor dezvoltate de corporații, situația este inversă, date fiind posibilitățile de instalare
și limbajul de programare folosit.

1.5. Comunitatea programatorilor Android


Ajunsă deja la a noua versiune, Android este o platformă care beneficiază de experiența a numeroși
dezvoltatori ce poate fi exploatată:
 Google Android Training conține o serie de tutoriale și exemple de clase grupate în funcție de diferite
subiecte, utile pentru deprinderea cunoștințelor de bază pentru dezvoltarea aplicațiilor Android.
 Stack Overflow este un forum pentru programatori editat în mod colaborativ, conținând întrebări și
răspunsuri la acestea (cele mai bune putând fi identificate cu ușurință prin voturile primite de la
participanți). Este destul de probabil ca o întrebare să își găsească deja răspunsul pe acestă resursă.
 Android Discuss este o listă de discuții monitorizată îndeaproape de echipa Android de la Google astfel
încât reprezintă un loc unde pot fi clarificate numeroase nelămuriri putând fi însușite diferite sfaturi și
trucuri.

1.6. Cerințe pentru dezvoltarea unei aplicații Android (obligatoriu)


Pentru dezvoltarea unei aplicații Android sunt necesare:
1. kit-ul de dezvoltare pentru limbajul de programare Java
2. SDK-ul de Android, pentru care se descarcă definițiile corespunzătoare unuia sau mai multor
niveluri de API
3. un mediu integrat de dezvoltare (IDE)
a) Eclipse, cu plugin-ul ADT (Android Developer Tools)
b) Android Studio
4. un dispozitiv pe care să se ruleze aplicațiile
a) un emulator
1. Genymotion
2. Android Virtual Device (livrat împreună cu SDK-ul de Android)
b) un telefon mobil cu sistemul de operare Android pentru care s-a dezvoltat aplicația.
Pentru a se putea rula o aplicație pe un dispozitiv mobil fizic, trebuie să se activeze posibilitatea de
depanare prin USB, din Settings → System → Developer Options. Această opțiune trebuie activată, ca de altfel
și opțiunea Debugging → Android Debugging (pe unele sisteme poate apărea ca USB Debugging) (img. 1). În
situația în care opțiunea Developer Options nu este disponibilă. Aceasta poate fi vizualizată prin intermediul
7
Disciplina: D[P]ADM Prof: Golub A.

modului Developer, obținut prin apăsarea de mai multe ori asupra opțiunii Build Number din secțiunea Settings
→ System → About Phone (img. 2).

(img. 1) (img. 2)

1.7. Sisteme de control a versiunilor


Ce este un sistem de control al versiunilor?
Un sistem de control al versiunilor (eng. VCS - Version Control System) este un mecanism prin
intermediul căruia sunt gestionate fișiere / proiecte în dinamică (pe măsură ce sunt modificate), în scopul de a
se putea realiza revenirea la o anumită stare în caz de eroare (restaurarea unei versiuni stabile) și pentru a
permite colaborarea între mai multe echipe care lucrează concomitent la diferite funcționalități ale unui același
proiect.
Deși în mod curent astfel de produse sunt folosite pentru dezvoltarea de aplicații (urmărindu-se o
gestionare eficientă a codului sursă și a utilizatorilor care implementează anumite funcționalități sau corectează
defecte), ele pot fi folosite și pentru alte tipuri de proiecte, ce implică lucrul cu fișiere binare, pentru care
diferențele între diferite versiuni se realizează mai dificil.
Clasificarea sistemelor de control al versiunilor
În prezent, sunt folosite trei tipuri de sisteme de control a versiunilor, fiecare dintre acestea fiind adecvate
unei anumite situații:
1. sisteme locale de control a versiunilor, în cazul în care se dorește monitorizarea variantelor unui fișier
exclusiv pe discul local; în baza de date, versiunile sunt reținute sub forma diferențelor (rezultatul
comenzii diff) dintre versiuni succesive, astfel că se poate reveni oricând la o stare anterioară (exemplu:
rcs);
2. sisteme centralizate de control a versiunilor implică stocarea diferențelor dintre versiuni într-o bază
de date rezidentă pe un server dedicat, la care au acces toți utilizatorii implicați, astfel încât fiecare poate
consulta versiunea curentă (exemple: CVS, Subversion, Perforce);
o avantaje: posibilitatea de colaborare între echipe care lucrează la același proiect, stabilirea de
drepturi cu privire la fișierele ce pot fi încărcate pe server de fiecare utilizator în parte;

8
Disciplina: D[P]ADM Prof: Golub A.

o dezavantaje: în cazul când serverul dedicat pe care găsește baza de date cu tot istoricul
versiunilor se defectează, există riscul de a se pierde toate aceste informații (dacă nu există copii
de siguranță), păstrându-se doar versiunile salvate pe mașinile utilizatorilor; mai mult, într-o
astfel de situație utilizatorii se află în incapacitatea de a mai transmite propriile modificări și de a
consulta modificările celorlalți;
3. sisteme distribuite de control a versiunilor în care consultarea stării actuale a unui fișier presupune și
descărcarea, pe discul local, a întregului istoric de modificări astfel încât acesta să poată fi reconstituit în
situații precum defectarea serverului; de asemenea, acestea au capacitatea de a gestiona mai multe
depozite aflate la distanță, chiar în cazul în care acestea conțin același proiect, permițând stabilirea unor
anumite fluxuri de transmitere a informației (exemple: Git, Mercurial, Bazaar, Darcs).

1.8. Ce este o aplicație mobilă Android?


O aplicație mobilă Android este un program software care rulează pe un dispozitiv cu sistem de operare
Android. Deoarece sistemul Android este folosit pentru dispozitivele mobile, o aplicație Android tipică este
făcută să funcționeze pe un smartphone sau pe o tabletă cu Android. Aplicațiile mobile Android se pot descărca
din magazinul de aplicații Google - Google Play.
După scopul pentru care au fost realizate, aplicațiile se pot împărți în mai multe categorii. O aplicație
mobilă Android pentru companii are ca scop punerea utilizatorilor în contact cu informațiile pe care le
furnizează o firmă. Aceste informații pot fi: servicii, produse, cataloage etc.
O aplicație tipică care prezintă produsele unei firme conține mai multe pagini:
- prezentarea informațiilor de contact ale firmei (denumire, adresa, telefoane, harta, etc.);
- prezentarea categoriilor de produse;
- pagina unui produs (imagini, specificații etc.);
- coșul de cumpărături;
- pagina de comandă.
Trăim într-o lume în care viteza și calitatea informațiilor sunt cele mai importante lucruri căutate de
utilizatori. Să luăm ca exemplu o aplicație care prezintă o cafenea. Un utilizator va dori să știe: unde se găsește,
ce program are, ce produse poate găsi și la ce prețuri. Un plus ar fi o listă de evenimente care se organizează în
acel loc. Un alt atu important este că din aplicație se poate apela direct telefonul de contact al cafenelei pentru o
eventuală rezervare de locuri.
- Deci, totuși, ce este o aplicație mobilă Android?
- Este o modalitate prin care putem obține informații sau putem face cumpărături cât mai ușor de
pe dispozitivele care sunt aproape toată ziua la îndemâna noastră: telefonul mobil sau tableta PC.

1.9. Lista platformelor de distribuție software pentru dispozitive mobile

Cele mai mari trei magazine de aplicații sunt Google Play pentru Android, App Store pentru iOS și
Microsoft Store pentru Windows 10, Windows 10 Mobile și Xbox One.
 Google Play (cunoscut anterior ca Android Market) este un magazin online de software dezvoltat de
Google pentru dispozitive Android. Acesta a fost deschis în octombrie 2008. În iulie 2013, numărul
de aplicații descărcate prin Magazin Google Play a depășit 50 de miliarde din cele peste 1 milion de
aplicații disponibile. În septembrie 2016, în conformitate cu Statista, numărul de aplicații disponibile
depășea 2,4 milioane. Magazinul a generat un venit de 6 miliarde de dolari SUA în 2015.
 Apple's AppStore pentru iOS nu a fost primul serviciu de distribuție a aplicațiilor, dar a declanșat
revoluția mobilă și a fost deschis la 10 iulie 2008, iar din septembrie 2016 a raportat peste 140 de
miliarde de descărcări. AppStore-ul original a fost pentru prima dată demonstrat lui Steve Jobs în
9
Disciplina: D[P]ADM Prof: Golub A.

1993 de către Jesse Tayler la NeXTWorld Expo. La 6 iunie 2011, au fost disponibile 425.000 de
aplicații, descărcate de 200 de milioane de utilizatori de iOS. În timpul Conferinței Mondiale a
dezvoltatorilor din 2012, CEO-ul Tim Cook a anunțat că App Store are 650 000 de aplicații
disponibile pentru a descărca, precum și 30 de miliarde de aplicații descărcate de la magazinul de
aplicații până la data respectivă. Dintr-o perspectivă alternativă, cifrele văzute în iulie 2013 de BBC
de la serviciul de urmărire Adeven indică că peste două treimi din aplicațiile din magazin sunt
"zombi", abia instalate de consumatori.
 Microsoft Store (fost cunoscut sub numele de Windows Store) a fost introdus de Microsoft în 2012
pentru platformele Windows 8 și Windows RT. În timp ce poate purta, de asemenea, listări pentru
programele desktop tradiționale certificate pentru compatibilitatea cu Windows 8, este folosit în
principal pentru a distribui aplicațiile "Windows Store" - care sunt construite în primul rând pentru a
fi utilizate pe tablete și alte dispozitive tactile (dar pot fi utilizate cu o tastatură și un mouse, precum și
pe computere desktop și laptopuri).
 Amazon AppStore este un magazin de aplicații alternative pentru sistemul de operare Android. Acesta
a fost deschis în martie 2011 și, din iunie 2015, magazinul de aplicații are aproape 334 000 de
aplicații. Aplicațiile Android ale aplicației Amazon Appstore pot fi, de asemenea, instalate și difuzate
pe dispozitivele BlackBerry 10.
 BlackBerry World este magazinul de aplicații pentru dispozitivele BlackBerry 10 și BlackBerry OS.
Acesta a fost deschis în aprilie 2009 ca BlackBerry App World.
 Ovi (Nokia) pentru telefoanele Nokia a fost lansat la nivel internațional în mai 2009. În mai 2011,
Nokia a anunțat intenția de a-și rebrand linia de produse Ovi sub brandul Nokia, iar magazinul Ovi a
fost redenumit Nokia Store în octombrie 2011. Magazinul Nokia nu mai permite dezvoltatorilor să
publice noi aplicații sau actualizări de aplicații pentru sistemele de operare Symbian și MeeGo vechi,
începând din ianuarie 2014.
 Windows Phone Store a fost introdus de Microsoft pentru platforma sa Windows Phone, lansată în
octombrie 2010. Începând cu luna octombrie 2012, au peste 120.000 de aplicații disponibile.
 Aplicațiile Samsung au fost introduse în septembrie 2009. Începând cu octombrie 2011, Samsung
Apps a ajuns la 10 milioane de descărcări. Magazinul este disponibil în 125 de țări și oferă aplicații
pentru platformele Windows Mobile, Android și Bada.
 Aplicația Electronic AppWrapper a fost primul serviciu de distribuție electronică care oferă în mod
colectiv servicii de criptare și achiziționare electronică.
 F-Droid - depozit de aplicații Android gratuit și deschis.
 Opera Mobile Store este un magazin independent de platforme pentru aplicații iOS, Java, BlackBerry
OS, Symbian, iOS și Windows Mobile și telefoane mobile bazate pe Android. A fost lansat la nivel
internațional în martie 2011.

10
Disciplina: D[P]ADM Prof: Golub A.

Exemple de imagini dintr-o aplicație:

11

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