Güney Kore’de 31 ilçeyi kapsayan çevrimdışı dostu bir harita uygulaması geliştirmek, beklenmedik zorlukların yanı sıra önemli dersler de sundu. React ve Leaflet’in güçlerini birleştirdiğimiz bu projede, performans, kullanıcı deneyimi ve yerel pazarın gereksinimleriyle nasıl başa çıktığımızı paylaşmak istiyoruz.
Projeye Genel Bakış: Veri Odaklı Bir Yaklaşım
Proje, bölgesel para birimi farklılıklarını gösteren etkileşimli bir harita uygulaması olarak başlatıldı. Uygulama, kullanıcıların konumlarına göre en yakın ilçelerin para birimlerini karşılaştırmalarına olanak tanıyor. Geliştirme sürecinde, ilk etapta sadece bir web uygulaması olarak tasarlansa da, daha sonra çevrimdışı çalışabilme ve yerel arama motorlarıyla uyumlu olma ihtiyacı ortaya çıktı.
Vite SSG: SEO Dostu Bir Çözüm
React tabanlı uygulamalarda yaygın olarak kullanılan tek sayfa uygulaması (SPA) modeli, arama motoru optimizasyonunda (SEO) ciddi sorunlara yol açabiliyor. Özellikle Güney Kore’nin önde gelen arama motoru Naver’in JavaScript renderlama yeteneklerinin sınırlı olması, SPA’ların indekslenmesini zorlaştırıyor. Bu nedenle, vite-plugin-ssr gibi araçlarla sunucu tarafı oluşturma (SSG) yöntemine geçiş yaptık. Bu yaklaşım, sayfaların statik HTML olarak oluşturulmasını sağlayarak, arama motorlarının içeriği kolayca taramasına olanak tanıdı. Sonuç olarak, uygulamanın Naver’deki görünürlüğü önemli ölçüde arttı.
Leaflet’in Maliyet Avantajı: Mapbox’a Alternatif
Harita uygulamaları geliştirirken, genellikle Mapbox gibi ücretli çözümler tercih edilir. Ancak, bütçe dostu bir alternatif arayan ekipler için Leaflet, ücretsiz OpenStreetMap (OSM) katmanlarıyla mükemmel bir seçenek sunuyor. Projemizde, Leaflet’in sunduğu esnekliği ve kolay entegrasyonu sayesinde hem geliştirme süresini kısalttık hem de maliyetleri sıfıra indirdik. Özellikle, harita verilerinin güncel kalması için OSM’in topluluk tarafından sürekli güncellenen kaynaklarına güvenebiliyoruz.
Firebase Hosting: Derin URL’ler için Sıfır Backend
Uygulamada, kullanıcıların /ilce/sehri şeklinde derin URL’lere erişebilmesi gerekiyordu. Geleneksel bir yaklaşımla bu, bir backend hizmeti gerektirebilirdi. Ancak Firebase Hosting’in sunduğu yeniden yazma (rewrite) özellikleri sayesinde, hiçbir sunucu tarafı koduna ihtiyaç duymadan bu URL yapısını destekleyebildik. Firebase’in basit arayüzü ve hızlı dağıtım imkanı, geliştirme sürecini büyük ölçüde kolaylaştırdı.
KakaoTalk Paylaşımının Önemi: Yerel Sosyal Trafiğin Anahtarı
Güney Kore’de sosyal medya trafiğinin %70’inden fazlası KakaoTalk üzerinden gerçekleşiyor. Bu nedenle, uygulamanın KakaoTalk ile entegre edilmesi, kullanıcıların içerikleri kolayca paylaşabilmesi için zorunlu hale geldi. Projemizde, KakaoTalk’un paylaşım API’sini entegre ederek, kullanıcıların harita görüntülerini veya veri karşılaştırmalarını tek bir tıklamayla arkadaşlarıyla paylaşabilmesini sağladık. Bu entegrasyon, uygulamanın yayılma hızını önemli ölçüde artırdı.
PWA Kurulum Uyarısı: Kullanıcı Deneyimini Ön Planda Tutun
PWA’ların (Progressive Web Apps) en büyük avantajlarından biri, kullanıcıların uygulamayı doğrudan tarayıcılarından "kurmalarına" olanak tanımasıdır. Ancak, otomatik kurulum uyarılarından kaçınmak kritik önem taşıyor. Kullanıcıların uygulamanın avantajlarını kendi deneyimleriyle keşfetmelerine izin vermek, daha organik bir kabul oranı sağlıyor. Projemizde, kullanıcıların uygulamayı ilk kez açtıklarında karşılaştıkları yerleşik kurulum uyarısını devre dışı bırakarak, daha doğal bir kullanıcı yolculuğu oluşturduk.
Gelecek Adımlar ve Sürekli İyileştirme
Bu proje, sadece bir harita uygulaması olmanın ötesinde, React ve Leaflet’in birlikte nasıl verimli bir şekilde kullanılabileceğini gösterdi. Gelecekte, uygulamanın performansını daha da artırmak ve kullanıcı geri bildirimlerine dayalı yeni özellikler eklemek planlanıyor. Özellikle, yerel pazara yönelik diğer projelerde de bu derslerden faydalanmayı hedefliyoruz.
Yapay zeka özeti
Kore’de 31 ilçelik bir harita uygulaması geliştirirken öğrenilen 5 kritik ders: Vite SSG’nin SEO avantajı, Leaflet’in maliyet etkinliği, Firebase Hosting’in derin URL’leri ve KakaoTalk paylaşım entegrasyonu.