Eðer Android mi iOS mu? sorusunu sýk sýk zihninizde cevaplamaya uðraþ veriyorsanýz bu olaya farklý bir açýdan bakmak doðru olacaktýr. Android iþletim sisteminin kullanýcýlara sunduðu özgürlük ve çeþitlilik su götürmez bir gerçek. Ben de bu sebeplerden ötürü normalde mobil cihazlarýmda tercihimi Android'den yana yapýyorum. Fakat iOS iþletim sistemine sahip mobil cihazlarý da kullanmýþ biri olarak iOS uygulamalarýnýn sunduðu kullaným tecrübesinin Android'in bir týk üzerinde olduðunu söyleyebilirim.
Peki iddia ettiðimiz gibi uygulama kalitesi anlamýnda neden iOS daha iyi? Ýþte bu sorunun cevabýný verirken bir yandan iOS ve Android kullaným tecrübemizi, bir yandan da uygulama geliþtiricilerinin de görüþlerini iþe dahil ederek bir açýklama yapmaya, bu iddiamýzý somut nedenlere dayandýrmaya çalýþacaðýz.
Uygulama geliþtiricilerinin iOS yerine yaygýn olarak Android'e yönelmelerinin en önemli nedenlerinden biri Java sistemini kullanarak uygulama geliþtirmenin onlar için daha kolay olmasý. Uzun bir süre Java üzerinde çalýþmýþ olan bir geliþtiricinin Java'ya yönlenmesi elbette doðal bir sonuç. Fakat bazen iþler seçenek olmaktan çýkmakta. Günümüzde Android cihazlar dünya üzerinde ve ülkemizde daha yaygýn olarak kullanýldýklarý için geliþtirilen uygulama ve oyunlarýn hedef kitleleri yine Android kullanýcýlarý oluyor. Bu nedenle geliþtiriciler ya iþleri nedeniyle ya da ticari kaygýlar nedeniyle zorunlu olarak Android için uygulama geliþtirme iþine yönleniyorlar.
Android üzerinde çalýþmakta olan geliþtiriciler bu platformda yaþadýklarý tecrübeyi ve zorluklarý iOS ile kýyasladýklarýnda ise onlara göre iOS'un daha iyi bir seçenek olduðunu söylüyorlar. Sonuçta geliþtirilme sürecinde daha az sýkýntýnýn yaþandýðý bir platform daha kaliteli uygulamalar ortaya çýkmasýný saðlayabilmekte. Geliþtiricilerin bu görüþünün yanýnda farklý sebepler de iOS uygulamalarýnýn kalite açýsýndan daha iyi olduðu iddiasýný güçlendiriyor. Bizim tecrübelerimiz de bu konuya küçük bir katký yapacaktýr. Dilerseniz konu hakkýndaki görüþlerimize ve geliþtiricilerin görüþlerine kýsaca göz atalým:
Hangi Android Versiyonu Ýçin Uygulama Geliþtirmeli?


Eðer bir yazýlým geliþtiriyorsanýz bu yazýlýmýn hangi platformlarda çalýþacaðýný tespit etmeniz, yazýlýmý o platformda problem çýkarmayacak þekilde geliþtirmeniz gerekiyor. Örnek olarak; bir tarayýcý üzerinde çalýþmak üzere tasarlanmýþ basit bir tarayýcý eklentisini o tarayýcýnýn farklý versiyonlarý ile uyumlu þekilde hazýrlamanýz gerekiyor. Bu iþ ekstra iþ yükü anlamýna geliyor.
Android için durum bir hayli karýþýk. Dünya çapýnda Android 4.4 Kitkat en yaygýn olarak kullanýlan Android versiyonu olsa da bu versiyondan önceki 2.2 Froyo, 2.3.3 - 2.3.7 Gingerbread, 4.0.3 - 4.0.4 Ice Cream Sandwich ve 4.1, 4.2, 4.3 Jelly Bean halen ciddi kullaným oranlarýna sahip. Yani bir Android uygulamasý geliþtirmek ve her cihazda kullanýlmasýný saðlamak istiyorsanýz bu versiyonlarýn herbiri için uygulamanýzý ayrý ayrý uyumlu hale getirmeniz gerekiyor. Ayrýca Android iþletim sisteminin yeni versiyonlarýnýn daðýtým ve yayýlma hýzý da bir hayli düþük. Þu an Android Marshmallow'un sadece yüzde 0.07 kullaným oranýna sahip olmasý bu duruma örnek gösterilebilir.
iOS'ta ise durum çok daha az karmaþýk halde. Yeni bir iOS iþletim sistemi çýkýþ yaptýðýnda çoðu cihaz ayný anda bu yeni versiyona geçiþ yapýyor. Bu da geliþtiriciler için uygulamalarýný optimize edecekleri iOS versiyon yelpazesinin daha az olmasýný saðlýyor. Bu sayede geliþtiriciler uygulamalarýný rötuþlamaya daha çok ve teknik problemlerle boðuþmaya daha az vakit harcayabiliyor. Doðal olarak rötuþlanmýþ bir uygulama daha iyi bir kullaným tecrübesi sunuyor.
Uygulama Optimizasyonu


