Geliştiriciler için kritik soru: Android mi iOS mi?

Akıllı telefon alırken yaşadığınız “iOS mi Android mi” kararsızlığını alın, ikiyle çarpın. İşte size mobil yazılım geliştirmeye başlayacak geliştiricilerin içine bulunduğu durum: iOS mu Android mi kararsızlığı.

Vereceğiniz kararın Android olması halinde Android işletim sistemini kullanan tüm akıllı telefon ve tabletlere uygulama geliştirebiliyorsunuz. Hatta Google’ın Android’i arabalardan tutun da daha birçok cihaza daha entegre etme planlarının olduğunu hatırlatalım. Kararınızın iOS olması ise sadece iPhone ve iPad’lere değil, -ufak farklılıklarla birlikte- Mac OS X işletim sistemine de yazılım geliştirebilmeniz anlamına geliyor.

Apple’ın dokümantasyonu ve geliştirme araçları öne çıkıyor

Apple aşağıda bahsedeceğim başlangıç engellerini bir kenara koyacak olursak geliştirme araçları ve dokumantasyonu ile öne çıkıyor. Her ne kadar geliştiricileri Mac OS X işletim sistemi ve Xcode IDE’sine mahkum da bıraksa da hem bu geliştirme araçlarının başarısı hem de dokümantasyon Android’e nazaran daha başarılı. Android ise Eclipse (ve Netbeans) üzerinde geliştirme yapabilme imkanı sunuyor. Yalnız özellikle emülatör ve test araçlarının Apple’da olduğu kadar başarılı olmadığını hatırlatalım.

Bu noktada Android’in öne çıktığı yerse programlama dili olarak Java’nın kullanılıyor oluşu. Dünyanın en çok kullanılan dillerinden biri olan Java, tüm geliştiricilere daha yakın geliyor. Apple’ın kullandığı Objective-C’nin ise en büyük kullanım alanı iOS ve Mac OS. Ayrıca Objective-C’nin dünyanın ilk Nesne Tabanlı Programlama Dilleri’nden biri olmasından dolayı syn-tax’ına/söz dizimine alışmanın uzun sürmesi de dezavantaj.

iOS’un başlangıç engelleri

Bu iki platform arasındaki en büyük farklardan biri de Apple’in App Store’unu çok daha katı bir şekilde yönetmesi. 25 dolar ödeyip Google Developer Account üyeliğinizi başlattıktan sonra istediğiniz zaman herhangi bir incelemeye uğramadan uygulamızı Android Market‘e koymanız mümkün. Aynı şekilde güncelleme yapmak da tamamen sizin elinizde.

App Store’da ise durum çok farklı. Sancılı bir ödeme süreciyle yıllık 100 dolar karşılığında App Store’a uygulama gönderebiliyorsunuz. Yalnız uygulamanız yayınlanmadan önce bir dizi incelemeden geçiyor. Apple’ın iş ortağı olan şirketlerin resmi uygulamalarını dahi incelemede kabul etmeyerek rezisyon talep etmesini, bu süreci ne kadar ciddiye aldıklarının bir göstergesi olarak görebiliriz. Yaklaşık 1 hafta süren inceleme dönemine güncellemelerde de maruz kalıyorsunuz.

Apple’ın yeni başlayan geliştiriciler için bir diğer engeli de Mac OS X işletim sistemini kullanan bir bilgisayara sahip olmanızı zorunlu kılması. Android de ise tüm işletim sistemlerinde çalışabilen Eclipse (ve Netbeans) üzerinde geliştirme yapabiliyorsunuz.

Çoklu platform yardımcı araçlar

Mobil pazar için en önemli etken kuşkusuz hız! Şirketler veya bireysel yazılımcılar için rekabet edebilme adına hız oldukça önemli bir faktör. PhoneGap ve Appcelerator gibi yazılımlar sayesinde yalnızca hızlı uygulama geliştirmekle kalmıyorsunuz, bu araçlar üzerinde yaptığınız geliştirmeden hem Android hem de iOS’ta çalışacak çıktılar alabiliyorsunuz.

