Cross-Platform vs. Native Mobile Apps (Română)

(Jacob Muchow ) (15 octombrie 2020)

Design by

Introducere

Aplicațiile multi-platformă au devenit o soluție de intrare pe piață pentru multe start-up-uri din industria tehnologică. Promit să poată scrie cu ușurință o bază de cod care se implementează atât pe dispozitivele iOS, cât și pe cele Android. Cu toate acestea, multe companii aleg în continuare să urmeze calea tradițională și să se dezvolte nativ în ciuda potențialelor avantaje.

Ambele soluții sunt valabile – nu există o singură modalitate „corectă” de a face lucrurile (cel puțin încă nu! ). Alegerea căii corecte pentru echipa dvs. depinde de obiectivele și constrângerile dvs., iar alegerea dvs. în materie de tehnologie ar trebui să provină din asta mai mult decât dintr-o credință personală. Această postare va face o comparație între cele două opțiuni pentru a vă ajuta să luați cea mai bună decizie pentru compania dvs.

Cross-Platform

În prezent, există mai multe opțiuni concurente pentru dezvoltarea cross-platform : React Native, Flutter, Xamarin, Ionic pentru a-i numi pe cei de masă. În această postare, vom evita explicarea fiecăruia și vom discuta despre avantajele / dezavantajele dezvoltării pe mai multe platforme în ansamblu.

Fiecare dintre aceste platforme permite echipei dvs. să scrie codul pentru o singură aplicație, care poate fi implementat atât în ​​Google Play Store, cât și în App Store. Potențialul de economisire a costurilor este evident imens dacă este realizat eficient.

