Android vs iOS: mis platvorm on parim arendajad
Makradar Tehnikaülikool / / December 19, 2019
Android vs iOS. Igavene teema Internetis lahingud, mis on juba korralikult kõik podnadoest. Ära kiirusta läbida artikli teksti ja kohe liikuda valang tema ainus õige arvamus kommentaare. Täna me räägime uuesti umbes milline süsteem on parem, kuid erineval viisil.
Arendajad - need, kes loovad olulise osa mis tahes platvormil, st rakendusi. See on kvaliteedi arendamise vahendid, annab see platvorm sõltub lõpptulemus. Nii millistel süsteem on parem kirjutada? Vastus sellele küsimusele kogenud rakenduse arendaja, kes pidi olema valgustatud App Store ja Google Play.
Valik platvorm - põhiprobleem iga uue projekti. Android või iOS? Arvestades viimaseid uudiseid, et Android on edukalt pildistatud 80% turust, valik muutub veelgi raskemaks. See ei ole oluline, mida juhid ja teised mitte liiga tunnevad tehnilisi aspekte probleem inimesed mõtlema. Teine asi - arendajad.
Mis on nende arvamus? Selle eeliseks või selle platvormi sõltub otseselt tema võimet teha oma elu paremaks.
Ja "nad" Ma mõtlen "meie". Lisaks autori tegevusi TechCrunch, ma areneb
HappyFunCorp. Pealegi ei ole nii kaua aega tagasi, ma loodud duett opensorsnyh rakenduste kaudu projekti-pet. Just need rakendused kasutada võrdluseks.Meeldetuletuseks: I oli varem kirjutada paar Android ja iOS rakendusi, nii isiklikuks kasutamiseks ja töö. Eelkõige Kirjutasin Mobile klient oma uudiste lugeja ScanvineMis kogub ebatavaliselt populaarne lugusid sotsiaalse meedia. Lähtekood minu taotluse võib leida Github (Android | iOS) Ja rakenduste ise on saadaval Google Play ja App Store.
Noh, lase lahing algab.
kolmapäev
Saate ikka kirjutada koodi tekstiredaktoris, ja paljud teevad nii kaugele, kuid seoses tulemuslikkuse on kasulikum kasutada IDE (Integrated Development Environment - IDE).
Juhul Apple meil Xcode ja töö selles keskkonnas - rõõm. See on paindlik, kiire, võimas ja suudab aidata, ilma et liiga pealetükkiv. Ja ta läheb paremaks, vaatamata raskele ja paranoiline meetmeid, mida Apple säilitada täielik kontroll iOS rakendused ja seadmed. Siluri kulgemiseks ja simulatsioon - kiire ja tundlik.
Aga Android? Oh, Android. Praegu tegeliku arengu keskkonda on Eclipse, käputäis Android kohandatud plug-ins, ja see nilbelt halb. Aeglane, kohmakas, ebaloogiline, sageli ausalt arusaamatu, halvasti projekteeritud, liiga keeruline - tõeline jama. Selle siluri on nii ebamugav, et enamiku ajast ma kulutada sisemusse palke, samas koos Xcode minu valduses tõeline vahend-jahimees vead. Ära unusta emulaator Android, mis esimese võtab vaid paar minutit, et alla laadida ja siis ta ei suutnud ühendada ADB.
Et olla õiglane öelda, et Google on teadlik sellest probleemist ja nad töötavad uue Android Studio IDE:
Praegu Android Studio on kättesaadav varajase eelvaade. Mõned funktsioonid ei pruugi loodud või ei rakendata, mis võib põhjustada vigu. Kui kasutada lõpetamata toote põhjustab oma ebamugavust, siis saate alla laadida ja kasutamist jätkata ADT Bundle (Eclipse plugin ADT).
Tore näha, et nad töötavad probleemi, kuid siiski üllatav - pärast 4 ja pool aastat pärast ostu minu Esimene Android-nagu jama on veel piiri täiuslikkuse, mis suutis saavutada arengukeskkonna Android.
Siin võidab iOS, tingimusteta.
seadistamine
Vastavalt spooni Xcode ja Objective-C on peidetud õudused Lovecraft ajastu Seitsmekümnendate programmeerimine. Just kidding, ma olen nalja... kuid siiski. Makrod ja päisefailiga, projektid, eesmärgid, kava ja Koostekonfiguratsioon ja hirmuäratav, hirmutav nimekirja koost parameetrid. ja veel uskumatu avastused stiilis "Oh, kui kolmanda osapoole koodi ei toeta ARC? Lihtsalt lisage lipu -fno-objc-kaar ». Just? Ei!
Android teil manifestfaili ja Eclipse on tavaliselt täiesti ehitab rakenduse iga kord, kui hoida faili. Tahaksin suurema selguse kui näiteks saate veateate tingitud asjaolust, et korralikult seadistada reegel, aga see on väike viga. Seadistamine Android taotlus on lihtne ja elegantne.
Siin võidab Android.
disain
Tundub, et Apple on kindlasti võidukalt. Oma disainer saab lihtsalt ja kiiresti luua lihtne ja kena välimusega kasutajaliides. Probleem on selles, et enam ma töötasin koos disainer, seda vähem mulle meeldis see. See on teine kord, kui avate konfiguratsiooni keerukus - tööriist on ideaalne loomiseks lihtsad asjad, kuid areng Application lihtsad asjad äkki keeruline ja ma tõesti ei meeldi need multisõelplaat Süžeeskeemid, mis Apple kohta lisatud aasta tagasi.
Android, teooria on ette võrreldav visualiseerimise vahendeid, kuid praktikas sa kirjutad XML faileSisaldavad joonistus juhiseid, et teatud õnne viib õige ekraan taotluse kõigi eri formaatides ekraanid Android seadmeid. Apple liigub samamoodi, ja nende auto välimus selgelt teritatud edasise laienemise variatsioonid ekraanid iOS-seadmetes.
Samal ajal, Android annab arendajatele ikoonikomplektidArvestades iOS arendajad on sunnitud pöörduma kolmanda osapoole teenuseidVõi joonistada oma ikoone.
Selles voorus võitja valida raskem, kuid ma annan iOS eelistus kahel põhjusel. Esiteks, see on ikka palju lihtsam - vaid 3 ekraani suurus (sh iPad) ja 2 formaadis kuvasuhe. Android mitmekesisust selles osas lisab keerukust. Teine punkt on kaebuse maksejõuetuse visuaalseid elemente (pop-up menüüd, sõnumeid ja nii edasi). IOS see kõik tundub palju atraktiivsemaks.
Siin võidab iOS.
keel
Android rakendused on kirjutatud Java, iOS - objektiivsetel-C. On erandeid, nagu XamarinKuid enamikul juhtudel selline jaotus kehtib.
Õppisin kirjutada Java ja esimesel ole eriti mõelnud Eesmärk-C, suuresti tänu oma bulkiness.
String nagu:
String s2 = s1.replace ( "ABC", "XYZ");
Pöördub ta:
NSString * s2 = [s1 stringByReplacingOccurrencesOfString: @ "ABC" withString: @ "XYZ"];
Kuid protsessi avastada keel Ma tõesti meeldis. Ta on parem ja puhtam kui Java.
Sel juhul liiga on plusse Java. Näiteks lihtne lõks ja jälgi vigu. Viimastel aastatel, Android on üks väga oluline eelis seoses jäätmete kogumise, mis on automaat puhastamiseks mälu mittevajaliku esemeid, kuid nüüd iOS teab sama asi, ja on tegelikult ära hävivad. Arvestades asjaolu, et viimase võidu läheb iOS siin.
Siin võidab iOS.
API
Android ja iOS on suur raamatukogu tarkvara arendajatele kättesaadavad ja üldiselt on nad üsna sarnased: API toimimise telefoni funktsioone ja side, API juurdepääsu võrgule, arsenal vaatajaid, sealhulgas võimas WebView - praktiliselt kloon täis brauserit.
Suurem töö on tehtud kontrollerid ja üldise iOS ViewController on samaväärne Android Aktiivsus.
Mis tegelikult ei ole Android, sest see on täis analoog Core andmed raames. Kokkuvõttes on süsteem puhtama ja parema mõeldud. Näiteks lihtsalt võrrelda needkaks klassi iOS, mis täidab kõige paremini tööd taotlus koos needkolmsamaväärne klasside Android. In the end, ma eelistan töötada iOS CollectionViewControllerKui Android ListAdapter.
Teine oluline mõõdik: arv rida koodi. Minu versioon taotluse mõlemal platvormil on praktiliselt identne ja funktsioone, kuid iOS neid rakendada Kulus mu 1596 rida koodi, sealhulgas kaudu faile ja luua Android versioon sama vajalikke funktsioone 2109 rida. Erinevus on 32%.
Siin võidab iOS.
Internet
Täna, enamik rakendusi on rohkem juhendid internetis, mitte eraldi programmid. See on väga oluline punkt, ja see tuleks käsitleda eraldi. Arsenal mõlemad süsteemid on mitmeid tööriistu ja API rakendamiseks koostöös võrgustikus. Ka nii platvormid rakendada praktiliselt täieõiguslik brauseri, mis võib olla sisse ehitatud app kui soovite ja kuhu minna.
Elektriühendused peavad töötamine taustal ja ei sega rakendus ise. Rakendada multithreading Android kasutatud AsyncTask. See toimib väga hästi ja võimaldab lihtsat määramaKas kasutaja on veebis hetkel. iOS pakub sarnaseid võimalusi, kuid nende rakendamine on suhteliselt madal ja ei vasta vajadustele arendajatele.
Kuid seal on palju kolmanda osapoole teeke, avatud lähtekoodiga, ja nad teevad elu palju lihtsamaks. Ma kasutasin AFNetworking, ja see töötab sama hästi, kui see on nimetatud reklaamis.
Siin võidab vaikimisi Android ja iOS kasutades kolmanda osapoole teeke.
jagamine
Kui lihtne jagate tahes konkreetse rakenduse Facebook, Twitter, Evernote ja muud teenused? Tundub, et see on esimene voor, kus Android võidab 100% knockout: see on võimas süsteem interaktsiooni rakenduste vahel nimetatakse Intents ja üldiselt Android on palju lojaalne taotluse ja andmete edastamise vahel rakendusi.
Üldiselt Apple on haaratud oluliselt konkurent sharinga võimalusi. Sa ei saa võtan sõna, vaadake funktsiooni kood "Jaga lugu" Scanvine kohta Android ja iOS. Ainus põhjus, miks iOS koodi rohkem - olemasolu selles paindlikuma jälgimine Google Analytics, mitte Android.
Seejärel teevad.
fragmentatsioon
Siis ma ei pea ütlema palju. Kuid Google üritab kasutada huvitav killustatuse strateegiaNii et lühikese aja objekt on üle vaadata.
Siin võidab iOS.
taotluse avaldamise
Avaldamine Android rakendused on väga lihtne. Tool Eclipse võimaldab teil kiiresti ehitada taotluse ja käed juba APK. Saatke see talle, postitada online, või allalaadimiseks Google Play, muutes selle kättesaadavaks kogu (peaaegu) maailma kõigest üks tund. Siis muutub see võimalik jälgida sisseseade ja krahhi-lahendid kuni konkreetse koodirida, mille tõttu taotlus jookseb. Vajadusel saate värskendada rullima koheselt.
Avaldamist App Store - see on õudusunenägu. Mu sõber soovitab eraldada arengu kalender vähemalt päev sõja sertifikaatidega ja jaotus profiile. Ükskõik kui palju kordi oled seda teinud enne, ja kui palju lihtsam on püüdnud teha protsessi järgmine versioon Xcode - siis ikka palju probleeme. Application testimine muutub isegi suurem probleem, kui sa ei kasuta TestFlight. Lisa see iTunes Connect, mis ei lähe ühegi võrdlus Google Play arendajakonsooli.
Siin võidab Android, tingimusteta.
võitja
See muutub iOS lisaks teatud varu. Meil on eeliseid Android, kuid üldiselt kirjutada hea rakendus iOS-ile on ikka palju lihtsam kui alla Android. Lisage sellele asjaolu, et iOS-i kasutajatele üle maksevõime, ning saate vastuse küsimusele, mille platvorm peaks olema prioriteet käivitamisel. Ilmselt on vahe väheneb pärast vabanemist Android Studio, võimaldades lahendada mõned probleemid... kuid mitte kõik.
Muide, minu peamine telefoni - Nexus 4, ja ma olen väga rahul.
(kaudu)