ANDROID NEDİR?

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.
1. 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.
2. 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.
3. 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.

4. 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.
5. 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.
6. 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.
7. 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.
Sıkça Sorulan Sorular
Android Java ile mi yoksa Kotlin ile mi geliştirilir?
İkisi de geçerli, fakat Google 2017'den bu yana Kotlin'i resmi dil olarak öneriyor. Yeni projelerin büyük çoğunluğu Kotlin ile başlatılır. Java hâlâ tam destekli — özellikle eski kod tabanlarını anlamak ve sürdürmek için bilgisi gerekir. İki dil aynı projede yan yana çalışabilir.
Android sürüm güncellemeleri neden bazı telefonlarda gecikmeli gelir?
Google yeni sürümü AOSP'a yayımlasa da her üretici bu kodu kendi cihazına, kendi kabuğuna ve kendi sürücülerine uyarlamak zorunda. Bu süreç markaya ve modele göre haftalardan aylara uzanır. Project Treble ve Mainline gibi girişimler bu gecikmeyi azaltmaya çalışıyor ama tam senkron değil.
Android Studio ile iOS uygulaması da geliştirilebilir mi?
Hayır, Android Studio yalnızca Android hedeflidir. iOS için Apple'ın resmi aracı Xcode kullanılır ve Xcode yalnızca macOS üzerinde çalışır. Tek kod tabanından iki platforma yazmak isteyenler Kotlin Multiplatform, Flutter veya React Native gibi cross-platform çözümlere yönelir.
Android'in Linux ile ilişkisi nedir?
Android, Linux çekirdeği üzerine kuruludur — ancak masaüstü Linux dağıtımlarından çok farklıdır. GNU araç zinciri yoktur, kullanıcı alanı tamamen Google'ın Android-özel kütüphaneleridir. Yani teknik olarak Linux çekirdekli ama tipik bir Linux dağıtımı değildir. ART, Bionic libc ve özel servisler bunu ayrıştırır.
AOSP ile Google'un Android'i arasında fark var mı?
Vardır. AOSP saf açık kaynak çekirdek ve framework'tür. Google'un cihazlarına eklediği Play Services, Gmail, Maps gibi servisler ve Play Store kapalı kaynaktır ve ayrı bir lisansla gelir. Huawei AOSP üzerine kendi servislerini inşa eder; tipik Android telefonlar ise Google Services'li sürümü kullanır.
Android uygulama geliştirmek için nasıl bir bilgisayar yeterli?
Android Studio modern bir IDE'dir ve emülatörle birlikte ciddi RAM ister. Minimum 8 GB RAM ile çalışır ama 16 GB rahat. SSD neredeyse zorunlu — derleme süreleri HDD'de can sıkıcı olur. CPU çok kritik değil; integrated grafik yeterlidir. macOS, Windows ve Linux üçü de desteklenir.
Android emülatörü gerçek cihaz testinin yerini tutar mı?
Büyük ölçüde tutar — UI testleri, akış kontrolü ve farklı ekran boyutu simülasyonu için emülatör pratik bir araçtır. Ancak kamera, NFC, biyometrik sensör, gerçek pil davranışı ve performans hassasiyeti konularında gerçek cihazda test şarttır. Yayın öncesi mutlaka birkaç fiziksel cihazda doğrulama yapılır.
Android programlamaya başlayan biri ilk hangi konuyu öğrenmeli?
Kotlin dil temelleri ve Android Studio kurulumundan sonra Activity yaşam döngüsü, basit UI bileşenleri ve veri saklama mantığı ilk öğrenilecek üç çekirdek konudur. Bunları kavradıktan sonra Jetpack Compose, navigasyon, ağ istekleri ve veritabanı kütüphaneleri (Room) sıradaki doğal adımlardır.


