Platforme mobile de dezvoltare

Când începeți prima dată cu dezvoltarea mobilă, poate fi dificil să alegeți o platformă. Mai rău, fiecare platformă are propriul set de limbi și instrumente de a alege. Deci cum poți decide?

Acest tutorial vă va ajuta să alegeți o platformă de dezvoltare mobilă adecvată, astfel încât să puteți săriți și să începeți să aplicați aplicații de codificare.

Platformele și cotele lor de piață

O platformă - un ecosistem de dispozitive mobile, seturi de instrumente și aplicații - este de obicei definită de sistemul său de operare (OS). Furnizorii de platforme sunt companii mari, cum ar fi Google, Apple, Microsoft, etc. Fiecare dintre ele a dezvoltat un sistem de operare pe care le autorizează producătorilor de dispozitive. Uneori, ele pot fi ele însele producătorii de dispozitive. Producătorii de dispozitive proiectează și construiesc dispozitive (mai ales smartphone-uri și tablete) cu sistemul de operare relevant preinstalat. Aceste dispozitive sunt apoi vândute consumatorilor (utilizatorilor). 

Unele aplicații de bază, dezvoltate de producătorul dispozitivului sau chiar de distribuitorul platformei, pot fi preinstalate pe dispozitiv. Cu toate acestea, vânzătorul și producătorul dispozitivului nu sunt în măsură să răspundă nevoilor din ce în ce mai mari ale utilizatorilor acestor dispozitive. Deci, ei se bazează pe dezvoltatori "terți" - ca tine! - pentru a umple golul între ofertă și cerere. 

Pentru a sprijini dezvoltatorii care doresc să vândă aplicații pentru platformă, ei publică SDK-uri, API-uri și alte instrumente pentru a ușura dezvoltarea aplicațiilor. De asemenea, poate fi lansat un "magazin de aplicații" oficial, la care dezvoltatorii își pot publica aplicațiile și de la care consumatorii le pot naviga și descărca. Astfel, în jurul platformei se construiește un întreg ecosistem al aplicației.

În prezent, sistemul de operare Android de la Google are cea mai mare cotă de piață la nivel mondial, cu un 86.1% enorm. Apple iOS are 13,7% și ocupă a doua poziție. Restul de aproximativ 0,2% este împărțită de toți ceilalți furnizori combinați. Aceasta include Windows Mobile de Microsoft, BlackBerry OS, Tizen OS, Sailfish OS și Ubuntu Touch. 

Compoziția globală se poate schimba semnificativ în anumite țări. De exemplu, în Statele Unite, cota de piață a Android este de 53,4%, iar partea iOS este de 44,5%, o diferență notabilă în comparație cu cota de piață globală. Dacă aveți o piață specifică în minte, ar fi o idee bună să cercetați demograficul țintă pentru a afla ce platformă este probabil să utilizeze!

Arhitectura procesorului

În timp ce toate aceste platforme suportă arhitectura ARM CPU, Android își extinde sprijinul și mai mult, acoperind arhitecturile x86 și MIPS. Tizen, Sailfish OS și Ubuntu Touch suportă și arhitectura x86. Cu toate acestea, dacă nu programați cipuri personalizate ROM, arhitecturile CPU suportate de fiecare platformă nu vor afecta alegerea dvs..

Cum de a alege o platformă

Familiaritatea dvs. cu limbile de programare

Va trebui să scrieți o mulțime de cod ca dezvoltator de aplicații mobile. Există anumite instrumente care vă permit să evitați introducerea într-un editor de cod bazat pe text - de exemplu, atât Android cât și iOS au instrumente de drag-and-drop pentru a construi interfețe grafice pentru utilizatori. Acestea nu vă vor permite să utilizați pe deplin funcțiile și capabilitățile platformei. Pentru a construi aplicații complexe, va trebui să învățați limba de programare pentru platforma dvs..

Așadar, este posibil să trebuiască să depuneți eforturi pentru a învăța un nou limbaj de programare sau un master nou pe care deja îl cunoașteți. Toate platformele importante folosesc limbi de programare populare cu comunități mari de dezvoltatori. Prin urmare, asigurați-vă că vă valorificați cunoștințele și abilitățile în aceste limbi.

