Android yazılım geliştirme - Android software development

Android yığını
Nexus 4 , bir kısmı Google Nexus serisi, "geliştirici dostu" cihazların bir çizgi

Android yazılım geliştirme , Android işletim sistemini çalıştıran cihazlar için uygulamaların oluşturulduğu süreçtir . Google , Android yazılım geliştirme kiti (SDK) kullanılarak "Android uygulamalarının Kotlin , Java ve C++ dilleri kullanılarak yazılabileceğini " belirtirken, diğer dilleri kullanmak da mümkündür. Go , JavaScript , C , C++ veya Assembly gibi Java olmayan tüm sanal makine (JVM) dilleri , muhtemelen kısıtlı API desteği ile araçlar tarafından sağlanabilecek JVM dil kodunun yardımına ihtiyaç duyar. Bazı programlama dilleri ve araçları, platformlar arası uygulama desteğine izin verir (yani hem Android hem de iOS için ). Üçüncü taraf araçlar, geliştirme ortamları ve dil desteği de ilk SDK'nın 2008'de piyasaya sürülmesinden bu yana gelişmeye ve genişlemeye devam etti. Son kullanıcılara resmi Android uygulama dağıtım mekanizması Google Play'dir ; ayrıca aşamalı kademeli uygulama sürümünün yanı sıra yayın öncesi uygulama sürümlerinin test kullanıcılarına dağıtılmasına da izin verir.

Resmi geliştirme araçları

Android yazılım geliştirme kiti (SDK) geliştirme araçları kapsamlı bir kümesi içerir. Android SDK Platform Araçları, adbve gibi komut satırı araçlarından oluşan tam SDK'nın ayrı olarak indirilebilir bir alt kümesidir fastboot. Android Debug Bridge (ADB) bağlı bir Android cihazında komutları çalıştırmak için bir araçtır. Fastboot , dosya sistemlerinin yanıp sönmesi için kullanılan bir protokoldür . Yazılı Kod C / C ++ edilebilir derlenmiş için ARM veya x86 yerel kod (ya da 64 bit varyantları) kullanarak Android Yerel Geliştirme Kiti (NDK).

Android Açık Aksesuar Geliştirme Kiti

Android 3.1 platformu (ayrıca Android 2.3.4'e desteklenir), harici USB donanımının (bir Android USB aksesuarı) özel bir "aksesuar" modunda Android destekli bir cihazla etkileşime girmesine izin veren Android Açık Aksesuar desteğini sunar. Android destekli bir cihaz aksesuar modundayken, bağlı aksesuar USB ana bilgisayarı (veri yoluna güç sağlar ve cihazları numaralandırır) ve Android destekli cihaz USB cihazı gibi davranır. Android USB aksesuarları, Android destekli cihazlara bağlanmak ve basit bir protokole (Android aksesuar protokolü) bağlı kalmak üzere özel olarak tasarlanmıştır, bu da onların aksesuar modunu destekleyen Android destekli cihazları algılamasına olanak tanır.

Harici donanım geliştirme

Bir Android cihazının harici elektroniklerle etkileşime girmesine yardımcı olmayı amaçlayan geliştirme araçları arasında IOIO , Android Open Accessory Development Kit , Microbridge, Triggertrap vb. bulunur.

Android Geliştirici Yarışması

Android Developer Challenge, Android için en yenilikçi uygulamayı bulma yarışmasıydı. Google , ADC I ve ADC II arasında dağıtılan toplam 10 milyon ABD doları tutarında ödül verdi . ADC I, 2 Ocak - 14 Nisan 2008 tarihleri ​​arasındaki başvuruları kabul etti. 12 Mayıs 2008'de açıklanan en umut verici 50 girişin her biri, daha fazla gelişme için 25.000 $ ödül aldı. Her biri 275.000 ABD Doları alan on takımın ve her biri 100.000 ABD Doları alan on takımın duyurusu ile Eylül ayı başlarında sona erdi.

ADC II, 27 Mayıs 2009'da açıklandı. ADC II'nin ilk turu 6 Ekim 2009'da kapandı. En iyi 200 başvuruyu içeren ADC II'nin ilk tur kazananları 5 Kasım 2009'da açıklandı. İkinci tur için oylama aynı gün açıldı ve 25 Kasım'da sona erdi. Google, 30 Kasım'da SweetDreams, What the Doodle!? ile ADC II'nin en çok kazananlarını açıkladı. ve WaveSecure, yarışmanın genel kazananları olarak aday gösterildi.

Topluluk tabanlı dağıtımlar

FLAC kayıpsız ses desteği ve indirilen uygulamaları microSD kartta saklama yeteneği gibi bir dizi özelleştirme ve ek özellik ile Android tabanlı dağıtımlar (yani bellenim ) oluşturan ve paylaşan bir açık kaynak meraklıları topluluğu vardır . Bu genellikle cihazın köklenmesini içerir . Root işlemi, kullanıcıların işletim sistemine root erişimi sağlayarak telefonun tam kontrolünü sağlar. Root işleminin, artan bilgisayar korsanlığı riski, yüksek tuğla oluşturma olasılığı , garantiyi kaybetme, artan virüs saldırısı riskleri vb. gibi çeşitli dezavantajları da vardır . Aygıtın önyükleyicisinin de kilidinin açık olması gerekmesine rağmen, özel bellenim yüklemek de mümkündür. Özel bellenim, eski telefonların kullanıcılarının yalnızca daha yeni sürümlerde bulunan uygulamaları kullanmasına olanak tanır.

Bu bellenim paketleri sık sık güncellenir, taşıyıcı onaylı bir bellenimde henüz resmi olarak piyasaya sürülmemiş Android işlevselliği öğelerini içerir ve daha az sınırlamaya sahip olma eğilimindedir. CyanogenMod ve OMFGB , bu tür bellenim örnekleridir.

24 Eylül 2009'da Google , modcu Cyanogen'e, Google'ın kapalı kaynak uygulamalarının özel ürün yazılımı içinde yeniden dağıtılmasıyla ilgili sorunları öne sürerek bir durdurma ve vazgeçme mektubu yayınladı . Android işletim sistemlerinin çoğu açık kaynak olsa da, telefonlar Google Play ve GPS navigasyonu gibi işlevler için kapalı kaynaklı Google uygulamalarıyla birlikte gelir . Google, bu uygulamaların yalnızca lisanslı distribütörler tarafından onaylanmış dağıtım kanalları aracılığıyla sağlanabileceğini iddia etmiştir. Cyanogen, Google'ın lisansına uydu ve modunu tescilli yazılım olmadan dağıtmaya devam etti. Modun yükleme işlemi sırasında lisanslı Google uygulamalarını yedeklemek ve işlem tamamlandığında bunları geri yüklemek için bir yöntem sağladı.

Java standartları

Geliştirmenin önündeki engeller, Android'in yerleşik Java standartlarını, yani Java SE ve ME'yi kullanmamasıdır . Bu, bu platformlar için yazılan Java uygulamaları ile Android platformu için yazılanlar arasındaki uyumluluğu engeller. Android, Java dili sözdizimini ve anlambilimini yeniden kullanır, ancak Java SE veya ME ile birlikte verilen tam sınıf kitaplıkları ve API'leri sağlamaz. Ancak piyasada Myriad Group ve UpOnTek gibi Java ME'den Android'e dönüştürme hizmetleri sağlayan şirketlerden birden fazla araç var .

Android kendi GUI sınıflarını sağlar ve Java AWT, Swing veya JavaFX sağlamaz. Tam Java Beans API'sini desteklemez.

Tarih ve pazar payı

Android, Google tarafından yönetilen Open Handset Alliance tarafından oluşturuldu . Android platformu için uygulama geliştirme konusundaki erken geri bildirimler karışıktı. Bahsedilen sorunlar arasında hatalar, dokümantasyon eksikliği, yetersiz KG altyapısı ve kamuya açık sorun izleme sistemi yok. (Google, 18 Ocak 2008'de bir sorun izleyiciyi duyurdu.) Aralık 2007'de, MergeLab mobil başlangıç ​​kurucusu Adam MacBeth, "İşlevsellik orada değil, yetersiz belgelendi veya çalışmıyor... Açıkça prime time için hazır değil. " Buna rağmen platformun duyurulmasından bir hafta sonra Android hedefli uygulamalar ortaya çıkmaya başladı. Halka açık ilk uygulama Snake oyunuydu .

Android SDK'nın bir önizleme sürümü 12 Kasım 2007'de yayınlandı. 15 Temmuz 2008'de Android Developer Challenge Ekibi, Android Developer Challenge'a katılan tüm katılımcılara yanlışlıkla SDK'nın yeni bir sürümünün bir sürümde mevcut olduğunu bildiren bir e-posta gönderdi. "özel" indirme alanı. E-posta, Android Geliştirici Yarışması'nın ilk turunun kazananlarına yönelikti. Google'ın yeni SDK sürümlerini diğerlerine değil bazı geliştiricilere sağladığının (ve bu düzenlemeyi gizli tuttuğunun) ortaya çıkması, o sırada Android geliştirici topluluğu içinde geniş çapta bildirilen hayal kırıklığına yol açtı.

18 Ağustos 2008'de Android 0.9 SDK beta sürümü yayınlandı. Bu sürüm, güncellenmiş ve genişletilmiş bir API, geliştirilmiş geliştirme araçları ve ana ekran için güncellenmiş bir tasarım sağladı. Yükseltme için ayrıntılı talimatlar, daha önceki bir sürümle çalışanlar için mevcuttur. 23 Eylül 2008'de Android 1.0 SDK (Sürüm 1) yayınlandı. Sürüm notlarına göre, "bazı küçük özellikler eklenmiş olsa da, çoğunlukla hata düzeltmeleri" içeriyordu. Ayrıca 0.9 sürümünden birkaç API değişikliği içeriyordu. Geliştirilmesinden bu yana birden fazla sürüm yayınlandı.

5 Aralık 2008'de Google , gelişmiş geliştiriciler için tasarlanmış , SIM kilidi ve donanım kilidi açık bir cihaz olan ilk Android Dev Phone'u duyurdu. HTC'nin Dream telefonunun değiştirilmiş bir versiyonuydu. Geliştiriciler, uygulamalarını test etmek ve kullanmak için normal tüketici cihazlarını kullanabilirken, bazı geliştiriciler, kilitsiz veya sözleşmesiz özel bir cihaz seçebilir.

Temmuz 2013 itibariyle, 25 milyardan fazla indirme ile Android için bir milyondan fazla uygulama geliştirildi. Haziran 2011'de yapılan bir araştırma, yayın sırasında mobil geliştiricilerin %67'sinden fazlasının platformu kullandığını gösterdi. Android akıllı telefon sevkiyatlarının 2018'de %85 pazar payıyla 1,2 milyar birimi aşması bekleniyor.

Ayrıca bakınız

Referanslar

bibliyografya