PhoneGap ve Appcelerator gibi yazılımlar, geliştiricilerin büyük bir kısmının hakkında bilgi sahibi olduğu HTML, CSS, JavaScript gibi web teknolojilerini kullanıyor. Bu da halihazırda web uygulaması geliştiren herkesin mobil uygulamalar geliştirmesine olanak sağlıyor.

Yalnız dikkate alınması gereken bir diğer nokta da şu: PhoneGap ve Appcelerator gibi yazılımlarla aklınıza gelen tüm fikirleri mobil uygulama haline getirmeniz mümkün değil. Her iki yazılım da geliştiricilere sağladıkları API’larını gün geçtikçe geliştirseler de örneğin arkasında fizik motoru bulunan bir oyunu native yollarla yazmak gerekiyor. Bu ayrıma biraz daha vurgu yapabilmek adına PhoneGap ve  Appcelerator’ın geliştiricilere sunduğu API’ların yeteneklerini sıralayalım: kamera kullanımı, telefon rehberine erişebilme, telefonların notification/bilgilendirme ekranlarını kullanabilme, ses dosyalarını kaydetme ve oynatma, cihazın lokasyon bilgilerine erişebilme, sosyal ağlar için eklentiler ve daha birçok detay.

İlginizi çekebilecek linkler...



Yorum yapın

Geri Beslemeler

  1. iOS platformu kullanıcı deneyimi açısından Android’den neden daha üstün? | SosMedBlog
  2. iOS platformu kullanıcı deneyimi açısından Android'den neden daha üstün?
  3. iOS ve Android platformlarını mobil geliştiricilerle konuştuk

