Android vs iOS: katera platforma je najboljša za razvijalce
Makradar Tehnologije / / December 19, 2019
Android vs iOS. Večna tema za spletne bitke, ki je že spodobno vse podnadoest. Ne hitite, da prenese besedilo članka in takoj premakniti na izlitjem njegovem le pravilno mnenje v komentarjih. Danes bomo spet govoriti o tem, kateri sistem je boljši, ampak na drugačen način.
Razvijalci - tisti, ki so ustvarili ključni del katerikoli platformi, tj aplikacije. To je kakovost razvojnih orodij, ki jih zagotavlja platforma odvisna od končnega rezultata. Torej, pod kakšnimi sistem je bolje pisati? Odgovor na to vprašanje izkušen razvijalec aplikacije, ki je imel, da bi prižgal v App Store in Google Play.
Izbira platforme - temeljni problem za vsak nov projekt. Android ali iOS? Glede na zadnje novice, da je Android uspešno ujeli 80% trga, izbira postane še težje. Ni važno, kaj menedžerji in drugi, ki niso preveč dobro s tehničnimi vidiki izdaj ljudje mislijo o tem. Še ena stvar - razvijalci.
Kakšno je njihovo mnenje? Prednost tega ali onega platforma je neposredno odvisna od njene sposobnosti, da bi njihovo življenje boljše.
In "oni" Mislim, "naš". Poleg avtorja dejavnosti na TechCrunch, sem v razvoju HappyFunCorp. Poleg tega, ne tako dolgo nazaj, sem ustvaril duet opensorsnyh aplikacij prek svojih projektov-pet. To je te aplikacije, ki jih uporabljam za primerjavo.
Za zapisnik: sem že moral napisati nekaj aplikacij za Android in iOS, tako za osebno uporabo in za delo. Še posebej, sem napisal Mobile odjemalec za novičarski agregator ScanvineKi zbira Nenavadno priljubljena zgodbe iz socialnih medijev. Izvorna koda moje vloge je na voljo na GitHub (Android | iOS), In aplikacije sami so na voljo v google Play in App Store.
No, naj se boj začne.
sreda
Še vedno lahko pišete kodo v urejevalnik besedila, in mnogi so to zdaj, ampak v smislu Predstava je bolj koristno uporabiti IDE (integrirano razvojno okolje - IDE).
V primeru Apple, imamo Xcode, in delo v tem okolju - užitek. To je prilagodljiv, hiter, močan in sposoben za pomoč, ne da bi bili preveč vsiljivi. In ona je že bolje, kljub težkim in paranoičnih ukrepov, ki jih Apple sprejetih obdržati popoln nadzor nad aplikacij za iOS in naprav. Razhroščevalnik teče gladko, in simulacija - hiter in odziven.
Kaj je Android? Oh, Android. V tem trenutku je dejansko razvojno okolje pod je Eclipse, peščica Android meri vtičnikov, in obscenely slabo. Počasen, neroden, nelogično, pogosto odkrito nerazumljiva, slabo zasnovan, preveč zapleteno - pravi nered. Njena razhroščevalnik je tako neprijetno, da večino časa preživim v krpanje z dnevniki, medtem ko z Xcode v moji lasti za pravo orodje-hunter napake. Ne pozabite na emulator Android, ki je prva traja nekaj minut, da prenesete in potem ni mogel povezati z ADB.
Da bi bilo pošteno reči, da je Google zaveda tega problema in delajo na novo Android Studio IDE:
Trenutno je Android Studio je na voljo kot zgodnji predogled. Nekatere funkcije morda ne ustanovi, ali pa se ne izvajajo, ki bi lahko povzročila napake. Če uporaba nedokončane proizvodnje povzroča vaše nelagodje, potem si lahko prenesete in še naprej uporabljati ADT Bundle (Eclipse plugin z ADT).
Lepo je videti, da delajo na problemu, vendar je še vedno preseneča - po letih 4 in pol po nakupu mojega Prvi Android, kot nered je še vedno meja popolnosti, ki je bil sposoben doseči razvojno okolje Android.
Tukaj bije iOS, brezpogojno.
Konfiguracija
Pod krinko Xcode in Objective-C so skriti grozote Lovecraft iz obdobja sedemdesetih programskih. Samo hecam, hecam... ampak še vedno. Makri in datoteke glave, projekti, cilji, sistem in montažo konfiguracije, in strah zbujajoče, zastrašujoče seznam parametrov montažo. in še več neverjetno odkritja v stilu "Oh, kodo tretje osebe ne podpira ARC? Preprosto dodajte zastavo -fno-objc-lok ». Samo? Ne!
V Android imate očitno datoteko in Eclipse so ponavadi popolnoma obnovi aplikacija vsakič, ko vodi evidenco. Rad bi večjo jasnost, ko, na primer, se prikaže sporočilo o napaki, zaradi dejstva, da je pravilno nastaviti pravilo, vendar je manjša napaka. Konfiguracija aplikacije Android je preprost in eleganten.
Tukaj bije Android.
oblikovanje vmesnik
Zdi se, da je Apple zagotovo zmagovalci. Z njihovo oblikovalec lahko enostavno in hitro izdelati preprosto in lepo je videti vmesnik. Težava je v tem, da je več sem delal z oblikovalca, manj mi je všeč. To je še en čas, ko odprete konfiguracijo kompleksnost - orodje je idealno za ustvarjanje preprostih stvari, ampak z razvojem Uporaba preprostih stvari, ki nenadoma postane zapleteno, in res ne kot ti Multiscreen scenarije, ki jih Apple dodanih o pred enim letom.
Na Android, je teorija, če primerljive vizualizacijskih orodij, v praksi pa pišete datoteke XMLVsebuje navodila za risanje, da v nekaterih srečo vodi do pravilnega prikaza uporabo na vseh različnih formatov zaslonih naprave Android. Apple se seli na enak način, in njihovo auto Postavitev jasno nabrušen za različic raztezne Prihodnost zaslonov na iOS napravah.
Ob istem času, Android omogoča razvijalcem ikonKer so iOS razvijalci prisiljeni obrniti na storitve tretjih osebAli narišite svoje ikone.
V tem krogu je zmagovalec izbrati težje, ampak bom dal Ios prednost iz dveh razlogov. Prvič, da je še vedno veliko lažje - samo 3 velikost zaslona (vključno z iPad) in razmerje 2 format vidik. Android raznolikost v zvezi s tem dodaja kompleksnost. Druga točka je pritožba neplačila vizualnih elementov (pop-up menije, sporočila, in tako naprej). V iOS je vse videti veliko bolj privlačna.
Tukaj bije iOS.
jezik
aplikacije Android so napisane v Javi, iOS - na cilju-C. Obstajajo izjeme, kot je XamarinToda v večini primerov je tako delitev veljaven.
Sem se naučil pisati v Java, in sprva ni posebej pomislil Cilj-C, predvsem zaradi svoje razsutosti.
Niz, kot so:
Niz s2 = s1.replace ( "abc", "xyz");
Obrne k njim v:
NSString * s2 = [s1 stringByReplacingOccurrencesOfString: @ "abc" withString: @ "xyz"];
Toda v procesu odkrili jezika res všeč. On je boljši in čistejši kot Java.
V tem primeru je, da so profesionalci Java. Na primer, preprost past in sledeh napake. V zadnjih nekaj letih, je Android še en zelo pomembna prednost v smislu zbiranja odpadkov, ki je, samodejno čiščenje pomnilnika od nepotrebnih predmetov, ampak zdaj iOS pozna isto stvar, in je pravzaprav prednost prišel na nič. Glede na dejstvo, da je zadnja zmaga gre za iOS tukaj.
Tukaj bije iOS.
API
V Android in iOS imajo ogromno knjižnico programske opreme, ki je na voljo za razvijalce, in na splošno, so precej podobni: API delovanje funkcij telefona in komunikacij, API za dostop do omrežja, arzenal gledalcev, vključno z močnim Webview - praktično klon polno brskalnik.
Večino dela opravi s krmilniki in splošno iOS ViewController je enako Android aktivnosti.
Ki res nimajo Android, saj je polno analogno okvir Core podatkov. Na celoten sistem je čistejši in bolje oblikovan. Na primer, samo primerjati tidva razred v iOS, ki opravljajo večino dela v vlogi, s titrienakovredno razredi v Android. Na koncu, sem veliko raje dela z iOS CollectionViewControllerKot z Androidom ListAdapter.
Druga pomembna meritev: število vrstic kode. Moja različica aplikacije za obe platforme so skoraj identični funkcij in nalog, ampak v sistemu iOS za njihovo izvajanje To je moje 1596 vrstic kode, vključno glave datotek, in ustvariti različico Android z enakimi funkcijami zahtevanih 2109 vrstic. Razlika je 32%.
Tukaj bije iOS.
Internet
Danes velika večina vlog več vodila do interneta, ne pa posamičnih programov. To je zelo pomembna točka, in ga je treba obravnavati ločeno. V arzenal obeh sistemih imajo številna orodja in API za izvajanje sodelovanja z mrežo. Tudi obe ploščadi izvajati skoraj popolna brskalnik, ki ga lahko vgrajen v aplikacijo, kot vam je všeč, in kamorkoli greste.
Povezave morajo teči v ozadju in ne posega v tožbi. Za izvajanje večnitne v Android uporablja AsyncTask. To zelo dobro deluje in omogoča enostavno določiAli je uporabnik na spletu v tem trenutku. iOS ponuja podobne zmogljivosti, vendar pa se izvaja na relativno nizki ravni, in ne ustreza potrebam razvijalcev.
Vendar pa obstaja veliko knjižnic tretjih oseb, open source, in se bo življenje veliko lažje. Včasih sem AFNetworking in deluje prav tako dobro, kot je navedeno v oglasu.
Tukaj bije privzeti Android in iOS z uporabo knjižnice tretjih oseb.
delitev
Kako preprosto si delijo koli od posamezne aplikacije na Facebook, Twitter, Evernote in druge storitve? Zdi se, da bo to prvi krog, v katerem se bo Android osvojil 100% Knockout: ima močan sistem interakcij med aplikacijami imenovanih namere, in na splošno, Android je bolj zvest zahtevo in prenos podatkov med aplikacije.
Na splošno je Apple dohitel bistveno konkurenta v priložnosti sharinga. Ne moreš vzeti moje besede, preverite delovanje oznako "Share zgodbo", je v Scanvine na Android in iOS. Edini razlog, zakaj iOS koda več - prisotnost v njej bolj fleksibilno sledenje Google Analytics, ne v Android.
Nato pripravi.
razdrobljenost
Potem mi ni treba povedati veliko. Vendar pa Google poskuša uporabe Zanimiva strategija defragmentacijaTako, da v kratkem času bo postavka bo ponovno preučila.
Tukaj bije iOS.
Objava prijave
Objava aplikacij Android je zelo preprosta. Orodje Eclipse vam omogoča, da hitro zgraditi aplikacijo, in v rokah že imate datoteko apk. Pošljite ga na e-pošto, objavili na spletu ali prenesete na Google Play, ki je na voljo v (skoraj) na svetu v samo eni uri. Potem postane mogoče spremljati statistiko instalacije in crash-poroča do določene vrstico kode, zaradi katerih je uporaba zruši. Če je potrebno, lahko posodobite, da bo uvedla takoj.
Objava v App Store - to je nočna mora. Moj prijatelj svetuje nameniti za razvoj koledarju vsaj en dan v vojni s certifikati in profilov distribucije. Ne glede na to, kolikokrat ste to storili prej, in koliko lažje se trudi, da bi proces naslednjo različico Xcode - si bo še vedno veliko težav. Testiranje aplikacij postaja še večji problem, če ne uporabljate TestFlight. Dodaj ta iTunes Connect, ki ne gredo na katero koli primerjave z Google Play Developer Console.
Tukaj bije Android, brezpogojno.
zmagovalec
To postane iOS, poleg tega z določeno rezervo. Imamo prednosti Android, vendar na splošno napisati dober aplikacija za iOS je še vedno veliko lažje kot v Android. Če k temu dodamo dejstvo, da uporabniki iOS več kot sposobnosti, in ste dobili odgovor na vprašanje, ki mora biti platforma prednostna naloga za zagon. Verjetno bo razlika zniža po sprostitvi Android Studio, s čimer bi rešili nekatere probleme... vendar ne vsi.
Mimogrede, moja glavna telefon - sem Nexus 4, in sem zelo zadovoljen.
(preko)