Dacă sunteți familiarizat cu Java, veți găsi mai ușor să dezvoltați aplicații Android cu Android SDK (Software Development Kit). Cu toate acestea, unele caracteristici avansate ale aplicației vă vor cere să utilizați abilitățile C și C ++, cu Android NDK (Native Development Kit). De asemenea, acum este posibil să programați pentru Android cu limbi alternative cum ar fi Kotlin.

iOS necesită abilități de programare Obiectiv-C sau Swift. 

Dacă sunteți un fan al Microsoft Visual Studio .NET, veți fi fericit în curs de dezvoltare aplicații Windows Mobile cu C #. 

Pentru a dezvolta pentru BlackBerry sau Tizen, aflați doar HTML, CSS și JavaScript. 

Master QML sau Python, și ați fost gata să dezvoltați aplicații Sailfish. 

Dacă vă place Ubuntu Touch, ar trebui să învățați QML sau HTML și JavaScript. 

În cele din urmă, dacă cunoașteți deja limbile web, cum ar fi JavaScript și CSS, le puteți utiliza pentru a le dezvolta pentru orice platformă, cu un cadru pentru platforme mobile pe platforme.

Noile limbi de programare sunt în mod constant propuse și promovate. Deși nu este întotdeauna clar dacă aceste limbi noi au un mare avantaj față de cele vechi, este o idee bună să rămâneți reglați pentru cele mai recente tendințe. Unele limbi de programare pot deveni depășite odată cu introducerea celor noi - Swift este un înlocuitor pentru obiectivul C, de exemplu - și unele limbi vechi pot găsi existență reînnoită, cu utilizări complet noi.

Dezvoltare nativă vs. hibridă

Aveți două opțiuni atunci când vine vorba de dezvoltarea de aplicații smartphone: aplicații native și hibride. O aplicație nativă publicată pe o singură platformă nu va fi difuzată pe o altă platformă. De exemplu, nu puteți instala o aplicație nativă Android pe un dispozitiv iOS. Trebuie să publicați o versiune separată specifică platformei pentru aceasta, construită utilizând instrumentele adecvate de dezvoltare și implementare, care vizează iOS. Dimpotrivă, o aplicație hibrid este o aplicație web dezvoltată cu HTML, CSS și JavaScript și înfășurată într-un shell de aplicații nativ (sau UI). 

Ce este grozav despre aplicațiile native este că acestea sunt performante superioare și că utilizează pe deplin capabilitățile dispozitivului. De asemenea, ele sunt mai sigure. Dezavantajul este că dezvoltatorul trebuie să mențină mai multe coduri pentru fiecare dintre platforme. Deoarece aplicațiile hibride au acces doar moderat la API-urile native, performanța lor și nivelul de experiență al utilizatorilor (UX) sunt puțin în urmă. Avantajul cheie al aplicațiilor hibride este că dezvoltatorul ar putea publica pentru mai multe platforme cu aceeași bază de coduri.

Dacă doriți să creați aplicații native, vă recomandăm să consultați cursurile noastre cuprinzătoare privind utilizarea aplicațiilor de codificare pentru Android sau iOS.

Ionic 2 este un cadru popular pentru dezvoltarea aplicațiilor mobile hibride pe mai multe platforme. Se bazează pe cadrul web Angular 2. Dacă doriți să aflați mai multe, consultați câteva dintre cursurile sau tutorialele noastre.

Aplicații native Cross-Platform

Recent, a apărut un nou lot de cadre mobile pe mai multe platforme. Acestea combină cele mai bune caracteristici ale aplicațiilor native și ale aplicațiilor hibride - sunt rapide și ușoare și pot accesa puterea completă a dispozitivului nativ, dar sunt, de asemenea, codate cu JavaScript și alte limbi web, astfel încât multe coduri pot fi reutilizate între platforme.

Reacționează Native și NativeScript sunt cadre populare de platforme native. Dacă doriți să aflați mai multe despre acestea, consultați cursul nostru de bază pentru începători sau câteva dintre tutorialele noastre.

Abilitatea ta de a învăța

Dacă sunteți un cursant rapid, atunci ați putea stăpâni cu ușurință calea de dezvoltare nativă. Va trebui să înțelegeți conceptele de bază de programare, cum ar fi programarea orientată pe obiecte (OOP), și trebuie să învățați să vă simțiți confortabil cu conceptele tehnice specifice platformei - cum ar fi Managementul ciclului de viață al aplicațiilor în Android, de exemplu. 

