Scoped Storage: Android'in Dosya Erişimini Kısıtlayan Kararın Gerçek Bedeli
Android 11'den itibaren Scoped Storage zorunlu hale geldi ve bu karar, Google'ın güvenlik argümanlarının arkasında ciddi bir geliştirici sorunu gömülü bıraktı. Kısaca: artık uygulamalar cihazın tüm dosya sistemine erişemeyecek, yalnızca kendi dizinlerine ve medya klasörlerine ulaşabilecek.
Teori güzel. Pratik? Felç edici.
Sorun Nerede Başlıyor
Öncesinde bir dosya yöneticisi uygulaması yazmak istesen, kullanıcının herhangi bir dosyasını açması için tek satır kod yeterliydi. Scoped Storage sonrası? İntent, URI, ContentResolver, MediaStore sorgularının labirentine düştün. Basit bir "tüm dosyaları oku" işlemi şimdi onlarca satır boilerplate kod gerektiriyor.
Hatta daha kötüsü: tarihsel veriye erişim. Kullanıcı 2015'ten beri biriktirdiği fotoğrafları, müzikleri veya belgeleri yönetmek istese, uygulamanın bunlara erişim izni alması artık sistem tarafından kontrol ediliyor. MediaStore API'sinden sorgu atman gerekiyor; doğrudan dosya yolundan açamazsın.
Performans Cezası
Bir dosya taraması yap. Eski yöntemde: dosya sistemini dolaş, sonuç. Scoped Storage'da: MediaStore'u sorgulamak, sonuçları filtrelemek, URI dönüştürmek. Bin dosyalı bir klasörde bu, saniyeler alabilir. Kullanıcı deneyimi açısından fark çarpıcı.
Foto uygulamaları, müzik oynatıcıları, dosya yöneticileri en çok zarar gören kategoriler. İlk açılış süresi arttı, scroll hızı düştü.
Gerçek Güvenlik Yanılgısı
Google, Scoped Storage'ı "kullanıcı verilerini korumak" için dayatıyor. Doğru, ama eksik. Gerçek sorun kötü niyetli uygulamalar değil, bir uygulamaya zaten izin veriyorsan, Scoped Storage onu engellemiyor. Sadece meşru uygulamaları cezalandırıyor.
Üstelik: kullanıcı izni verirse, uygulamaya yine tam erişim tanıyorsun. Scoped Storage, izin sisteminin tepesine eklenmiş bir katman; güvenliği gerçekten artırmıyor, sadece karmaşıklaştırıyor.
Açık Kaynak Yazılımlar Neden Zarar Gördü
Termux, Syncthing, NextCloud gibi araçlar tarihsel dosya erişimine ihtiyaç duyar. Scoped Storage onları ya işlevsiz bıraktı ya da workaround'lara (SAF, MediaStore sorguları) zorlayıp yavaşlattı. Geliştirici gücü, güvenlik değil, API uyumlaştırmasına harcandı.
Sonuç
Scoped Storage, güvenliği iyileştirmek yerine geliştirici deneyimini kırdı ve uygulamaları yavaşlattı. Google'ın amacı anlaşılabilir ama uygulaması yanlış. Daha iyi bir yol vardı: granüler izinler ve dosya seçici UI'ı (ACTION_OPEN_DOCUMENT), Scoped Storage değil. Şimdi yaşadığımız şey, güvenlik adı altında yapılan kötü tasarım.
0 yorum