“Geliştiriciler için kritik soru: Android mi iOS mi?” 25 yorum yapıldı.

  1. Can

    Gercekleri yansitmayan çok yuzeysel bir yazı.

  2. Mehmet Kurtboğan

    Teşekkürler, kapsamlı analiz.

  3. Cevabı gayet basit Android pazara çıkan ürün gamından dolayı demografik olarak daha geniş bir kitlenin elinde. Kısacası 7-77 ye herkes kullanıyor. İOS ise Iphone ve Ipad ikilisinin fiyatı yüzünden belli bir kullanıcı kitlesine kitap etmekte. Android mi İos mu tercihini yaparken geliştiricilerin ne tür bir aplikasyon yapacağı çok önemli.( Kişisel görüşüm ise para kazanmak için İos tabanlı bir aplikasyon daha mantıklı).

    • hacı ökkeş

      inanın şu webrazziye giriş nedenlerimden biride yorumları okuyup sizin gibi teknolojinin nabzını tutup işi bilen kişilerden farklı bakış açısı ve bilgi birikiminden yararlanmak.

      Ama şunu anlamış değilim. zaten halihazırda türkçemize giren onlarca yabancı kelime varken ve sizinde bu konuda hassas olmanız gerekirken neden yeni kelimeler türetip dilimize yabancılaştırıyorsunuz ?

      ben mi fazla tepki gösteriyorum ve ya haddinden fazla mı hassasım bilmiyorum ama aplikasyon nedir abi ya.

      onun adı uygulama değil mi?

      hani yanlışsam biri düzeltsinde doğrusunu öğrenelim.

      hatta bu konuda webrazziye de büyük görev düşüyor.Bu konunun bir başlığı hak ettiği düşüncesindeyim.

    • cgds

      ne alakası var arkadaş isteyen istediği gibi yazar ne türkçesinden bahsediyorsun öz türkçe diye bişey konuşulmuyor türkiyede ingilizce serpiştirmek yazılımcının raconudur öğrende gel

  4. iOS gelistirici sureci o kadar da sancili bir surec degil. Hem kurumsal hem bireysel surecleri tamamladim, tek dikkat edilecek husus (kurumlar icin) belgelerin eksiksiz olmasi ve dogru duzgun faks cekebilmeniz. Genellikle 1 hafta icinde size bir cevap geliyor.

    Apple’in uyguladigi tum yeni ve guncellemelerin onaydan gecmesi ise kullanicilar acisindan cok faydali. Malware gibi Android platformunda bolca karsimiza cikan dertlerden kullanicilarini buyuk olcude koruyan bir uygulama. Kisaca Apple kullanici konusuna daha cok onem veriyor bu da gelistirici kismina size gore “sıkıntılı” bir surec olusturuyor.

    Objective-C sifirdan ogrenenler icin zorlayici olabilir fakat daha onceden bir programlama dili (ozellikle nesneye dayali) bilen birisi icin sadece 1 gun icinde anlasilacak bir dil. Burada esas surec Cocoa Framework’e ve Xcode arayuzune asina olmak.

    Ek olarak Appcelerator Titanium ile (eklentiler ile) su anda “native” oyun gelistirebilirsiniz. Box2d, opengl es, gamecenter gibi eklentileri var (cogu ucretsiz).

  5. Geçtiğimiz haftalarda stackoverflow.com üzerinde bir soru ile karşılaştım. PhoneGap, Appcelerator gibi araçlar kullanarak uygulama geliştirmiş birisi uygulamasını appstore a göndermiş, apple geliştiricinin kodunda crash bulmuş ve reject edip crash log ile birlikte göndermiş.

    Bu durumda şöyle bir manzara ortaya çıkıyor, geliştirici javascript, css gibi araçlar kullanarak native ortama compile edilmiş bir kod ile karşı karşıya kalıyor, bu da olası bir sorunla karşılaştığında onu içinden çıkılmaz bir duruma sokuyor.

    Nacizane tavsiyem, eğer basit listelerden oluşan veya sadece sunucu ile konuşup data görüntüleyen uygulamalar yazacaksanız bu tip araçlar işinizi kolaylaştıracaktır. Ancak biraz daha detaya inmeye kalkarsanız sakın kullanmayın, olası bir sorun karşısında sizi çaresiz bırakacaktır.

    Tercih ettiğiniz platformun araçlarını ve programlama dilinin kullanmanız her zaman sizin yararınıza olacaktır.

    Hiç şu soruyu kendinize sordunuz mu ? facebook, twitter, foursquare gibi büyük girişimler neden her platform için o platformun araçlarını kullanarak ve o platforma özel geliştirme yapıyorlar ?

  6. wp7

    hala bu gibi yazılara windows phone’u koymamak ne kadar gerçekçi? sanki pazarda sadece ikisi varmış gibi bir yazı olmuş. her ne kadar windows phone platformu yeni de olsa Microsoft gibi bir devi hiçe saymak olmamış..

  7. Bende geliştirici olmak istiyorum. App Store’un bilgisayar istediğini bilmiyorum ama öğrendiğim iyi oldu. Bana göre Apple her türlü daha iyi.

  8. Yeni başlayanlar için güzel bir özet olmuş.

  9. platformdan bağımsız geliştirme araçlarından söz açıldığı zaman aşağıdaki yazılım sistemlerini mutlaka saymamız gerek diye düşünüyorum;

    ios + android 2d oyun ağırlıklı geliştirme için: (lua)
    + Ansca Corona : http://anscamobile.com
    + Gideros : http://giderosmobile.com

    Tamamen açık bir platforma ihtiyacınız var ise; (lua)
    + Moai : http://getmoai.com

    3d geliştirme ihtiyacınız var ise;
    +Unity : http://unity3d.com (lua, javascript, c#)
    +iTorque2D (sadece ios) (torque script)

    C++ ile geliştirme için;
    + Marmalade (airplay sdk) : http://www.madewithmarmalade.com/

    Son olarak apple geliştirici olma sürecini en kısa sürede tamamlamak isteyenlere ufak bir tüyo vermek istiyorum. Internet üzerinden fax çekmeye yarayan, özellikle amerika California ‘da yerleşik numaraya sahip bir servis kullanırsanız üyeliğiniz sorunsuz şekilde en fazla 2-3 saat içinde açılacaktır. Ben şahsen http://efax.com servisini tanımladığım bir sanal kart ile kullandım ve gayet memnun kaldım.

  10. Umut Akyol

    Türkiye’den rakamlar ve istatistikler yer almadığından Webrazzi’den daha çok kişisel bir bloga daha uygun bir yazı olmuş.

  11. yılmaz

    PARDUS derim!

  12. Ben genel olarak Android’de geliştirme yapmayı, her zaman iOS’ta geliştirme yapmaktan daha kolay buluyordum, her ne kadar C++ gibi bir background’dan gelip, Java ‘ya dair bilgilerim az olsa da.

    Bunun en büyük nedenlerinden biri de iPhone ‘da “Garbage Collection” gibi bir yapı olmamasıydı. iOS5 ile birlikte tanıtılan ARC, tam bir “Garbage Collection” olmasa bile, kod yazma işlemini – en azından bende – mükemmel derecede arttırıyor, hem de ufak değişikliklerle iOS4 ‘e bile destek verebiliyorsunuz.

    Bu yüzden sıfırdan başlayanlar ve çabuk aşama kaydetmek isteyenler için eskiden Android önerirken, artık iOS önermeye başladım.

    iOS başlangıç için biraz method ve biraz kaynakta sıralayım:

    1) Mutlaka ARC ile giriş yapın, zaten ARC’a uyumlu olmayan hali hazırdaki frameworkleride rahatlıkla kullanılabiliyorsunuz.

    2) Objective-C ‘nin temel özelliklerini öğrenin, bu zamanında yaptığım en büyük
    yanlışlardan biriydi, dile iyice hakim olmadan, projenize başlamayın, sonra derinlere indikçe, bir çok şeyin yabancı geldiğini fark edeceksiniz.

    3) Mutlaka stackoverflow ‘u düzenli olarak takip edin, bir çok konuda olduğu gibi
    iOS geliştirme için de mükemmel bir kaynak, ayrıca başlangıç aşamasında takıldığınız konuların/sorunların çok iyi açıklamalarını bulacaksınız.

    4) Github kullanmayı öğrenin, ve unutmayın Android her ne kadar açık kaynağıyla övünsede, iPhone topluluğu github üzerinde bence daha iyi iş çıkarıyor, bu yüzden yapmak istediğiniz karışık projelerde, herşeyi sıfırdan yapmak yerine, geliştiriciler tarafından sıklıkla kullanılan frameworkleri tercih edin.
    ( https://twitter.com/#!/github_objc , takip edebilirsiniz. )

    5) İnanılmaz derecede güzel bloglar var, eminim haberim olmayan bir sürü daha vardır, fakat benim için başlangıçta mükemmel yardımları olan bloglar:

    + http://www.raywenderlich.com
    + http://www.cimgf.com
    + http://www.cocoawithlove.com

    Umarım yeni başlamayı düşünenlere yardımcı olur.

  13. ilker

    inanılmaz doğru noktalara değinilen bir yazı olmuş. herkes okumalı

  14. Merhaba,

    Eğer yeni başlamayı düşünenler varsa, Gideros Studio’yu (www.giderosmobile.com) denemenizi tavsiye ederim. Gideros Studio, hem Android, hem de iOS için native(cihaza özgü) uygulama üreten bir oyun geliştirme platformu. İçinde fizik motoru, grafik ve ses kütüphaneleri gibi oyun ya da multimedia uygulama geliştirmek isteyenlerin ihtiyaçlarına karşılık gelecek araçlar var.

    Kısacası native olması için ayrı ayrı yazmak ya da platform seçmek zorunda değilsiniz.

    http://www.giderosmobile.com/forum ‘a uğrarsanız, sıcak bir topluluk bulacaksınız. İstediğiniz soruları sorabilir, destek alabilirsiniz. Eğer yardım edebileceğimiz bir şey varsa buradayız. Gelip şu özellikler olsun, bunlar olsun diyebilirsiniz. Çok istenen, ihtiyaç duyulan özellikleri planlarımızda öne alıyoruz. Bunun dışında plug-in özelliği sayesinde kullancılarımız olan developerlar da özellik geliştirebiliyorlar. Open source olarak oyun kodlarını paylaşıyorlar, anlatıyorlar.

    twitter: @giderosmobile, @denizasli, @atilimcetin

    Hem de yerli:)

    sevgiler, selamlar.

    Deniz

  15. En mantıklısı Android gibi görünüyor. Fotoğraf makinesi, araba, telefon, tablet, dizüstü pc vs vs. Giderek daha çok alanı kapsamaya başladı.



©2006-2014 Webrazzi
30 queries. 2,489 seconds. v2