Pentru a începe, trebuie doar să descărcați instrumentele și seturile SDK necesare de la vânzătorul platformei și să încercați. Cele mai multe dintre aceste instrumente sunt open source, și există o mulțime de eșantioane de cod și șabloane de aplicații care sunt incluse împreună cu ele pentru a vă ajuta să începeți rapid. 

Dacă sunteți un dezvoltator de web și doriți să explorați spațiul de dezvoltare a smartphone-urilor, atunci ar putea fi mai confortabil, începând cu dezvoltarea nativă hibridă sau cross-platform. 

Instalarea sistemului și ușurarea codării

Un alt factor care trebuie luat în considerare este platforma OS și, uneori, configurarea hardware a calculatorului de dezvoltare. 

Dacă doriți să dezvoltați aplicații nativ iOS, nu veți putea să faceți acest lucru pe un computer Windows normal. Aveți nevoie de un Mac cu MacOS și de Xcode, IDE-ul Apple pentru dezvoltarea iOS. În mod similar, aplicațiile native Ubuntu Touch sunt cel mai bine dezvoltate cu un calculator Ubuntu. În timp ce aplicația Android SDK rulează pe toate cele trei platforme majore pentru platforme desktop, este întotdeauna recomandat să verificați dacă sistemul dvs. îndeplinește specificațiile recomandate înainte de a începe să dezvoltați.

Politicile magazinului de aplicații și partajarea veniturilor

Atât magazinele de aplicații ale Google, cât și ale aplicațiilor Apple plătesc o taxă nominală de înregistrare. Deși ambele oferă același procent de partajare a veniturilor (70% din prețul de vânzare în prezent), dezvoltatorii pot, teoretic, să câștige mai multe venituri prin publicarea pe Apple. Asta pentru că numărul de aplicații este relativ mic și există o concurență mai mică între aplicațiile similare. De asemenea, trebuie să știți că nu toate locațiile geografice au permisiunea de a publica aplicații cu plată în Magazinul Play Google. Deci, trebuie să vă gândiți la o metodă de generare a veniturilor din aplicația dvs. în avans.

Pe lângă vânzarea aplicației în sine, un alt mod de a genera bani prin intermediul aplicației dvs. este afișarea de anunțuri sau oferirea pentru a debloca funcții suplimentare.

Publicul dvs. țintă

Acesta este un factor important, deoarece succesul aplicației depinde de cât de bine vă adresați publicului sau de cât de eficient vă rezolvați problemele. În timp ce majoritatea utilizatorilor de smartphone tind să aparțină generațiilor mai tinere, există aplicații smartphone dedicate persoanelor în vârstă și persoanelor cu dizabilități. Deoarece cota de piață a platformei se modifică în funcție de țară și grup de vârstă, este o idee bună să cercetați demografia platformei, dacă doriți să vizați o anumită categorie demografică. 

Caracteristicile acceptate ale dispozitivelor de către platformă

Nu toate dispozitivele acceptă fiecare caracteristică a unei platforme. Pe de o parte, există dispozitive high-end, denumite adesea "produse pilot", care susțin cele mai multe caracteristici. Pe de altă parte, există dispozitive low-cost, de intrare, care suportă doar caracteristicile de bază. Apoi, totul este între ele. 

Deci, trebuie să fii foarte selectiv și să iei decizii informate când dezvolți aplicații. Dezvoltarea unei aplicații care necesită caracteristici acceptate numai de dispozitive de ultimă generație ar putea afecta grav vânzările aplicației.

Pe de altă parte, aceasta ar putea fi o oportunitate, dacă puteți oferi utilizatorilor unui dispozitiv avansat o caracteristică a aplicației care nu este disponibilă în altă parte.

Concluzie

În acest post, m-am uitat la toate platformele principale de dezvoltare mobile și am încercat să vă dau câteva sfaturi pentru a vă ajuta să alegeți între ele. Aplicarea acestor informații vă va ajuta cu siguranță să obțineți succes în afacerea dvs. de dezvoltare a aplicațiilor.

Cod