Android vs iOS: koja platforma je najbolje za programere
Makradar Tehnologije / / December 19, 2019
Android vs iOS. Vječna tema za online bitke, koja je već pristojno sve podnadoest. Ne žurite da prođe tekst članka i odmah prijeći na izljevom svoje jedino ispravnom mišljenju u komentarima. Danas ćemo opet pričati o tome koji je sustav bolji, ali na drugačiji način.
Programeri - oni koji stvaraju ključni dio bilo kojoj platformi, odnosno aplikacija. To je kvaliteta razvojnih alata, pruža platforma ovisi o konačnom rezultatu. Dakle, pod kojim sustav je bolje pisati? Odgovor na ovo pitanje iskusan aplikacija, koji su morali biti osvijetljeni u App Store, i na Google Playu.
Izbor platforme - temeljni problem za svaki novi projekt. Android ili iOS? S obzirom na nedavna vijest da je Android uspješno je zarobljen 80% tržišta, izbor postaje još teže. Nije važno što menadžeri i drugi ne previše obrazovan s tehničkim aspektima Pitanje ljudi misle o tome. Još jedna stvar - programeri.
Koje je njihovo mišljenje? Prednost ovog ili onog platforma izravno ovisi o njezinoj sposobnosti da svoj život bolje.
I „oni” mislim na „naš”. Osim autora aktivnosti na TechCrunch, ja sam u razvoju u HappyFunCorp. Osim toga, ne tako davno, stvorio sam duet opensorsnyh aplikacija putem svog projekta-ljubimca. To je ta aplikacija i koristiti za usporedbu.
Za snimanje: Ja sam ranije morao napisati nekoliko Android i iOS aplikacija, kako za osobnu upotrebu i za rad. Konkretno, napisao sam Mobilne aplikacije za tvoj vijesti skupiti ScanvineKoji prikuplja neobično zanimljivi članci iz društvenih medija. Izvorni kod moje prijave mogu se naći na GitHub (android | iOS), A sami programi su dostupni u Google Play i App Store.
Pa, neka bitka počne.
srijeda
Još uvijek možete pisati kod u tekst editor, a mnogi rade tako daleko, ali u smislu izvedba je korisnije koristiti IDE (okoliš Integrirani razvoj - IDE).
U slučaju Apple, imamo Xcode, i rad u takvom okruženju - zadovoljstvo. To je fleksibilan, brz, snažan i može pomoći, bez pretjerano nametljiv. A ona je sve bolja, unatoč teškim i paranoidne mjera poduzetih od strane Apple zadržati potpunu kontrolu nad iOS aplikacije i uređaje. Debugger teče glatko, i simulacija - brzo i reagiraju.
Što je s Androidom? Oh, Android. U ovom trenutku, stvarna razvojno okruženje pod to je Eclipse, nekolicina Android prilagođene dodatke, a to bestidno loše. Sporo, nespretan, nelogičan, često iskreno neshvatljivo loše dizajniran, previše složena - pravi nered. Njegov program za pronalaženje pogrešaka, tako je nezgodno da većinu vremena provodim u petljaju s dnevnicima, dok je s Xcode u mom posjedu a pravi alat lovac greške. Ne zaboravite na emulator Android, koji je prvi traje nekoliko minuta za preuzimanje, a zatim nije mogao spojiti na ADB.
Da bi se reći da je Google svjesni ovog problema i rade na novo Android Studio IDE:
Trenutno, Android Studio je dostupan kao rani pregled. Neke funkcije možda neće postaviti, ili se ne provode, što bi moglo dovesti do pogreške. Ako je uporaba nedovršenog proizvoda je uzrok vaše nemir, onda možete preuzeti i nastaviti koristiti ADT Bundle (dodatak Eclipse s ADT).
Lijepo je vidjeti da se radi o problemu, ali još uvijek iznenadi - nakon četiri i pol godine nakon kupnje mog Prvi Android poput nered je još uvijek granica savršenstva, koji je bio u mogućnosti postići razvojno okruženje Android.
Ovdje tuče iOS, bezuvjetno.
Konfiguriranje
Pod furnir od Xcode i Objective-C su skrivene užase Lovecrafta iz doba sedamdesetih programiranje. Samo se šalim, ja šalim... ali ipak. Makro i zaglavlje datoteke, projekti, ciljevi, plan i montaža konfiguracije i zastrašujuće zastrašujuće popis montažnih parametara. i više nevjerojatne otkrića u stilu „Oh, treće strane kod ne podržava ARC? Jednostavno dodajte zastave -fno-objc-luk ». Samo? Ne!
Na Androidu imate datoteke manifesta, i Eclipse su obično potpuno obnavlja se aplikacija svaki put kad zadržite datoteku. Želim veću jasnoću kada, na primjer, možete primiti poruku o pogrešci zbog činjenice da je ispravno konfigurirati pravilo, ali to je manji kvar. Konfiguriranje Android aplikacija je jednostavna i elegantna.
Ovdje kuca za Android.
dizajn sučelja
Čini se da je Apple je definitivno izaći kao pobjednik. Sa svojim dizajnerom možete lako i brzo izgraditi jednostavan i lijepo izgleda sučelje. Problem je u tome što više sam radio s dizajnerom, manje mi se svidjelo. Ovo je još jedan put kada otvorite složenost konfiguracije - alat je idealan za stvaranje jednostavnih stvari, ali s razvojem Primjena jednostavne stvari odjednom postati komplicirano, a ja stvarno ne sviđa ova Multiscreen Storyboards, koje je Apple dodao oko prije godinu dana.
Na Androidu, teorija daje usporedive alate za vizualizaciju, ali u praksi ti pisati XML datotekeSadrži crtanje upute da se u određenom sreću dovodi do ispravan prikaz primjene na svim različitim formatima ekrana Android uređaja. Apple kreće na isti način, a njihov auto izgleda jasno naoštren za varijacije buduće proširenje ekrana na iOS uređajima.
U isto vrijeme, android daje programerima ikona setoviDok su iOS programeri prisiljeni obratiti usluge trećih stranaIli nacrtati vlastite ikone.
U ovom krugu pobjednik odabrati teže, ali dat ću IOS prednost iz dva razloga. Prvo, to je još uvijek puno lakše - samo 3 Veličina zaslona (uključujući iPad) i omjer 2 format aspekt. Android raznolikost u tom pogledu dodaje složenost. Druga stvar je žalba zadanim vizualnih elemenata (pop-up izbornika, poruka i tako dalje). U iOS to sve izgleda puno privlačnije.
Ovdje kuca iOS.
jezik
Android aplikacije su pisane u Javi, iOS - na Objective-C. Postoje iznimke kao što je XamarinNo, u većini slučajeva takva podjela vrijedi.
Naučio sam pisati u Javi, a isprva nije osobito razmišljao o Objective-C, uglavnom zbog svoje glomaznosti.
Niz kao što su:
Niz s2 = s1.replace ( "ABC", "xyz");
Okreće ga u:
NSString * s2 = [s1 stringByReplacingOccurrencesOfString: ' "ABC" withString:' "xyz"];
No, u procesu otkriti jezik koji mi se svidio. On je bolji i čišći nego Java.
U tom slučaju, također, tu su pro Java. Na primjer, jednostavna zamke i tragovima pogreške. Posljednjih nekoliko godina, android je još jedna vrlo značajna prednost u smislu prikupljanja otpada, koji je, automatsko čišćenje pamćenja od nepotrebnih predmeta, ali sada iOS zna istu stvar, a zapravo je prednost dolaze u ništa. S obzirom na činjenicu da je posljednji pobjeda ide na iOS ovdje.
Ovdje kuca iOS.
API
U Android i iOS imaju ogromne baze softver koji je dostupan za programere, i općenito govoreći, oni su vrlo slični: API za Rad funkcija telefona i komunikacija, API za pristup mreži, arsenal gledatelja, uključujući moćne web-prikazu - gotovo klon puni preglednik.
Najveći dio posla je učinio s kontrolorima i opće IOS ViewController je ekvivalent Android djelatnosti.
Koji stvarno nemaju Android, jer je pun analogni okvir osnovnih podataka. U cjelini, sustav je čišći i bolje dizajniran. Na primjer, samo usporediti ovidva klasa u iOS-u, koji obavljaju većinu posla u prijavi, uz ovitriekvivalent nastava u Androidu. Na kraju, ja puno radije raditi s iOS CollectionViewControllerNego s Androidom ListAdapter.
Još jedan važan podatak: broj linija koda. Moja verzija programa za obje platforme su gotovo identične u značajke i funkcije, ali u iOS-u za njihovu provedbu Trebalo mi 1596 linija koda, uključujući i zaglavlje datoteke, te stvarati Android verziju s istim funkcijama potrebnim 2109 redaka. Razlika je 32%.
Ovdje kuca iOS.
Internet
Danas je velika većina aplikacija više vodiče na internetu, a ne samostalne programe. Ovo je vrlo važna stvar, a to treba uzeti u obzir odvojeno. U arsenalu oba sustava imaju niz alata i API za provedbu suradnje s mreže. Također obje platforme provesti gotovo punopravni preglednik, koji može biti izgrađen u aplikaciju kao što želite i gdje god idete.
Veze moraju se izvoditi u pozadini i ne ometa same aplikacije. Za provedbu višedretvenost u Androidu koristi AsyncTask. To radi jako dobro i omogućuje jednostavan odreditiBilo je korisnik na webu u ovom trenutku. IOS također nudi slične mogućnosti, ali oni se provode na relativno niskoj razini, a ne zadovoljava potrebe programere.
Međutim, postoji mnogo drugih knjižnice, open source, i oni čine život puno lakše. Koristio sam AFNetworking, i to radi jednako dobro kao što je navedeno u oglasu.
Ovdje kuca zadani Android i iOS pomoću treće strane knjižnica.
Dijeljenje
Kako lako vam podijeliti bilo koju određenu primjenu u Facebook, Twitter, Evernote i druge usluge? Čini se da će to biti prvi krug u kojem će Android osvojiti 100% nokaut: ima snažan sustav interakcije između aplikacija zove-namjere, i općenito, Android je mnogo više lojalni zahtjev i prijenos podataka između aplikacija.
U principu, Apple je uhvaćen značajno konkurent u sharinga mogućnosti. Ne možete uzeti moju riječ, provjerite kod funkcije „Podijeli priča” u Scanvine na android i iOS. Jedini razlog zašto IOS kod više - prisutnost u njemu od fleksibilniji praćenje usluge Google Analytics, a ne u Android.
Zatim nacrtati.
fragmentacija
Onda ne trebam reći koliko. Međutim, Google se pokušava korištenja Zanimljiva strategija defragmentacijaTako da u kratkom vremenu artikl će biti ponovno ispitan.
Ovdje kuca iOS.
objave prijave
Objavljivanje aplikacija Android je vrlo jednostavan. Alat za Eclipse vam omogućuje da brzo izgraditi, a zatim ga u svojim rukama već imaju APK datoteku. Pošaljite ga na e-mail, post online ili preuzeti na Google Playu, čineći ga dostupnim preko (gotovo) u svijetu u samo jedan sat. Tada to postaje moguće pratiti statistiku instalacije i sudara izvješća do određene linije koda, zbog koje se zahtjev ruši. Ako je potrebno, možete ažurirati razvaljati odmah.
Objava u App Store - to je noćna mora. Moj prijatelj savjetuje izdvojiti za razvoj kalendara barem jedan dan u ratu s certifikatima i distribucije profile. Bez obzira koliko puta ste to učinili prije, i koliko je lakše pokušava napraviti proces sljedećoj verziji Xcode - što će i dalje biti mnogo problema. testiranje aplikacija postaje još veći problem, osim ako ne koristite TestFlight. Dodaj u ovom iTunes Connect, koji ne ide na bilo koju usporedbi s Google Play konzole za razvojne programere.
Ovdje tuče Android, bezuvjetno.
pobjednik
To postaje iOS, štoviše s određenim maržu. Imamo prednosti Androida, ali općenito napisati dobar program za iOS i dalje je mnogo lakše nego pod Android. Dodaj ovu činjenicu da iOS korisnici više od solventnosti, i dobijete odgovor na pitanje od čega je platforma treba biti prioritet za početak. Vjerojatno, jaz će se smanjiti nakon objavljivanja Android Studio, čime se omogućuje da riješi neke probleme... ali ne sve.
Usput, moj glavni telefon - Nexus 4, a ja jako sam zadovoljan.
(preko)