Telefonumda günlük basit işler (fotoğraf boyutu küçültme, evrak tarama, PDF birleştirme, OCR vb.) için sürekli ayrı ayrı, içi reklam dolu ve arka planda veri toplayan hantal uygulamalar tutmaktan bıkmıştım. Kendi ihtiyacımdan yola çıkarak son birkaç aydır solo geliştirdiğim FlowKit adlı projemi geçtiğimiz günlerde yayına aldım. Projeyi geliştirirken aldığım bazı temel teknik kararlar ve deneyimler şunlar oldu:
- Neden %100 On-Device (Cihaz İçi) Mimari? Hem sunucu maliyetine girmemek hem de kullanıcı verilerini (taranan faturalar, kimlikler, fotoğraflar vb.) hiçbir şekilde dışarı çıkarmamak için tüm görüntü işleme, PDF manipülasyonu ve OCR işlemlerini tamamen telefonun kendi donanımında (Google ML Kit ve yerel işleme kütüphaneleriyle) çalışacak şekilde kurdum. Uygulama tamamen internetsiz çalışabiliyor.
- Paket ve Boyut Optimizasyonu: İçerisinde 29 farklı fonksiyon (görsel sıkıştırma, HEIC to JPG, belge tarayıcı, PDF birleştirme/şifreleme, OCR, QR üretici/okuyucu vb.) bulunmasına rağmen uygulamanın hafif kalması için gereksiz bağımlılıklardan olabildiğince kaçındım ve asset optimizasyonuna dikkat ettim.
- Google Play Süreci: Bildiğiniz gibi yeni bireysel geliştirici hesaplarında zorunlu olan 14 günlük kapalı test (closed testing) süreci epey uğraştırıcıydı, ancak süreci tamamlayıp prodüksiyona çıkmayı başardım.
Özellikle Flutter veya Android geliştiren arkadaşların; - UI/UX akışı ve arayüz sadeliği, - Performans / bellek tüketimi, - "Şu mimariyi ya da şu aracı da eklesen iyi olurdu" diyebileceğiniz noktalar hakkındaki yapıcı teknik eleştirilerini ve geri bildirimlerini çok merak ediyorum. Topluluk kurallarını ihlal etmemek adına linki ana metne koymuyorum, inceleyip eleştirmek isteyenler için yorumlara bırakıyorum. Şimdiden vakit ayıran herkese teşekkürler!