Pro pentru multiplataforma

  • Este posibil să livrați pe ambele piețe de telefonie mobilă la un buget mult mai mic decât ar fi nevoie de două să dezvolte două aplicații native separate. Aproximativ 60-70\% din cod poate fi partajat, restul fiind personalizat pentru oricare dintre platforme.
  • Puteți avea o singură echipă de dezvoltare mobilă, simplificându-vă organizația. Acest lucru poate beneficia, de asemenea, de a aduce o oarecare coeziune aplicațiilor dvs. Android și iOS, care este greu de realizat altfel.
  • În funcție de tehnologia aleasă, este posibil să aveți dezvoltatori interni care sunt deja familiarizați cu limbile și stilurile de dezvoltare. (JavaScript, C # /. NET, Dart). Este posibil să puteți construi o echipă fără a fi nevoie să începeți angajarea de la bază.
  • Funcții noi sunt implementate simultan utilizatorilor dvs. iOS și Android, mai degrabă decât să aveți un „lider funcțional”.

Dezavantaje pentru multiplataforma

  • Este mult mai greu să angajezi dezvoltatori cu experiență în această tehnologie în comparație cu nativul.
  • Când o faci atinge un obstacol, de multe ori este nevoie de un inginer foarte calificat pentru a rezolva problema.
  • Funcțiile specifice iOS sau Android (de ex. Health Kit / Apple Watch) sunt extrem de dificile sau imposibil de utilizat.
  • Dezvoltarea UI / UX complicată durează mult mai mult decât Native. Dacă nu există o componentă out-of-the-box, trebuie creată una personalizată pentru ambele platforme, care consumă mult timp.
  • De multe ori platforma multiplă nu este la fel de eficientă ca cea nativă, uneori provocând niște ciudate care nu se pot rezolva cu adevărat. Acest lucru are un impact mai mare cu cât aplicația dvs. este mai complexă.
  • Tehnologiile au ecosisteme mai puțin mature decât cele native. Acest lucru înseamnă mai puține instrumente pentru echipa dvs. de a utiliza și mai puțină ajutor disponibil atunci când întâmpină probleme.
  • Aplicațiile nu se „simt” ca aplicațiile iOS sau Android. Acestea creează experiențe necunoscute pentru utilizator, ceea ce poate face ca aplicația să nu fie atrăgătoare.
  • Există riscul ca tehnologia aleasă să dispară și să piardă asistența comunității, a creatorilor sau a companiei.

Când este logic să folosiți multiplataforma

  • Doriți să vizați atât piețele Android, cât și cele iOS pentru MVP-ul dvs. constrângeri.
  • Aplicația dvs. mobilă nu este o parte esențială a afacerii dvs.
  • Experiența utilizatorului ar trebui să fie standard între aplicațiile dvs. și nu căutați să vă „simțiți” ca iOS sau Android aplicație.
  • Aplicația dvs. este simplă în ceea ce privește experiența și caracteristicile utilizatorului.
  • Proiectele dvs. sunt aproape identice pe ambele platforme.

Gândurile noastre

Tehnologiile multi-platformă sunt o modalitate excelentă de a ajunge rapid pe piață către cel mai larg public posibil și de a vă valida ideea. Dacă aplicația dvs. nu va necesita tehnologii specifice platformei, UI / UX complexe sau o logică complexă de afaceri, ar trebui să luați în considerare utilizarea unei soluții multi-platformă. Post-MVP, acest lucru vă poate permite să vă concentrați pe iterația produsului în întregime, în timp ce a fi nativ ar putea însemna că trebuie să luați în considerare crearea unei echipe / aplicații complet noi pentru iOS sau Android. Nativul poate veni întotdeauna mai târziu, dacă este necesar.

Dezvoltare nativă

Dezvoltarea „nativă” se referă la stilul tradițional de a dezvolta o aplicație întreagă utilizând instrumentele primare furnizate de Apple și Google pentru iOS și Android.Ecosistemele au evoluat, dar astăzi standardul industriei este de a utiliza Android Studio & limbajul de programare Kotlin pentru Android și Xcode & Limbaj de programare rapid pentru iOS.

Această abordare necesită două baze de cod separate pentru fiecare aplicație. Echipele vor avea de obicei ingineri care se concentrează pe o platformă sau pe cealaltă sau, uneori, au două echipe de dezvoltare complet separate pentru fiecare platformă.

De multe ori, companiile își vor lansa aplicația în App Store sau Google Play mai întâi și concentrați-vă pe iterația produsului. Dacă livrarea aplicației pe cealaltă platformă face parte din strategia lor, odată ce au tracțiune sau succes și finanțare suficientă, vor investi în construirea unei echipe care să se ocupe de cealaltă platformă.

Pro pentru dezvoltarea nativă

  • Aplicațiile pot profita de toate funcțiile specifice iOS sau Android.
  • Experiența utilizatorului poate fi adaptată într-un grad mai mare sau mai mic la ceea ce se așteaptă un utilizator iOS sau Android.
  • Interfața de utilizare personalizată și complexă este mult mai ușor de dezvoltat în general.
  • Dacă există o procesare complexă în fundal, aceasta va rula mai ușor decât multiplataforma datorită limitărilor tehnice.
  • Aplicațiile native făcute bine „se simt mai bine” într-un mod în care aplicațiile multiplatformă nu sunt capabile acum.
  • Următoarea echipă ar trebui să poată ajunge la prima echipă destul de repede. Nu vor trebui să treacă prin aceleași greșeli și învățări pe care le-a făcut prima echipă.
  • În ceea ce privește piața locurilor de muncă, există mult mai mulți dezvoltatori cu experiență în dezvoltarea nativă iOS sau Android. Angajarea dvs. va fi mult mai simplă.
  • Instrumentele și asistența comunității au fost dezvoltate de la începerea aplicațiilor mobile și sunt mult mai robuste și mai mature.
  • Dacă vă puteți imagina, se poate face adesea 99\% din timp.

Dezavantaje ale dezvoltării native

  • Poate fi foarte scump să finanțezi aplicații native atât pentru iOS cât și pentru Android .
  • În esență aveți nevoie de două echipe de dezvoltatori care să le livreze ambelor.
  • Următoarea platformă rămâne adesea în urmă în ceea ce privește caracteristicile și poate fi dificil să atingeți paritatea.
  • Este o provocare să atingi coeziunea între aplicațiile și echipele iOS și Android.

Când are sens să devii nativ

  • Îți pasă profund despre o experiență de utilizator reglată fin, de înaltă calitate sau impresionantă.
  • Doriți să profitați de funcțiile platformei (de ex. Health Kit / integrarea Apple Watch).
  • Aveți caracteristici intense din punct de vedere al calculului, cum ar fi video sau streaming live.
  • Nu este salut Este foarte important să le oferiți unui public cât mai larg posibil la început.
  • Vizați un anumit grup demografic care tinde să utilizeze o platformă sau alta.
  • Când proiectele dvs. valorifică puternic componentele native și stiluri.

Gândurile noastre

Dacă doriți să livrați o aplicație de înaltă calitate, care să fie cea mai naturală sau mai satisfăcătoare pentru utilizator, sau trebuie să vă integrați îndeaproape cu API-urile native și cu caracteristicile pentru fiecare platformă, atunci nativul este calea de urmat. Chiar dacă anticipați acest lucru în viitor, ar trebui să vă gândiți să faceți nativ. Când totul merge fără probleme, dezvoltarea a două aplicații native este mult mai scumpă. Dacă întâmpinați un obstacol în ceea ce privește caracteristicile pe care le puteți crea, adesea acestea sunt rezolvabile în nativ, în timp ce multiplataforma vă poate lăsa să vă rupeți părul. QuarkWorks, avem experiență în dezvoltarea unei varietăți de tehnologii cross-platform, precum și a experienței noastre extinse în dezvoltarea nativă de la înființarea App Store.

Nu există „un singur mod adevărat” când vine vorba de dezvoltarea de aplicații mobile. Pentru dezvoltarea prototipurilor ușoare și a MVP-urilor, ne place conceptul de a folosi multiplataforma atunci când este posibil pentru a ne pune ideile în mâinile celui mai larg public. Cu toate acestea, atunci când dorim să creăm ceva la perfecțiune și să oferim cu adevărat acea experiență de utilizator de cea mai înaltă calitate, preferăm totuși să mergem cu dezvoltarea nativă.

Apreciem aplicațiile care „se simt” bine și nu există nicio cale pentru a recrea acel sentiment la fel cu tehnologia multiplataforma în prezent. Suntem încântați de unele dintre noile soluții, cum ar fi Flutter, care își propun să ofere nu numai o singură bază de cod pentru mobil, ci și să poată partaja coduri între dispozitive mobile și web. Face toate acestea în timp ce este la fel de eficient ca aplicațiile native. Deși nu este perfect, vedem acest lucru ca fiind Sfântul Graal metaforic pe care industria l-ar putea realiza într-o bună zi.

În prezent, multe dintre aceste tehnologii promit acest lucru, dar nu ajung în moduri care pot deveni cu adevărat frustrante pentru rezolvați.

Ca oricând, QuarkWorks este disponibil pentru a vă ajuta cu orice proiect de aplicație software – web, mobil și multe altele! Dacă sunteți interesat de serviciile noastre, puteți accesa site-ul nostru .Ne-ar plăcea să vă răspundem la orice întrebări! Trebuie doar să ne contactați pe Twitter , Facebook , LinkedIn sau Instagram .

QuarkWorks – Acasă

Codul curat, bine documentat și testat este fundamentul fiecărui proiect de succes. Lucrăm îndeaproape în cadrul dvs. …

quarkworks.co