IOS vs Android: hangi platform geliştiriciler için en iyisidir
Makradar Teknolojinin / / December 19, 2019
iOS vs Android. adam gibi zaten tüm podnadoest sahiptir Online savaşlar için sonsuz tema,. Makalenin metni geçmek ve hemen yorumlarında onun tek doğru görüş dökülme geçmek için acele etmeyin. Bugün sistem daha iyi olduğu konusunda tekrar konuşmak, ama farklı bir şekilde olacaktır.
Geliştiriciler - her platformda, yani uygulamaların önemli bir kısmını oluşturmak olanlar. O bir platformdur nihai sonuca göre sağlar, geliştirme araçları kalitesidir. Peki sistem yazma iyidir altında? Bu soruyu App Store'da ışıklı ve Google Play'de gerekiyordu deneyimli uygulama geliştirici, cevap verin.
Platformun seçim - herhangi bir yeni proje için temel bir sorun. Android veya iOS? Android başarıyla pazarın% 80'ini yakalamıştır o son haberler göz önüne alındığında, tercih etmede daha zorlaşır. Konuda ne düşündüklerini yöneticileri ve konu insanların teknik yönleri ile çok bilgili diğer olmasın fark etmez. Başka bir şey - geliştiricileri.
Onların görüşü nedir? şu ya da bu platformu avantajı hayatlarını daha iyi hale getirmek için yeteneği doğrudan bağlıdır.
Ve "onlar" Yani "kızımız." TechCrunch yazarın faaliyetlerine ek olarak, ben de geliştiriyorum HappyFunCorp. Üstelik o kadar uzun zaman önce, ben onun proje pet yoluyla uygulamalar opensorsnyh düet yarattı. Ben karşılaştırma için kullanmak bu uygulamalar olduğunu.
Kayıt için: Daha önce kişisel kullanım için ve iş için hem birkaç Android ve iOS uygulamalarını yazmak zorunda kaldı. Özellikle, haber toplayıcı için mobil istemci yazdım Scanvinesosyal medyadan toplar alışılmadık popüler hikayeleri That. başvurumun kaynak kodu Github (bulunabilirandroid | iOS), Ve başvurularını kendileri mevcuttur google Çal ve App Store.
Eh, savaş başlasın.
Çarşamba
Hala bir metin düzenleyicisinde kodu yazabilirsiniz ve bugüne kadar yapıyoruz birçok fakat açısından performans IDE kullanımı daha yararlıdır (Integrated Development Environment - IDE).
Apple durumda, bu ortamda Xcode ve iş var - zevk. Bu aşırı müdahaleci olmadan, yardım etmek, hızlı, esnek, güçlü ve edebiliyor. Ve o tam iOS uygulamaları üzerinde kontrol ve cihazları korumak için Apple tarafından alınan zor ve paranoyak önlemlere rağmen iyiye gidiyor. ayıklayıcı sorunsuz ve simülasyon - hızlı ve duyarlı.
Ne Android hakkında? Ah, Android. Şu anda, Eclipse altında gerçek geliştirme ortamı, Android'in bir avuç eklentileri özelleştirilmiş ve Obscenely kötü. Yavaş, sakar, mantıksız, genellikle açıkçası anlaşılmaz, kötü tasarlanmış, çok karmaşık - gerçek bir karmaşa. Onun ayıklayıcı böylece Xcode ile ise bende gerçek bir alet-avcı böcek, ben günlükleri ile müdahalesi geçirdikleri çoğu zaman olduğu zahmetli bir iştir. İlk indirmek için birkaç dakika sürer emülatörü Android, unutmayın, sonra da ADB bağlanamadı.
Google, bu sorunun farkındadır ve yeni üzerinde çalışıyoruz söylemek adil olmak gerekirse Android Studio IDE:
Şu anda Android Studio ilk önizlemeye olarak kullanılabilir. Bazı işlevler kurmak olmayabilir veya hataları neden olabilir, uygulanmadı. bitmemiş ürünün kullanımı da rahatsızlık veriyorsa, o zaman indirip ADT Paketi (ADT ile Eclipse eklentisi) kullanmaya devam edebilirsiniz.
Güzel onlar sorun üzerinde çalışan, ama yine de şaşırtıcı olduğunu görmek - 4 buçuk yıl sonra satın alınmasından sonra benim ilk Android gibi karmaşa hala geliştirme ortamı elde etmeyi başardı mükemmellik sınırı olan Android.
İşte koşulsuz, iOS yener.
yapılandırma
Xcode kaplama ve Objective-C altında programlama yetmişli yılların döneminden Lovecraft dehşetini gizlenir. Sadece şaka, ben ama yine de... şaka yapıyorum. Makro ve başlık dosyaları, montaj projeleri, hedefleri, şema ve yapılandırma ve korkutucu, montaj parametrelerinin korkutucu listesi. ve daha inanılmaz keşifler tarzında "Ah, üçüncü taraf kod ARC desteklemez? Basitçe bayrak -fno-objc-yay »ekleyin. Sadece? Hayır!
Android'de size bir bildirim dosyası var ve Eclipse genellikle tamamen uygulama bir dosyayı tutmak her zaman yeniden oluşturur. Eğer, örneğin, nedeniyle düzgün kuralı yapılandırmak gerçeğine bir hata iletisi zaman fazla açıklık istiyorum, ama küçük bir kusur. Android uygulamasını yapılandırma basit ve zarif.
İşte Android yener.
arayüz tasarımı
Apple kesinlikle galip gibi görünüyor. Onların tasarımcı ile kolayca ve hızlı bir şekilde basit ve güzel görünümlü arayüzü oluşturabilirsiniz. Sorun artık ben tasarımcı ile çalıştı yani daha az onu sevdim. Bu yapılandırma karmaşıklığı açmaya başka zamanıdır - alet basit şeyler oluşturmak için idealdir, ama gelişmesiyle Uygulama basit şeyler aniden karmaşık hale gelir ve ben gerçekten elma yaklaşık eklenen bu çoklu ekran storyboard'lar sevmiyorum bir yıl önce.
Android'de, teori karşılaştırılabilir görselleştirme araçları temin edilir, ama pratikte yazdığınız XML dosyalarıAndroid cihazların biçimleri ekranlarının tüm çeşitli uygulama doğru ekrana belli bir şans potansiyel müşteriler o çizim talimatlarını içeren. Elma aynı şekilde hareket edilir ve onların oto Düzeni açıkça iOS cihazlardaki gelecek genişleme varyasyonları ekranlar için bilenmiş.
Aynı zamanda, Android geliştiricileri verir ikon setleriiOS geliştiricileri dönmek zorunda kalıyor Oysa üçüncü taraf hizmetleriYa da kendi simgelerini çizin.
Bu turda kazanan daha zor seçmek, ama iki nedenden dolayı iOS tercihini verecektir. İlk olarak, yine de çok kolaydır - 3 (iPad dahil olmak üzere), ekran boyutu ve 2 biçimi boy oranı. Bu konuda Android çeşitlilik karmaşıklığını ekler. İkinci nokta (pop-up menüler, mesajlar ve benzeri) görsel öğelerin varsayılan çekiciliği olduğunu. iOS ise hepsi çok daha cazip görünüyor.
İşte iOS yener.
dil
Objective-C üzerinde - Android Uygulamaları Java, iOS yazılmıştır. gibi istisnalar vardır XamarinAma çoğu durumda böyle bir bölünme geçerlidir.
Ben Java yazma öğrendi ve ilk başta özellikle büyük ölçüde, kapladığı büyük hacim, Objective-C hakkında düşünce değil.
Bir dize gibi:
Yaylı s2 = s1.replace ( "abc", "xyz");
Ona Dönüşler de:
NSString * s2 = [s1 stringByReplacingOccurrencesOfString: @ "abc" withString: @ "xyz"];
Ama süreç içinde gerçekten sevdim dili keşfederler. O Java daha iyi ve daha temiz.
Bu durumda da, artıları Java vardır. Örneğin, basit bir tuzak ve iz hataları. Son birkaç yıldır, Android ise atık toplama, açısından başka çok önemli bir avantaj olmuştur Otomatik gereksiz nesnelerden bellek saflaştırma, ama şimdi IOS aynı şeyi bilir ve aslında bir avantaj boşa gelir. Geçen zaferini ilk iOS gider gerçeğini göz önüne alındığında.
İşte iOS yener.
API
Android ve iOS geliştiricilerinin kullanabileceği ve genellikle konuşma yazılımın büyük bir kütüphane var, onlar oldukça benzerdir: API Güçlü WebView'da dahil telefon fonksiyonları ve iletişim, ağ, izleyicilerin cephanelik erişim için API, işletilmesi - Tam neredeyse bir klon tarayıcı.
Çalışmalarının çoğu kontrolörleri ile yapılır ve genel iOS ViewController Android Faaliyet eşdeğerdir.
o tam bir analog Çekirdek Veri çerçevesi olduğu için hangisi gerçekten Android'i yok. Bütün günü, sistem temiz ve daha iyi tasarlanmış. Örneğin, sadece karşılaştırmak bunlariki uygulamada işin en gerçekleştirmek IOS, sınıf ile bunlarüçeşdeğer Android'de sınıflar. Sonunda, ben çok iOS ile çalışması tercih CollectionViewControllerAndroid ile daha ListAdapter.
Bir başka önemli metrik: kod satır sayısı. Her iki platform için uygulama Benim versiyonu özellikler ve işlevler hemen hemen denktir, ancak iOS bunları uygulamak için Bu başlık dosyaları da dahil olmak üzere kod benim 1596 hatlarını, aldı ve gerekli aynı fonksiyonlara sahip Android sürümünü oluşturmak için 2109 satır. fark, 32% 'dir.
İşte iOS yener.
Internet
Bugün, uygulamaların büyük çoğunluğu ziyade tek başına programlardan daha internete fazla kılavuzları vardır. Bu çok önemli bir nokta olduğunu ve ayrı ayrı ele alınmalıdır. Her iki sistemde cephanelik Ağı ile işbirliği uygulanması için bir araç sayısını ve API vardır. Ayrıca, her iki platformlar gittiğiniz gibi ve her yerde olduğu gibi app içine inşa edilebilir neredeyse tam teşekküllü bir tarayıcı uygulamak.
bağlantıları arka planda çalışmalıdır ve uygulamanın kendisi müdahale etmez. Android'de mulithread uygulamak için kullanılan AsyncTask. Çok iyi çalışıyor ve kolay verir belirlemekİster kullanıcı şu anda web üzerinde olduğunu. iOS da benzer yetenekler sunar, ancak nispeten düşük seviyede uygulanmaktadır ve geliştiriciler ihtiyaçlarını karşılamamaktadır.
Ancak, birçok üçüncü parti kütüphaneler, açık kaynak vardır ve bunlar çok daha kolay bir hayat kurmak. Ben AFNetworking kullanılan ve reklamda adlandırıldığı gibi sadece iyi çalışır.
İşte Android ve iOS üçüncü parti kütüphaneleri kullanarak varsayılan yener.
Paylaşım
Ne kadar kolay Facebook, Twitter, Evernote ve diğer hizmetlerde belirli uygulamanın herhangi paylaşmak? Android% 100 nakavt kazanacak olan birinci tur olacak gibi görünüyor: Bu etkileşimin güçlü sistemi vardır Intents ve genel olarak adlandırılan uygulamalar arasında, Android çok daha isteğine sadık ve veri iletimi arasındadır uygulamalar.
Genel olarak, Apple sharinga fırsatları anlamlı rakip yakaladı. Sen, benim sözüme üzerinde Scanvine işlevi kodu "Hisse hikaye" kontrol edemez android ve iOS. tek sebebi daha iOS kodu - Google Analytics'in daha esnek izleme İçinde varlığı, daha doğrusu Android'de daha.
Sonra çizin.
parçalanma
Sonra çok söylemek gerekmez. Ancak, Google kullanım çalışıyor ilginç birleştirme stratejisiYani kısa sürede madde incelenen yeniden olacağı.
İşte iOS yener.
uygulama yayının
Android uygulamalarının yayınlanması son derece basittir. Eclipse Aracı hızlı uygulama oluşturmak için izin verir, ve senin elinde zaten bir apk dosyası var. sadece bir saat içinde (neredeyse) tüm dünyada kullanılabilir hale Google Play'de bir e-postaya gönderin çevrimiçi yayınlayabilir veya indir. Sonra tesisat istatistiklerini takip etmek mümkün hale gelir ve uygulama çöküyor hangi nedeniyle, belirli bir kod çizgisine kadar çarpışma rapor eder. Gerekirse, anında kullanıma sunmayı güncelleyebilirsiniz.
App Store'da Yayın - bu bir kabus. Arkadaşım sertifikaları ve dağıtım profilleri ile savaşta bir gün en azından takvime gelişmesine tahsis etmek önerir. Hala pek çok sorun olacak - Daha önce yaptık ve bu Xcode sonraki sürümü sürecini yapmaya çalışıyor ne kadar kolay kaç kez olursa olsun. Eğer TestFlight kullanmadığınız sürece Uygulama testleri, hatta daha bir sorun haline gelir. Google Play Geliştirici Konsolu ile herhangi bir karşılaştırma gitmez bu iTunes Connect'e ekle.
İşte koşulsuz, Android'i yener.
kazanan
Bu dahası belli bir marj ile, iOS olur. Biz Android'in avantajlara sahip, ancak genel olarak iOS için iyi bir uygulama hala Android altında çok daha kolaydır yazmak için. Buna iOS kullanıcıları daha ödeme daha ve platformu yeni başlayan şirketler için bir öncelik olmalıdır hangi soruya bir cevap almak gerçeğini ekleyin. Muhtemelen, boşluk dolayısıyla ama hepsi değil... bazı sorunları çözmek için izin Android Studio yayımlanmasından sonra azalacaktır.
Bu arada, benim ana telefon - Nexus 4, ve ben çok memnunum.
(üzerinden)