HTML'i Android Uygulamasına Dönüştürmenin Üç Hızlı Yolu

Kerem Aydın·7 Temmuz 2026·⏱3 dk

Kısaca: Basit uygulamalar için en hızlı yol, bir web sitesini WebView içine sarmaktır; PWA, APK olmadan kurulum ve çevrimdışı mod sağlar; paketleyiciler (PWABuilder, AppsGeyser vb.) hazır APK/AAB dosyaları oluşturur. Aşağıda her yaklaşım için somut adımlar, kodlar ve ipuçları yer almaktadır.

Yaklaşımlara Genel Bakış ve Hangi Durumda Hangisini Seçmelisiniz

  • WebView — Açılış sayfaları, dahili paneller ve köprüler aracılığıyla yerel API'lere erişim gerektiğinde uygundur. Hızlıdır, ancak bu sadece "uygulama içindeki bir tarayıcı"dır.
  • PWA — Mobil web için en iyisidir: kurulum, önbellek ve çevrimdışı çalışma, hızlı güncellemeler sunar, ancak tüm yerel işlevlere doğrudan erişim sağlamaz.
  • APK Paketleyiciler — Tam yerel geliştirme yapmadan PWA/web sitesini Play Store'da yayınlamanın hızlı yoludur; MVP'ler ve minimal entegrasyonlu iş uygulamaları için kullanışlıdır.

WebView: Android Studio ile Minimal Android APK

  1. Proje oluşturun: File → New → Empty Activity.
  2. res/layout/activity_main.xml dosyasına şunu ekleyin:
<WebView android:id="@+id/webview"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
  1. MainActivity içinde (Kotlin):
class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val webView: WebView = findViewById(R.id.webview)
    webView.settings.javaScriptEnabled = true
    webView.settings.domStorageEnabled = true
    webView.webViewClient = WebViewClient()
    webView.loadUrl("https://your-site.com")
  }
}
  1. Ayarlar: Manifest dosyasına INTERNET iznini ekleyin; gerekirse dosya erişimi için izinleri etkinleştirin. Derleme: Build → Build Bundle(s)/APK → Build APK.

WebView içindeki bağlantıların harici tarayıcıda açılmaması için mutlaka WebViewClient ayarlayın.

WebView, XSS/gömülü içeriğe karşı savunmasızdır: Kaynağı ve sunucu tarafındaki CSP'yi kontrol edin.

PWA: Web Sitesini Uygulamaya Benzetme

  1. manifest.json:
{
  "name": "Benim HTML Uygulamam",
  "short_name": "MyApp",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#000000",
  "icons": [{"src":"icon-192.png","sizes":"192x192"}]
}
  1. Service Worker (sw.js) — basit önbellek:
self.addEventListener('install', e => {
  e.waitUntil(caches.open('v1').then(cache => cache.addAll(['/','/index.html','/main.css','/main.js'])));
});
self.addEventListener('fetch', e => {
  e.respondWith(caches.match(e.request).then(r => r || fetch(e.request)));
});
  1. Kaydı etkinleştirin:
<script>
if ('serviceWorker' in navigator) navigator.serviceWorker.register('/sw.js');
</script>
  1. Chrome DevTools → Lighthouse ile test edin. PWA, "kur" düğmesi ve yerel uygulama benzeri davranış sağlar.

Yerel Geliştirme Olmadan HTML/PWA'yı APK'ya Paketleme

  • PWABuilder ve benzeri araçlar, PWA manifest dosyası ve service worker'dan AAB/APK oluşturur. URL veya ZIP yüklersiniz, paketi alırsınız.
  • Çevrimiçi derleyiciler (AppsGeyser vb.), index.html içeren bir ZIP yüklemenize ve ayarlarla simgeler içeren bir APK almanıza olanak tanır.

Yayınlama pratiği:

  1. Google Play Console'a kaydolun (25$).
  2. APK/AAB dosyasını imzalayın (Android App Bundle tercih edilir).
  3. Ekran görüntüleri, açıklama, gizlilik politikası ve 512×512 boyutunda simge hazırlayın.
  4. Paketi yükleyin ve incelemeyi bekleyin (1–7 gün).

Karşılaştırma: WebView vs PWA vs Paketleyiciler

YöntemÇevrimdışıYerel ErişimGoogle Play'de YayınlamaBaşlatma Süresi
WebViewKısmen (önbellek üzerinden)Evet (köprüler)Evet30–120 dakika
PWAEvetSınırlı (Web API)Kısmen (paketleyiciler üzerinden)1–3 saat
APK PaketleyiciKısmenServise bağlıEvet10–60 dakika

Sık Yapılan Hatalar

  • HTTPS etkinleştirilmedi — PWA ve birçok Web API yalnızca HTTPS üzerinden çalışır.
  • Service worker çok agresif önbellekleme yapıyor — kullanıcılar güncellemeleri göremiyor.
  • WebView'da DOM storage/allowFileAccess yok — bazı siteler düzgün çalışmıyor.
  • Manifest dosyası unutuldu veya simge yolları yanlış — PWA kurulabilir olarak algılanmıyor.

SSS

  • Java/Kotlin bilmek gerekiyor mu? WebView ve paketleyiciler için hayır. Derin yerel entegrasyonlar için evet.
  • APK nasıl imzalanır? keytool/jarsigner anahtarlarını kullanın veya Android Studio → Build → Generate Signed Bundle/APK yolunu izleyin.
  • Push bildirim gönderilebilir mi? PWA, Web Push'u destekler; WebView — yerel köprü veya harici kütüphaneler aracılığıyla.
  • Boyut nasıl küçültülür? JS/CSS dosyalarını minify edin, sıkıştırma kullanın (gzip, brotli), simgeleri optimize edin.

Gerekirse, hızlı test için çalışan service worker'a sahip hazır bir WebView Android proje şablonu ve PWA örneği gönderebilirim.