Android срещу IOS: коя платформа е най-добре за разработчици
Makradar От технологии / / December 19, 2019
Android срещу IOS. Вечната тема за онлайн битки, която вече е прилично всички podnadoest. Не бързайте да се премине на текста на статията и веднага преминете към изливането на единствената правилна си мнение в коментарите. Днес ние ще говорим отново за коя система е по-добре, но по различен начин.
Разработчиците - тези, които създавате ключова част от всяка платформа, т.е. приложения. Това е качеството на инструменти за развитие, тя осигурява платформа зависи от крайния резултат. Така че при какви система е по-добре да пиша? Отговор на този въпрос опитен програмист на приложение, който трябваше да бъде осветен в App Store, и в Google Play.
Изборът на платформа - основен проблем за всеки нов проект. Android или IOS? Като се има предвид скорошната новина, че Android е успешно заловени 80% от пазара, изборът става още по-трудно. Няма значение какво мениджъри и други не много добре осведомен с техническите аспекти на този проблем хората си помисля. Друго нещо - разработчиците.
Какво е тяхното мнение? Предимството на тази или тази платформа е в пряка зависимост от способността му да направи живота си по-добре.
И от "те" Искам да кажа "нашите". В допълнение към дейностите на автора на TechCrunch, аз съм разработване на HappyFunCorp. Освен това, не толкова отдавна, съм създал дует opensorsnyh приложения чрез своя проект-домашен любимец. Именно тези приложения да използвам за сравнение.
За протокола: Аз по-рано трябваше да напиша няколко приложения за Android и IOS, както за лична употреба и за работа. По-специално, аз написах на мобилния клиент за вашия новинарски агрегатор ScanvineКойто събира необичайно популярните истории от социални медии. Изходният код на молбата ми да бъде намерена на Github (андроид | IOS), Така и на самите приложения са на разположение в Google Play и App Store.
Е, нека битката започне.
сряда
Все още можете да пишете код в текстов редактор, и много от тях са прави до момента, но от гледна точка на производителност е по-полезно да се използва IDE (интегрирана среда за разработка - IDE).
В случай на Apple, ние имаме Xcode и работа в тази среда - удоволствие. Той е гъвкав, бърз, мощен и в състояние да помогне, без да е прекалено натрапчиви. А тя става все по-добре, въпреки, взети от Apple да запази пълен контрол върху приложенията, IOS, както и устройства за трудните и параноични мерки. Дебъгера протича гладко и симулация - бърз и отзивчив.
Какво ще кажете за Android? О, Android. В момента реалното развитие на околната среда в съответствие с него е Eclipse, шепа Android персонализирани плъгини, и то неприлично зле. Бавно, тромава, нелогично, често казано неразбираемо, зле проектирани, твърде сложна - истинска бъркотия. Нейната дебъгер е толкова неудобно, че през повечето време прекарвам в бърникането с трупи, а с Xcode у мен истински инструмент ловец на бъгове. Не забравяйте за емулатора за Android, която за първи път отнема няколко минути, за да изтеглите и след това той не може да се свърже с АБР.
За да бъде справедливо да се каже, че Google е наясно с този проблем и те работят по нов Android Studio IDE:
В момента Android Studio е на разположение като ранен преглед. Някои функции не могат да създават, или не се изпълняват, който може да причини грешки. Ако използването на недовършената продукт причинява ви дискомфорт, а след това можете да изтеглите и да продължи да използва ADT Bundle (Eclipse плъгин с ADT).
Приятно ми е да се види, че те работят по проблема, но все пак изненадващо - след 4 години и половина след покупката на моя първият Android-подобна бъркотия все още е на границата на съвършенството, което е в състояние да постигне развитие на околната среда Android.
Тук бие IOS, безусловно.
Конфигуриране
Под лустрото на Xcode и Objective-C са скрити ужасите на Лъвкрафт от ерата на седемдесетте години на програмиране. Шегувам се, шегувам се... но все пак. Макроси, както и заглавните файлове, проекти, цели, схема и монтаж на конфигурация и ужасяващи, страшно списък от параметри събрание. И още невероятни открития в стила на "О, вашият код на трета страна не поддържа дъгата? Просто добавете флага -fno-objc-дъга ». Просто? Не!
В Android имате файла на манифеста, и Eclipse обикновено са напълно възстановява приложението всеки път, когато водят досие. Бих искал по-голяма яснота, когато, например, ще получите съобщение за грешка се дължи на факта, че правилно да конфигурирате правило, но това е малка дефект. Конфигуриране на заявление Android е семпъл и елегантен.
Тук бие Android.
интерфейс дизайн
Изглежда, че Apple определено е да излезем победители. С тяхна дизайнер можете лесно и бързо да се изгради проста и добре изглеждащ интерфейс. Проблемът е, че вече съм работил с дизайнера, толкова по-малко ми хареса. Това е още един път, когато отворите сложността на конфигурацията - инструмент е идеален за създаване на прости неща, но с развитието на Заявление прости неща изведнъж стават сложно, а аз наистина не обичам тези Мултискрининговите Разкадровките, които Apple добавят около преди една година.
В Android теорията е предвидена сравними инструменти за визуализация, но на практика ти пиша XML файловеСъдържащи рисуване инструкции, които в определен късмет води до правилното показване на прилагането на всички различни формати екрани на устройства с Android. Apple се движи по същия начин, както и тяхното авто Layout ясно заточени за бъдещо разширяване вариации паравани за IOS устройства.
В същото време, Android дава на разработчиците иконата комплектиКато има предвид, IOS разработчиците са принудени да се обърнат към услуги на трети страниИли да си направите икони.
В този кръг победителят да избират по-трудно, но ще дам IOS предпочитание по две причини. На първо място, тя все още е много по-лесно - само на 3 размера на екрана (включително IPAD) и съотношение формат 2 аспект. разнообразие Android в това отношение добавя сложност. Вторият момент е, жалбата на неизпълнение на визуални елементи (изскачащи менюта, съобщения и т.н.). В IOS всичко изглежда много по-привлекателна.
Тук бие IOS.
език
Android приложения са написани на Java, IOS - на Objective-C. Има изключения харесва XamarinНо в повечето случаи такова разделение е валиден.
Аз научих да пиша в Java и отначало не особено мислил за Objective-C, до голяма степен благодарение на своята обемност.
Низ, като:
String s2 = s1.replace ( "ABC", "XYZ");
Към него се обръща в:
NSString * s2 = [s1 stringByReplacingOccurrencesOfString: @ "ABC" withString: @ "XYZ"];
Но в процеса открие езика Наистина ми хареса. Той е по-добър и по-чист, отколкото Java.
В този случай, също има плюсове Java. Например, един прост капан и следи грешки. През последните няколко години, Android е бил друг много значително предимство по отношение на събиране на отпадъци, което е, автоматично пречистване на паметта от ненужни предмети, но сега IOS знае едно и също нещо, а всъщност е предимство стане нищо. Предвид факта, че последната победа отива на IOS тук.
Тук бие IOS.
API
В Android и IOS има огромна библиотека от софтуер на разположение на разработчиците, и най-общо казано, те са доста сходни: API за експлоатация на телефонни функции и комуникации, на API за достъп до мрежата, арсенала на зрителите, включително мощен уеб изгледа - почти клонинг на пълното браузър.
По-голямата част от работата се извършва с контролери, както и общи IOS ViewController е еквивалент на Android активност.
Което наистина не разполагат с Android, защото това е пълен аналог основни данни рамка. Като цяло, системата е по-чист и по-добър дизайн. Например, само за сравнение тезидве клас в IOS, която изпълнява голямата част от работата в заявлението, с тезитриеквивалентен класове в Android. В края на краищата, аз много предпочитат да работят с версия CollectionViewControllerОтколкото с Android ListAdapter.
Друг важен показател: броят на реда код. Моята версия на приложението за двете платформи са почти идентични в характеристики и функции, но в IOS за прилагането им Отне ми 1596 реда код, включително заглавни файлове, както и да се създаде версия на Android с едни и същи функции, изисквани 2109 реда. Разликата е 32%.
Тук бие IOS.
Интернет
Днес, по-голямата част от заявленията са повече упътвания за интернет, а не самостоятелни програми. Това е един много важен момент, и то трябва да се разглежда отделно. В арсенала на двете системи имат редица инструменти и API за изпълнение на сътрудничеството с мрежата. Също така двете платформи приложат на практика пълноправен браузър, който може да бъде вградена в приложението, както ви харесва и където и да отидете.
Връзките трябва да работят във фонов режим и не пречат на самото приложение. За изпълнение на мултитрединга в Android използва AsyncTask. Той работи много добре и позволява лесен определиНезависимо дали потребителят е в мрежата в момента. IOS също предлага подобни възможности, но те се прилагат при сравнително ниско ниво и не отговаря на нуждите на разработчиците.
Въпреки това, има много библиотеки на трети страни, с отворен код, и те да направят живота много по-лесно. Използвах AFNetworking, и тя работи също толкова добре, както е посочено в обявата.
Тук бие по подразбиране Android и IOS, използвайки библиотеки на трети страни.
споделяне
Колко лесно споделяте някои от конкретното приложение в Facebook, Twitter, Evernote, както и други услуги? Изглежда, че това ще бъде първия кръг, в който Android ще спечели 100% нокаут: тя е мощна система на взаимодействие между приложения, наречени на намеренията, както и като цяло, Android е много по-лоялни към искането и предаването на данни между приложения.
Като цяло, Apple е уловил значително конкурент на възможностите sharinga. Вие не можете да вземат думата, проверете функцията код "Сподели история" в Scanvine на андроид и IOS. Единствената причина, поради IOS код повече - присъствието в него на по-гъвкав за проследяване на Google Анализ, а не в Android.
След това равенство.
раздробяване
Тогава не е нужно да се каже много. Въпреки това, Google се опитва да използва Интересно стратегия дефрагментиранеТака, че за кратко време елементът ще бъде преразгледана.
Тук бие IOS.
публикация на заявката
Публикуване на Android приложения е изключително проста. Инструмент в Eclipse ви позволява бързо да се изгради на заявлението, а в ръцете си вече имате APK файла. Изпратете го на имейл, публикувате онлайн или изтегляне от Google Play, което го прави достъпен през (почти) по света само един час. Тогава става възможно да се наблюдава статистически инсталации и катастрофира доклади до определен ред код, поради които заявлението се срива. Ако е необходимо, можете да актуализирате да ставам мигновено.
Публикация в App Store - това е кошмар. Моят приятел съветва да се разпределят за развитието на календара най-малко един ден на войната с удостоверения и разпространение профили. Без значение колко пъти сте го и преди, и колко по-лесно се опитва да направи процеса на следващата версия на Xcode - вие все още ще бъде много проблеми. Тестването на приложения става още по-голям проблем, освен ако не използвате TestFlight. Прибавете към това и качи Connect, който не отива на всяко сравнение с програмисти в Google Play на Google Console.
Тук бие Android, безусловно.
победител
Това става ЗИ, освен това с известна свобода. В момента има предимствата на Android, но като цяло да напише молба добро за IOS все още е много по-лесно, отколкото под Android. Прибавете към това и факта, че потребителите IOS повече от платежоспособност, и ще получите отговор на въпроса коя платформа трябва да бъде приоритет за стартиране. Вероятно, разликата ще бъде намалена след излизането на Android Studio, като по този начин за решаване на някои проблеми... но не всички.
Между другото, основната ми телефон - Nexus 4, и аз съм много доволен.
(чрез)