iOS Uygulamalarının Android Uygulamalarından İyi Olmalarının Nedenleri Neler?

iOS Uygulamalarının Android Uygulamalarından İyi Olmalarının Nedenleri Neler?

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 oyun geliştirirken Snapdragon, Samsung, 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 iPhone ve iPad 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 Android telefonumuzda ç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.

YORUMLAR