Există mai multe moduri de a crea o aplicație mobilă. Vrei să știi care este cea mai bună cale? Depinde. Cu ce tehnologii aveți experiență? Pe ce platforme vizați? Cât timp doriți să cheltuiți pentru construirea aplicației?
După introducerea iPhone-ului și a kit-ului de dezvoltare software, spațiul mobil a trecut printr-o revoluție. Astăzi, există milioane de aplicații mobile, nenumărate platforme și zeci de cadre și instrumente pentru a crea aplicații mobile.
Cum decideți ce este potrivit pentru dvs.? Răspunzând la această întrebare este punctul central al acestui articol. Vorbesc despre tipurile de aplicații mobile pe care le găsiți în sălbăticie, despre avantajele aplicațiilor native și hibride și am enumerat câteva dintre cele mai populare platforme.
Aplicațiile mobile pot fi împărțite în trei mari categorii:
Fiecare dintre aceste tipuri are argumente pro și contra. Dacă mă întrebați ce tip se potrivește cel mai bine nevoilor dvs. atunci răspunsul meu ar fi că depinde într-adevăr de exact ceea ce încercați să faceți. Pentru a-mi justifica răspunsul, trebuie mai întâi să vă spun despre fiecare tip de aplicație. Să începem cu aplicațiile web.
Este posibil să fiți deja familiarizați cu aplicațiile web. Spre deosebire de alte aplicații, o aplicație web nu este ceva ce puteți descărca de undeva, este simplu disponibil pe orice dispozitiv care poate încărca pagini web (sau are un browser web). O aplicație web nu este altceva decât un site web, care acționează și se comportă ca o aplicație. Înainte de introducerea SDK-ului iOS, de exemplu, aplicațiile web au fost singura opțiune pentru dezvoltatorii care doresc să creeze aplicații pentru iPhone-ul original.
Aplicațiile web au un număr de avantaje distincte, cel mai important fiind timpul de dezvoltare. Deoarece o aplicație web este un site web, aceasta este construită odată și accesibilă pe fiecare platformă care rulează un browser web. Pentru unele companii, aceasta este o soluție atrăgătoare, deoarece dezvoltarea nativă, pe care o discutăm într-un moment, poate fi costisitoare și consumatoare de timp. Ați putea spune că aplicațiile web sunt, prin definiție, platforme transversale.
Un alt avantaj important îl reprezintă curba de învățare pentru dezvoltarea aplicațiilor web. Pentru a dezvolta o aplicație web, te bazezi pe tehnologii web cu care ai deja experiență, cum ar fi HTML, CSS și JavaScript. Dacă faceți acest lucru, atunci veți fi difuzat în cel mai scurt timp fără utilizarea unor SDK-uri de proprietate.
Există dezavantaje?
Ca și în cazul oricăror tipuri de aplicații, există câteva dezavantaje ale dezvoltării web. Cele două dezavantaje importante sunt performanța și accesul la capabilitățile dispozitivului. Dacă intenționați să dezvoltați un joc, atunci o aplicație web nu este cea mai bună opțiune. Este posibil, dar performanța nu va fi stelară. Site-urile web și aplicațiile web au acces limitat la capacitățile dispozitivului, cum ar fi camera, serviciile de localizare etc. Acest lucru sa îmbunătățit semnificativ de-a lungul anilor, dar nu este în concordanță cu aplicațiile native.
Dacă doriți să limitați costurile de dezvoltare și întreținere ale aplicației dvs. mobile și performanța nu este cel mai important aspect, atunci o aplicație web este cu siguranță utilă în considerare.
Dacă doriți să înțelegeți ce aplicații web sunt despre și cum să începeți, consultați unele dintre celelalte conținuturi de aici pe Envato Tuts +:
Aplicațiile hibride au fost și încă sunt incredibil de populare. Acestea combină unele dintre cele mai bune lucruri din ambele lumi, adică web și nativ. Tehnologiile folosite pentru a crea aplicații hibride sunt identice cu cele utilizate pentru crearea de aplicații web, HTML, CSS și JavaScript. Motivul este evident dacă înțelegeți modul în care funcționează aplicațiile hibride.
O aplicație hibrid este o aplicație web care rulează într-o vizualizare web a unei aplicații native. Puneți altfel, o aplicație hibrid utilizează o aplicație nativă ca container pentru a face ca aceasta să semene cu o aplicație nativă. Acest lucru înseamnă că, pentru utilizator, o aplicație hibrid arată și se simte nativă, mai mult sau mai putin. Utilizatorul îl poate descărca din magazinul mobil al platformei, iar pictograma aplicației apare pe ecranul lor inițial.
Orice dezavantaje? Deoarece aplicațiile hibride se bazează pe tehnologii web și se execută într-o vizualizare web, aplicațiile hibride suferă de cele mai multe dintre aceleași probleme pe care le fac aplicațiile web. Performanța nu este în concordanță cu aplicațiile native. Acest lucru se îmbunătățește, dar, în fiecare an performanța devine mai bună și mai bună. Este impresionant modul în care performanța JavaScript sa îmbunătățit în ultimul deceniu.
Cea mai populară soluție pentru dezvoltarea aplicațiilor hibride este Apache Cordova, Cordova pe scurt. Când Adobe a achiziționat telefonul PhoneGap acum câțiva ani, ei au deschis majoritatea bazei de coduri și sa născut Cordova. PhoneGap mai există și este vărul comercial al lui Cordova.
Pentru a accelera dezvoltarea, dezvoltatorii folosesc adesea Cordova în combinație cu alte cadre, cum ar fi interfața Ionic și Onsen.
Pentru a afla mai multe despre aplicațiile hibride, vă recomandăm să citiți câteva dintre tutorialele pe care le-am publicat pe Cordova:
Alegerea pentru dezvoltarea nativă este alegerea pentru performanță și fiabilitate. De ce dezvoltarea nativă sperie atât de mulți dezvoltatori? Să luăm platforma iOS ca exemplu. Dacă doriți să construiți o aplicație nativă IOS, trebuie să învățați o nouă limbă, Obiectiv-C sau Swift. De asemenea, trebuie să vă familiarizați cu Xcode, IDE-ul Apple (Integrated Development Environment). O aplicație nativă durează în general mai mult pentru a construi pur și simplu pentru că lucrați mai aproape de metal, ca să spunem așa. Obiectivul C și JavaScript sunt două limbi foarte diferite.
Ce primiti in schimb? Performanța este probabil avantajul cel mai convingător al aplicațiilor native. Aplicațiile native se simt bine și, mai ales pentru jocuri, pot profita din plin de resursele dispozitivului și ale sistemului de operare. Fiecare caracteristică și capacitatea dispozitivului expus prin API-urile SDK-ului este accesibil dezvoltatorului. Acesta este un alt avantaj cheie pe care nativul îl are față de hibrizi și web.
Există un număr de abordări hibride care fac dezvoltarea aplicațiilor native accesibile mai multor dezvoltatori. Soluția este simplă, scrieți codul în limba pe care o alegeți și compilați-o într-o aplicație nativă. Cele mai populare soluții în momentul scrierii sunt Xamarin și React Native.
Xamarin permite dezvoltatorilor să scrie aplicații native pentru iOS, Android și Windows Phone folosind C #. Instrumentele Xamarin folosesc proiectul open source Mono. Reacționează Native își are rădăcinile la Facebook și îi permite dezvoltatorilor să scrie aplicații native utilizând JavaScript.
Envato Tuts + acoperă o gamă largă de platforme, inclusiv iOS, Android, Xamarin și React Native. Uitați-vă la aceste tutoriale pentru a le familiariza:
Care este cea mai bună soluție? Nativ? Sau hibrid? Sau o aplicație web? Nu există un singur răspuns. Depinde de mai mulți factori. Dacă sunteți dezvoltator, atunci răspunsul este mai puțin complicat. Cu ce tehnologii deja cunoașteți? Doriți să vă concentrați pe o singură platformă sau să creați aplicații pentru mai multe platforme?
Este o provocare adevărată pentru a rămâne pe partea de sus a iOS, Android și Windows Phone. Unii dezvoltatori scriu aplicații native pentru mai multe platforme, dar este o provocare și dacă o puteți face, cu siguranță o recomand. Spațiul mobil evoluează într-un ritm rapid, iar dacă alegeți dezvoltarea nativă, atunci ar trebui să să fie obiectivul dvs., să deveniți foarte familiarizat cu platforma pe care o vizați.
Acesta este unul dintre motivele pentru care mulți dezvoltatori aleg o soluție hibridă. Dacă sunteți un dezvoltator web condus, atunci veți fi în funcțiune în cel mai scurt timp. Apache Cordova, în combinație cu interfața Ionic sau Onsen, poate accelera dezvoltarea în mod semnificativ.
Aplicațiile web sunt cu siguranță ceva de reținut. Cu toate acestea, ele sunt o categorie diferită. Prin crearea unei aplicații web, nu aveți intenția de a avea o aplicație în nici unul dintre magazinele de telefonie mobilă. Multe companii au ales această cale în urmă cu câțiva ani. În zilele noastre, dacă bugetul și resursele sunt disponibile, abordările native și hibride sunt mai populare.
Pentru a decide ce abordare doriți să faceți în dezvoltarea aplicației dvs. mobile, întrebați-vă aceste întrebări. După cum am menționat mai devreme, alegerea tipului de
Dacă da, nativul este cea mai bună opțiune. Ați putea dori, de asemenea, să vă uitați în motorul Unreal dacă intenționați să dezvoltați un joc. Spre deosebire de Unity, ele vă percep doar 5% din veniturile pe care le faceți, în loc de o taxă lunară.
Când am discutat despre aplicații native, am văzut că sunt capabili să utilizeze capabilitățile dispozitivului și un exemplu bun în acest sens este modul în care Apple a preluat performanțele grafice la nivelul următor folosind Metal, oferind dezvoltatorilor accesul aproape complet la GPU-ul dispozitivului.
Dacă nu sunteți familiarizat cu Metal, iată ce spune Apple despre el:
Metal 2 oferă acces aproape direct la unitatea de procesare grafică (GPU), permițându-vă să maximizați grafica și să calculați potențialul aplicațiilor dvs. pe iOS, macOS și tvOS.
Acum, dacă performanța nu contează, sunteți liber să alegeți aplicații cross-platform sau hibride, în funcție de necesitățile dvs., pe baza următoarelor câteva întrebări. Cu toate acestea, dacă aveți resurse pentru a crea aplicații native, aceasta este întotdeauna cea mai bună opțiune în ansamblu.
Dacă nu, ar trebui să luați în considerare traseul nativ. Aplicațiile native, așa cum am menționat mai sus, sunt cu siguranță cea mai bună modalitate de a ajunge la o experiență solidă de utilizare și la cea mai bună performanță posibilă.
În cazul în care suportul cross-platform este vital și nu puteți obține aplicații native pentru toate platformele dvs., atunci o abordare hibrid nativă sau hibrid este cel mai bun pariu.
Uitați-vă la Xamarin sau React Native dacă performanțele și capabilitățile dispozitivului sunt la fel de importante. Preferatul meu personal, totuși, este ionic, deoarece oferă o mulțime de funcționalități pe dispozitiv, în timp ce încă mai are o umbrelă suficient de largă pentru a acoperi majoritatea dezvoltării
Dacă obiectivul dvs. este de a deveni un dezvoltator de dispozitive mobile, sugestia mea ar fi să alegeți o abordare nativă. Totuși, este foarte personal. Sunt un dezvoltator de iOS și îmi place așa; Cred că Apple perturbă domeniul dezvoltării mobile și vă oferă o mulțime de instrumente ca dezvoltator. Prin focalizarea pe o singură platformă, în cazul meu, iOS, tvOS, watchOS și macOS, am timp să devin foarte familiarizat cu platforma. Acesta este un aspect important al dezvoltării mobile, dacă doriți să creați aplicații convingătoare și o experiență extraordinară pentru utilizatori.
Dacă aveți un background în dezvoltarea web, atunci nativul este încă o opțiune. Cu toate acestea, dacă doriți să scoateți rapid o ușă, atunci o soluție hibridă sau web este cea mai rapidă soluție.
Dacă v-ați aștepta la un răspuns clar, atunci probabil că v-am dezamăgit. Dacă nu v-ați gândit încă, atunci vă recomand să dați câteva dintre opțiunile pe care le-am enumerat o încercare. Joacă-te cu Cordova sau să înveți despre Swift și să vezi cum îți place. Nu luați calea cea mai ușoară sau mai rapidă spre obiectivul dvs. Asigurați-vă că vă bucurați, de asemenea, de călătorie, pentru că acolo este distracția.
Dacă știți deja ce abordare este cea mai bună pentru dvs., atunci vă recomandăm să accelerați dezvoltarea aplicației următoare cu unele dintre aceste șabloane iOS și Android. Verificați-le pe Envato Market: