ANDROID NEDİR?

Üç boyutlu dört katmanlı yatay slab modeli, mobil işletim sistemi mimarisi, Android yeşili tonlarında

Dünyada aktif kullanılan akıllı telefonların yaklaşık dörtte üçü Android çalıştırıyor. Bu yalnızca bir pazar payı değil — milyarlarca cihaz, milyonlarca uygulama ve onlarca üretici tek bir platform etrafında toplanmış durumda. Mobil yazılım geliştirmeye, kurumsal uygulama stratejisine veya bilgisayar bilimlerinin pratik tarafına ilgi duyan herkesin Android'i temel düzeyde anlaması bugün artık seçenek değil zorunluluk. Bu yazı sıfırdan başlayan okuyucuya Android'in ne olduğunu, nasıl çalıştığını ve etrafında oluşan ekosistemi net biçimde anlatmayı amaçlıyor.

Linux Üzerine Kurulu Mobil İşletim Sistemi

Android, Linux çekirdeği üzerine kurulu açık kaynaklı bir mobil işletim sistemidir. Google tarafından geliştirilir ve Open Handset Alliance üyesi onlarca üretici tarafından kendi cihazlarında özelleştirilerek kullanılır. Telefon ve tabletin yanı sıra televizyon (Android TV), akıllı saat (Wear OS), otomobil multimedya sistemi (Android Auto/Automotive) ve geliştirici kartları gibi pek çok cihazda Android sürümleri çalışır.

Sistem ücretsizdir ve büyük bir bölümü Android Open Source Project (AOSP) adıyla topluluğa açık şekilde yayımlanır. Bu açıklık üreticiye uyarlama özgürlüğü, geliştiriciye ise platformun her katmanına erişim imkânı sağlar. Platformun teknik referansı Android resmi geliştirici belgeleri üzerinden takip edilir; tüm API'lerin, sürüm farklılıklarının ve örnek kodun birincil kaynağı burasıdır.

Kısa Tarih: 2008'den Bugüne

Android'in kökeni 2003'te kurulan küçük bir şirkete dayanır. Google bu şirketi 2005'te satın aldı, ilk ticari Android telefon 2008'de piyasaya çıktı (HTC Dream / T-Mobile G1). O dönem mobil pazarı Symbian, BlackBerry OS ve iPhone OS arasında bölünmüştü. Android'in açık modeli kısa sürede üreticileri yanına çekti; bugün dünya genelinde mobil işletim sistemi pazarının açık ara liderliğine ulaştırdı.

Sürümler uzun yıllar tatlı isimleriyle anıldı: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow, Nougat, Oreo, Pie. Android 10'dan itibaren bu pratik resmi olarak bırakıldı; sürümler yalnızca numarayla anılır oldu. Her yıl bir ana sürüm yayımlanmaya devam ediyor.

Android'in Katmanlı Mimarisi

Android'i anlamak için onun tek bir program değil, üst üste yerleştirilmiş katmanlar bütünü olduğunu görmek gerekir. Aşağıdan yukarıya doğru:

  • Linux Kernel: En altta, donanım soyutlamasını yapar. Bellek yönetimi, süreç yönetimi, güç yönetimi, ağ ve cihaz sürücüleri bu katmandadır.
  • Hardware Abstraction Layer (HAL): Kamera, sensör, ses gibi donanım modüllerini standart bir arayüze sokar; üst katmanların üreticiye göre farklı kod yazmasına gerek bırakmaz.
  • Android Runtime (ART) ve Native Kütüphaneler: Uygulamaların çalıştığı çalışma zamanıdır. ART, Dalvik'in halefidir ve Ahead-of-Time derleme kullanır. Yanında SQLite, OpenGL, WebKit gibi C/C++ kütüphaneleri yer alır.
  • Java/Kotlin API Framework: Activity, Fragment, View, ContentProvider gibi geliştiricinin doğrudan kullandığı bileşenler bu katmandadır.
  • Uygulama Katmanı: Telefon, mesaj, kamera, üçüncü taraf tüm uygulamalar — kullanıcının gördüğü her şey buradadır.

Bu katman ayrımı sayesinde geliştirici alt seviye donanım detaylarıyla uğraşmaz; sistem güncellendiğinde uygulama kodunun büyük kısmı çalışmaya devam eder. Üretici farklılıkları da büyük oranda HAL ve framework özelleştirmelerinde kalır, üst katmanlar standardize olur.

Üç boyutlu dallanan OEM ağacı modeli, merkez küre ve beş geometrik telefon silüeti, Android yeşili

Uygulama Geliştirme: Dil ve Araçlar

Android uygulamaları başlangıçta Java ile yazıldı. 2017'de Google, Kotlin'i resmi dil ilan etti; bugün yeni projelerin büyük bölümü Kotlin ile geliştirilir. Kotlin, Java ile tam birlikte çalışabilir — aynı projede iki dil yan yana kullanılabilir, eski Java kodu yeniden yazılmak zorunda değildir.

Resmi geliştirme ortamı Android Studio'dur. IntelliJ IDEA üzerine kurulu bu IDE; emülatör, kod tamamlama, profil aracı, layout editörü ve Gradle tabanlı build sistemini bir araya getirir. Modern UI geliştirme tarafında ise Jetpack Compose deklaratif bir alternatif olarak klasik XML layout'ların yerini almakta.

Android tarafında uygulama geliştirmeyi pratik biçimde öğrenmek isteyenler Android uygulama geliştirme eğitimi kapsamında modern stack ile baştan sona bir uygulama kurma sürecini takip edebilir.

Ekosistem: Google Play ve OEM Çeşitliliği

Android uygulamaları ağırlıklı olarak Google Play Store üzerinden dağıtılır; ancak iOS'tan farklı olarak alternatif mağazalar (Samsung Galaxy Store, Huawei AppGallery, F-Droid) ve doğrudan APK kurulumu da mümkündür. Bu açıklık geliştiriciye özgürlük sağlar, güvenlik tarafında ise sorumluluğun bir kısmını kullanıcıya yükler.

Donanım tarafında Samsung, Xiaomi, Oppo, Vivo, OnePlus, Google Pixel ve onlarca üretici kendi cihazlarını kendi özelleştirmeleriyle çıkarır. Samsung'un One UI'si, Xiaomi'nin MIUI/HyperOS'u, OnePlus'ın OxygenOS'u — hepsi AOSP üzerine giydirilmiş farklı kabuklardır. Aynı sürüm numarası iki farklı cihazda biraz farklı görünebilir.

Sürüm Parçalanması

Bu çeşitlilik bir maliyeti birlikte getirir: fragmentation. Üreticilerin yeni sürüme geçme hızı farklıdır; geliştirici bir API yazarken hangi sürümleri destekleyeceğine karar vermelidir. Google son yıllarda Project Treble ve Mainline gibi çözümlerle güncellemelerin daha hızlı dağılmasına çalışıyor.

iOS ile Temel Farklar

Android'i tek başına anlamak yerine karşılaştırmalı bakmak öğrenmeyi hızlandırır. Aşağıdaki kısa karşılaştırma temel ayrımları gösterir:

  • Açıklık: Android açık kaynak çekirdeklidir; iOS kapalı kaynaktır.
  • Üretici: Android pek çok üreticinin cihazında çalışır; iOS yalnızca Apple cihazlarında.
  • Dil: Android tarafında Kotlin/Java; iOS tarafında Swift/Objective-C.
  • Mağaza politikası: Play Store görece esnek; App Store sıkı kontrollü.
  • Geliştirme aracı: Android Studio Windows/macOS/Linux üzerinde çalışır; Xcode yalnızca macOS.

Android Öğrenmek Kimlere Uygundur?

Mobil yazılım geliştirici olmak isteyen, var olan bir backend deneyimini istemci tarafına genişletmek isteyen, kurumsal mobil uygulama tasarlayan kişiler için Android öğrenmek doğrudan değer üretir. Bilgisayar bilimlerinin pratik tarafına ilgi duyan öğrenciler için de modern bir öğrenme zemini sunar; Linux, JVM, paket yönetimi, sürüm kontrolü, build araçları gibi temel kavramların hepsi tek bir platformda devreye girer.

Yola Kotlin ile başlamak en pratik tercih olarak öne çıkıyor; Java bilgisi ise eski kod tabanlarını anlamak için hâlâ değerli. Birkaç hafta düzenli pratikten sonra basit bir uygulamayı kendi telefonunda çalıştırmak çoğu öğrenenin ilk büyük motivasyon noktası oluyor.