MOBİL UYGULAMA NEDİR?

Modern akıllı telefon ekran çerçevesi içinde renkli uygulama ikonları grid düzeni

1999'da Nokia 7110 ile WAP tarayıcı cebimize girdiğinde, "mobil uygulama" denen şey sadece siyah-beyaz ekranda kıvrılan birkaç satır metindi. Bugün cebinizdeki cihazda yüz binlerce satırlık native kod, GPU shader'ları ve makine öğrenmesi modelleri çalışıyor. Bu iki nokta arasındaki yaklaşık yirmi yılda olan biten şey, sadece donanımın güçlenmesi değil; uygulama dağıtımının, geliştirici ekonomisinin ve kullanıcı beklentisinin tamamen yeniden tanımlanmasıydı.

Mobil Uygulamanın Tanımı

Mobil uygulama, akıllı telefon ve tablet gibi taşınabilir cihazlar üzerinde çalışmak üzere tasarlanmış yazılım parçacığıdır. Masaüstü programlardan farkı; dokunmatik girdi, sınırlı pil, değişken ağ koşulları ve arka planda yaşam döngüsü yönetimi gibi kısıtlar altında çalışmasıdır. Kavramın tarihsel gelişimi ve farklı kategorileri için ansiklopedik özet üzerinden de geniş bir perspektif edinilebilir. Bir mobil uygulamanın temel bileşenleri genellikle şunlardır:

  • Kullanıcı arayüzü katmanı (Activity, ViewController, Composable)
  • İş mantığı ve durum yönetimi
  • Yerel veri saklama (SQLite, Room, Core Data)
  • Ağ katmanı (REST, GraphQL, WebSocket)
  • Platform servisleri (bildirim, konum, sensör erişimi)

WAP Dönemi: 1999-2003

Mobil uygulamaların atası WAP (Wireless Application Protocol) sayfalarıydı. WML (Wireless Markup Language) ile yazılan bu sayfalar, GSM şebekesinin dar bandında metin tabanlı içerik sunabiliyordu. WAP, bir uygulama değil aslında bir tarayıcı protokolüydü; ancak operatörler bunu "mobil servis" olarak pazarladı. Geliştirici için ekosistem yoktu — kullanıcı için ise sayfa başına ödenen veri ücreti vardı.

J2ME ve Symbian: Uygulama Fikrinin Doğuşu

2001'den itibaren Sun Microsystems'in Java 2 Micro Edition (J2ME) platformu, telefonlara MIDlet adı verilen ilk gerçek üçüncü taraf uygulamaları getirdi. Yılan oyunundan banka uygulamasına kadar her şey JAR dosyası olarak indirilebiliyordu. Aynı dönemde Nokia'nın Symbian OS'i, C++ ile yazılmış native uygulamaları destekledi. Ne var ki dağıtım kanalı parçalıydı: her operatör, her cihaz üreticisi farklı bir portal işletiyordu. Geliştirici, yüzlerce ekran çözünürlüğüne ayrı build hazırlamak zorunda kalıyordu.

WAP J2ME ve Symbian erken dönem mobil platform mimarisi zaman çizelgesi

2008 Kırılması: iPhone SDK ve App Store

Apple, 2007'de iPhone'u tanıttığında geliştiricilere kapı kapalıydı; sadece web uygulamaları yazılabiliyordu. Mart 2008'de duyurulan iPhone SDK ve Temmuz 2008'de açılan App Store, mobil yazılım tarihinin kırılma noktasıydı. Üç şey aynı anda değişti:

  1. Tek bir dağıtım kanalı: geliştirici doğrudan kullanıcıya ulaşıyordu
  2. %70/30 gelir paylaşım modeli, ekonomiyi standartlaştırdı
  3. Cocoa Touch ve Objective-C, native performans ile dokunmatik arayüzü birleştirdi

Aynı yılın Ekim ayında Google, Android Market'i (bugünkü Google Play) açtı. Açık kaynak işletim sistemi + Java tabanlı geliştirme ortamı kombinasyonu, donanım üreticilerinin Android'i benimsemesini hızlandırdı. 2010'a gelindiğinde "app" kelimesi, bir nesil için yazılımın varsayılan formu haline gelmişti.

Native, Hybrid, Cross-Platform Ayrımı

Bugün mobil uygulama üç ana yaklaşımla geliştirilir. Native uygulamalar, platforma özgü dil ve SDK ile yazılır: iOS için Swift/SwiftUI, Android için Kotlin/Jetpack Compose. Hybrid uygulamalar, web teknolojilerini WebView içinde paketler (Cordova, Ionic). Cross-platform çerçeveler ise Flutter ve React Native gibi araçlarla tek kod tabanından iki platforma çıktı üretir. Kotlin tarafını derinlemesine öğrenmek için Android Kotlin eğitimi içeriğinden yararlanabilirsiniz.

Uygulama Dağıtımının Anatomisi

Bir mobil uygulama, mağazaya yüklenmeden önce imzalanmak zorundadır. iOS tarafında Apple'ın developer sertifikası ile, Android tarafında ise geliştiricinin kendi keystore dosyası ile yapılan imzalama, uygulamanın kimlik doğrulamasını sağlar. App Store inceleme süreci ortalama 24-48 saat sürerken, Google Play'in otomatize edilmiş incelemesi çoğu zaman birkaç saat içinde sonuç verir. İmzalanmış paket formatı iOS'ta .ipa, Android'de .apk veya .aab uzantısını taşır.

Native hybrid ve cross-platform mobil uygulama geliştirme yaklaşımları karşılaştırması

Mobil Uygulamanın Bugünkü Anlamı

2008'deki ilk App Store'da 500 uygulama vardı; bugün her iki mağazada toplam 5 milyondan fazla uygulama bulunuyor. Foreground/background ayrımı, push bildirim altyapısı, biyometrik kimlik doğrulama, ARKit ve Core ML gibi platform yetenekleri, mobil uygulamayı artık "küçük ekrana sığdırılmış web sayfası" tanımından çok ötede bir yere taşıdı. WAP sayfasındaki tek satır metinden, cihaz üzerinde çalışan dil modellerine uzanan bu hat, mobil yazılımın hâlâ olgunlaşmakta olduğunu gösteriyor — bugünün "native" tanımı, on yıl içinde başka bir şey olacak.