Android vs iOS: joka alusta on paras kehittäjille
Makradar Teknologian / / December 19, 2019
Android vs iOS. Ikuinen teema online taistelut, joka on jo kohtuullisesti kaikki podnadoest. Älä kiirehdi siirtää artikkelin teksti ja heti siirtyä vuodatus hänen ainoa oikea mielipide kommentteja. Tänään jälleen puhua, mikä järjestelmä on parempi, mutta eri tavalla.
Kehittäjät - jotka luovat keskeinen osa tahansa alustalla, eli sovelluksia. Se on laatu kehitystyökaluja, se tarjoaa alustan riippuu lopputulokseen. Niin missä järjestelmä on parempi kirjoittaa? Vastaus tähän kysymykseen kokenut sovelluksen kehittäjä, piti valaistu App Storesta ja Google Play.
Valinta alustan - perustavanlaatuinen ongelma tahansa uusi projekti. Android- tai iOS? Viimeaikainen uutinen, että Android on onnistuneesti otettu 80% markkinoista, valinta on entistä vaikeampaa. Sillä ei ole väliä, mitä johtajat ja muut ei liian asiantunteva teknisiä liittyvät näkökohdat ihmiset ajatella sitä. Toinen asia - kehittäjille.
Mikä on heidän mielestään? Etuna tämän tai tuon alusta on suoraan riippuvainen sen kyvystä tehdä elämänsä paremmin.
Ja "he" En tarkoita "meidän". Lisäksi tekijän toimintaa TechCrunch, olen kehittymässä HappyFunCorp. Lisäksi ei niin kauan sitten, olen luonut duetto opensorsnyh sovellusten kautta hanke-lemmikki. Juuri nämä sovellukset käytän vertailuun.
Muistutettakoon: Olen aiemmin piti kirjoittaa muutama Android ja iOS sovelluksia, sekä omaan käyttöön ja työhön. Erityisesti kirjoitin Mobiilipokerissa oman uutiskeräin ScanvineJoka kerää epätavallisen suosittu tarinoita sosiaalisen median. Lähdekoodin hakemukseni löytyvät Github (Android | iOS), Ja itse sovellukset ovat saatavilla Google Play ja App Store.
No, anna taistelu alkaa.
keskiviikko
Voit silti kirjoittaa koodia tekstieditori, ja monet tekevät niin pitkälle, mutta suhteen suorituskyky on hyödyllistä käyttää IDE (Integrated Development Environment - IDE).
Kun kyseessä on Apple, olemme Xcode, ja työtä tässä ympäristössä - ilo. Se on joustava, nopea, tehokas ja pystyy auttamaan, olematta kuitenkaan liian tunkeileva. Ja hän paranee, huolimatta vaikeista ja vainoharhainen toimenpiteet Apple säilyttää täyden määräysvallan iOS sovelluksia ja laitteita. Debuggeri toimii sujuvasti, ja simulointi - nopea ja reagoiva.
Mitä Android? Voi Android. Tällä hetkellä todellinen kehitys ympäristöön on Eclipse, kourallinen Android mukautettuja laajennuksia, ja se obscenely huonoja. Hidas, kömpelö, epälooginen, usein suoraan sanottuna käsittämätön, huonosti suunniteltu, liian monimutkainen - todellinen sotku. Sen debuggeri on niin hankalaa, että suurimman osan ajasta vietän puuhastelun tukit, kun Xcode minun hallussa todellinen työkalun metsästäjä vikoja. Älä unohda emulaattori Android, joka ensin kestää muutaman minuutin ladata, ja sitten hän ei voinut muodostaa yhteyttä ADB.
Ollakseen reilua sanoa, että Google on tietoinen ongelmasta, ja he työskentelevät uutta Android Studio IDE:
Tällä hetkellä Android Studio on saatavana ennakkoesittelyyn. Jotkut toiminnot eivät ehkä perustaa tai ei panna täytäntöön, mikä saattaa aiheuttaa virheitä. Jos käyttö keskeneräisen tuotteen on aiheuttanut epämukavuutta, voit ladata ja käyttää edelleen ADT Bundle (Eclipse plugin ADT).
Kiva nähdä, että he työskentelevät ongelma, mutta silti yllättävää - kun 4 ja puoli vuotta hankinnan jälkeen minun ensimmäinen Android kaltainen sotku on edelleen raja täydellisyyttä, joka pystyi saavuttamaan kehitysympäristö Android.
Täällä voittaa iOS, ehdoitta.
määrittäminen
Alle viilu Xcode ja Objective-C on piilotettu kauhujen Lovecraftin aikakaudelta Seitsemänkymmentäluvun ohjelmointi. Vain leikkiä, en leikkiä... mutta silti. Makrot ja otsikkotiedostot, hankkeiden tavoitteita, järjestelmää ja kokoonpano kokoonpano, ja pelottava, pelottava luettelo kokoonpanon parametreja. ja lisää uskomatonta löytöjä tyyliin "Ai, kolmannen osapuolen koodia ei tue ARC? Lisää vain lippu -fno-ObjC kaaren ». Vain? Ei!
Android olet luettelotiedosto ja Eclipse yleensä täysin uusinnat sovelluksen aina pitää kirjaa. Haluaisin selkeyttää kun esimerkiksi saat virheilmoituksen johtuu siitä, että oikein määrittää sääntö, mutta se on pieni vika. Määrittäminen Android-sovellus on yksinkertainen ja tyylikäs.
Täällä voittaa Android.
käyttöliittymän suunnittelu
Näyttää siltä, että Apple on ehdottomasti voittavan. Niiden suunnittelija voit helposti ja nopeasti rakentaa yksinkertainen ja mukavan näköinen käyttöliittymä. Ongelmana on, että mitä kauemmin olen työskennellyt suunnittelija, sitä vähemmän pidin siitä. Tämä on toinen kerta, kun avaat konfigurointia - työkalu soveltuu erinomaisesti yksinkertaisia asioita, mutta kehitystä Sovellus yksinkertaisia asioita yhtäkkiä monimutkainen, ja en todellakaan pidä näitä monikuvanäytöissä Storyboards, jonka Apple lisäsi noin vuosi sitten.
Androidin teoria tarjotaan vertailukelpoista visualisointityökalujen mutta käytännössä kirjoitat XML-tiedostojaSisältävä piirustus ohjeita tietyssä onnea johtaa oikeaan näytön sovelluksen kaikkien eri muodoissa näytöistä Android-laitteisiin. Apple liikkuu samalla tavalla, ja niiden Automaattinen asettelu selvästi teroitettu kasvaa tulevaisuudessa muunnelmia näytöt iOS-laitteissa.
Samaan aikaan Android antaa kehittäjille kuvakejoukkojaKun taas iOS kehittäjät joutuvat turvautumaan Kolmannen osapuolen palvelutTai piirtää omia kuvakkeita.
Tällä kierroksella voittaja valita vaikeampaa, mutta annan iOS etusijalle kahdesta syystä. Ensinnäkin, se on vielä paljon helpompaa - vain 3 näytön koon (mukaan lukien iPad) ja 2-muodossa kuvasuhteen. Android monimuotoisuus tässä suhteessa lisää monimutkaisuutta. Toinen seikka on valitus maksukyvyttömyyden visuaalisten elementtien (pop-up valikot, viestit, ja niin edelleen). IOS kaikki näyttää paljon houkuttelevampi.
Täällä voittaa iOS.
kieli
Android sovellukset Javalla, iOS - on Objective-C. Poikkeuksiakin kuin XamarinMutta useimmissa tapauksissa tällainen jako on voimassa.
Opin kirjoittamaan Java, ja aluksi ole erityisen ajatellut Objective-C, mikä johtuu suurelta osin sen bulkiness.
Merkkijono kuten:
String s2 = s1.replace ( "abc", "xyz");
Kääntyy häntä:
NSString * s2 = [s1 stringByReplacingOccurrencesOfString: @ "ABC" withString: @ "xyz"];
Mutta prosessi löytää kielen Tykkäsin. Hän on parempi ja puhtaampaa kuin Java.
Tällöin myös olemassa hyviä Java. Esimerkiksi yksinkertainen ansaan ja jäljittää virheitä. Viime vuosina, Android on ollut toinen merkittävä etu kannalta jätteiden keruu, eli automaattinen puhdistus muistia tarpeettomia esineitä, mutta nyt IOS tietää sama asia, ja on itse asiassa etu osoittautunut turhaksi. Koska viimeinen voitto menee iOS täällä.
Täällä voittaa iOS.
API
Android ja iOS on valtava kirjasto ohjelmistojen kehittäjien saatavilla, ja yleisesti ottaen ne ovat melko samanlaisia: API toiminta puhelimen toimintoja ja viestinnän API pääsyä verkkoon, arsenaali katsojille, kuten voimakas WebView - käytännössä klooni koko selain.
Suurin osa työstä tehdään valvojat, ja yleinen IOS ViewController on sama kuin Android Activity.
Joka ei todellakaan ole Android, koska se on täynnä analoginen Core Data puitteet. Kokonaisuutena järjestelmä on puhtaampaa ja paremmin suunniteltu. Esimerkiksi vain vertailla nämäkaksi luokan iOS, jotka suorittavat suurimman osan työstä hakemuksessa, jossa nämäkolmevastaava luokkia Android. Lopulta olen paljon mieluummin työskennellä iOS CollectionViewControllerKuin Android ListAdapter.
Toinen tärkeä metriikka: määrä riviä koodia. Minun versio sovelluksesta molemmille alustoille ovat lähes identtisiä ominaisuuksia ja toimintoja, mutta iOS niiden täytäntöönpanemiseksi Se vei 1596 riviä koodia, sisältäen otsikon tiedostoja ja luoda Android-versio on periaatteessa samat toiminnot tarvitaan 2109 riviä. Ero on 32%.
Täällä voittaa iOS.
Internet
Nykyään valtaosa hakemuksista ovat oppaita internetissä, eikä erillisenä ohjelmia. Tämä on erittäin tärkeä asia, ja sitä olisi käsiteltävä erikseen. Arsenaali molemmilla järjestelmillä on useita työkaluja ja API täytäntöönpanoa varten sekä verkon. Lisäksi molemmilla alustoilla toteuttaa lähes täysi selain, joka voidaan rakentaa app kuin haluat ja missä tahansa.
Liitokset täytyy ajaa taustalla ja ei häiritse itse sovelluksen. Toteuttaa multithreading Android käytetty AsyncTask. Se toimii erittäin hyvin ja mahdollistaa helpon määrittääOnko käyttäjä verkossa tällä hetkellä. IOS on samanlaiset ominaisuudet, mutta ne toteutetaan suhteellisen matalalla tasolla eivätkä tarpeisiin kehittäjille.
On kuitenkin olemassa monia kolmannen osapuolen kirjastoja, avoimen lähdekoodin, ja ne tekevät elämästä paljon helpompaa. Käytin AFNetworking, ja se toimii yhtä hyvin kuin siihen viitataan mainoksessa.
Täällä voittaa oletuksena Android ja iOS kolmannen osapuolen kirjastoja.
jakaminen
Kuinka helppoa jaat tahansa tietyn sovelluksen Facebookissa, Twitterissä, Evernote, ja muut palvelut? Näyttää siltä, että tämä on ensimmäinen kierros, jolla Android voittaa 100% tyrmäys: se on tehokas järjestelmä vuorovaikutuksen sovellusten välillä kutsutaan Intents, ja yleensä, Android on paljon uskollisia pyydettäessä ja tiedon siirtämiseksi sovellukset.
Yleensä Apple on kiinni merkittävästi kilpailijan sharinga mahdollisuuksia. Et voi sanaani, tarkista toimintokoodi "Jaa uutinen" in Scanvine päällä Android ja iOS. Ainoa syy, miksi iOS koodia enemmän - läsnäolo siinä on joustavampi seuranta Google Analyticsin, eikä Android.
Piirrä.
pirstoutuminen
Sitten minun ei tarvitse sanoa paljon. Google kuitenkin yrittää käyttää mielenkiintoinen eheytys strategiaNiin että lyhyessä ajassa koituu uudelleen.
Täällä voittaa iOS.
hakemuksen julkaisemista
Julkaiseminen Android sovelluksia on äärimmäisen yksinkertainen. Työkalu Eclipse voit nopeasti rakentaa sovelluksen, ja kädet on jo APK tiedosto. Toimittaa sen sähköpostia, lähettää verkossa tai ladata Google Playsta, asettaa se poikki (lähes) maailmassa vain yksi tunti. Sitten se tulee mahdolliseksi seurata laitteistojen ja virhetilanteet-raportit määrättyyn riviä koodia, jonka vuoksi ohjelma kaatuu. Tarvittaessa voit päivittää levittää hetkessä.
Julkaistu App Store - se on painajainen. Ystäväni neuvoo jakaa kehittämiseen kalenterin vähintään päivän sodassa todistukset ja jakelu profiileja. Ei ole väliä kuinka monta kertaa olet tehnyt sen ennenkin, ja kuinka paljon helpompaa yrittää tehdä prosessista seuraavan version Xcode - voit silti monia ongelmia. Sovellusten testaus entistäkin ongelma, ellet käytä TestFlight. Kun tähän lisätään iTunes Connect, joka ei mene mihinkään vertailu Google Playn kehittäjäkonsolissa.
Täällä voittaa Android, ehdoitta.
voittaja
Siitä tulee iOS lisäksi tietyllä marginaalilla. Meillä etuja Android, mutta yleensä kirjoittaa hyvä sovellus iOS on vielä paljon helpompaa kuin alle Android. Kun tähän lisätään se, että iOS käyttäjiä yli vakavaraisuutta ja saat vastauksen kysymykseen, jonka alustan pitäisi olla etusijalla käynnistyksen. Luultavasti, kuilu vähenee julkaisun jälkeen Android Studio, jolloin ratkaista joitakin ongelmia... mutta ei kaikkia.
Muuten, minun tärkein puhelin - Nexus 4, ja olen erittäin tyytyväinen.
(kautta)