Bir Android geliþtiricisinin derdi sadece farklý Android versiyonlarýyla bitmiyor. Piyasada ne kadar çok Android versiyonu varsa o kadar da çok farklý donaným seçeneði bulunmakta. Bu anlamda Android cihazlarýn sunduðu esneklik ve çeþitlilik Android uygulamalarýnýn ve oyunlarýnýn baþýna bela olabiliyor.
Android için bir uygulama veya [Deðerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanýz gerekiyorÜye olmak icin burayý týklayýnýz] geliþtirirken Snapdragon, [Deðerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanýz gerekiyorÜye olmak icin burayý týklayýnýz], Mediatek ve Intel gibi markalarýn iþlemcilerini ve farklý grafik iþlemcilerini, farklý RAM kapasitelerini dikkate almanýz gerekli. Ayrýca iþlemciler gibi donanýmlarýn marka farklarýnýn yanýsýra farklý modelleri de bulunmakta. Hal böyle olunca uygulamasýný tüm bu marka ve modeller için yüksek performansla çalýþacak hale getirmeye çalýþan masum bir Android geliþtiricisinin motorunun hararet yapmasý oldukça doðal bir durum.
iOS'ta ise basýyorsunuz sihirli geliþtir tuþuna, uygulamanýz ve oyunlarýnýz bütün [Deðerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanýz gerekiyorÜye olmak icin burayý týklayýnýz] ve [Deðerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanýz gerekiyorÜye olmak icin burayý týklayýnýz] modelleriyle uyumlu hale geliyor. Karþýnýzdaki tek limit iOS versiyonu oluyor. Farklý donanýmlar için kafa yormadan uygulamanýzý salýyorsunuz çayýrlara, o koþuyor, zýplýyor, þekerler, çikolatalar yiyor, Android versiyonu ise BÝZDE NÝYE YOOOK!!11 diye baðýrýyor.
Bu durumu karþýmýza çýkan örneklerle de doðrulayabiliriz. Bir oyunu 4 çekirdekli iþlemciye ve 2 GB belleðe sahip Android tabletimize indirip çalýþtýrdýðýmýzda oyunun süründüðüne, ayný oyunu 1 GB RAM ve çift çekirdeðe sahip [Deðerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanýz gerekiyorÜye olmak icin burayý týklayýnýz]umuzda çalýþtýrdýðýmýzda ceylanlar gibi süzüldüðüne þahit olduk. Ýþte bunlar hep optimizasyon.
Zaman ve Maliyet


Android cihazlardaki çeþitliliðin çiçekleri yine bu tarlada da filizleniyor. Bir Android uygulama geliþtiricisinin farklý donanýmlar ve farklý Android versiyonlarý için ayrý ayrý çalýþma yapmasý gerekiyor. Bu da beraberinde ek iþ yükü gerektiriyor.
Daha fazla kodlama = daha fazla vakit + emek + yorgunluk = daha yüksek maliyet
Hesaba vurulduðunda bir Android uygulamasý üzerinde daha uzun süre harcamanýz gerekiyor. Geliþtiricilikte de vakit nakittir kurallarý geçerli olduðu için geniþ kitlelere hitap eden bir Android uygulamasýný geliþtirmek iOS'takinden daha yüksek maliyete sahip oluyor. Bir proje için belli bir bütçe ayýrýlmasý demek o proje üzerinde geliþtiricilerin ancak belli bir zaman harcayabilmesi demek. Daha fazla kodlama gerektiren bir Android uygulamasýný kýsýtlý bir zaman içinde geliþtirmeye kalkýnca da uygulamanýn bir yerinde aksaklýk olmasý muhtemel.
Elbet ki istisnalar ortaya çýkabilir. Fakat genel tabloda Android uygulama ve oyunlarýný geliþtirme süreci iOS'takine göre daha dikenli bir yol olarak görünüyor.