Vaka Çalışmaları

Finansal İşlem Uygulamasının Yeniden Yayına Alınması

Üyelerin birikimlerini, borçlarını ve taksitlerini takip ettiği mobil uygulamanın altyapısı yenilendi. Arkadaki sistemlere dokunulmadı, uygulama iki ayda her iki mağazada yeniden yayına alındı.

2 ay
teslim süresi
2
mağazada yeniden yayında
30
ekran
~17.700
satır kod

Uygulama güncellenemez hâle gelmişti

Müşterimiz, on binlerce üyesi olan bir kurumsal yardımlaşma ve birikim kuruluşu. Üyeler düzenli aidat ödüyor, birikimleri karşılığında kâr payı alıyor, gerektiğinde bu birikime dayalı borç kullanıp taksitle geri ödüyor. Mobil uygulama, üyenin bütün bu işlemleri yürüttüğü yer.

Uygulama uzun süredir güncellenmemişti ve mağazaların bugünkü kurallarını karşılamıyordu. Böyle bir durumda yeni sürüm yayınlayamazsınız. Yeni çıkan telefonlarda sorunlar birikir. Güvenlik güncellemesi geçmeniz gerektiğinde geçemezsiniz.

Bizden istenen, uygulamayı bugünün gereksinimlerine taşımak ve iki mağazada yeniden yayına almaktı.

Neden basit bir güncelleme değildi

Uygulamanın üzerinde çalıştığı teknoloji katmanı, aradan geçen sürede baştan tasarlanmıştı. Kodu çalıştıran motor değişmişti. Ekran geçişlerini ve veri akışını yöneten kütüphaneler yeni sürümlere geçmişti. Android’in izin isteme biçimi ile Apple’ın gizlilik bildirimi zorunlulukları yeniden tanımlanmıştı. Böyle bir tabloda parçaları tek tek güncellemek işe yaramıyor.

İkinci bir kısıt daha vardı. Kurumun sunucu tarafına dokunulmayacak, uygulama mevcut servislerle aynı şekilde konuşmaya devam edecekti. Yenileme bu yüzden yalnızca telefon tarafında yapıldı ve hiçbir entegrasyon bozulmadı.

Bir de içeriğin niteliği vardı. Ekranda tutar, vade, taksit ve bakiye gösteriliyor. Kullanıcı yanlış bakiye görürse bu, yavaş açılan bir sayfadan çok daha büyük bir sorundur. Doğruluk ve hata yönetimi bu nedenle görsel yenilemeden önce ele alındı.

Böyle işlerde genellikle iki seçenek konuşulur. Uygulamayı sıfırdan yazmak ya da mevcut kodu yamalarla ayakta tutmak. Biz ikisini de yapmadık. Uygulamanın kendisi, otuz ekranı ve iş kurallarıyla birlikte olduğu gibi kaldı. Yalnızca altındaki teknoloji katmanı değişti.

Yapılan iş

Zemin yenilendi

Uygulamanın üzerinde çalıştığı teknoloji katmanı güncel sürümlere taşındı, kodu çalıştıran motor değiştirildi ve iOS ile Android tarafındaki proje dosyaları sıfırdan yeniden üretildi.

Mağaza kurallarına uyum

Apple ve Google'ın bugün aradığı şartlar tamamlandı. Güncel işletim sistemi hedefleri, gizlilik bildirimi, izin açıklamaları ve bildirim yetkileri bunların arasında. Bu şartlar karşılanmadan uygulama mağaza incelemesinden geçemiyordu.

Sürüm numarası tutarsızdı

Uygulamanın sürüm numarası dört ayrı dosyada tutuluyordu ve bunlar birbirini tutmuyordu. Bu, mağazaya yanlış numarayla paket gitmesine ve yayının reddedilmesine yol açabilecek bir durum. Derlemeye hangi değerin girdiği okunarak tespit edildi ve dördü hizalandı.

Yayın anahtarı doğrulandı

Mağazaya yüklenen bir paket, imzasının beklenenle uyuşmaması nedeniyle reddedilmişti. Doğru anahtar geri getirildi ve mağazanın beklediği değerle birebir eşleştiği doğrulandıktan sonra yeniden yüklendi.

Canlıda çökmemesi için

Uygulamanın açılışta çökmesini engelleyen koruma eklendi. Bildirim tarafında bir sorun çıktığında uygulama kapanmıyor, yalnızca o özellik devre dışı kalıyor. Geliştirme sırasında kullanılan teknik çıktılar yayın sürümünden temizlendi.

Bildirimler yeniden kuruldu

Uygulamanın bildirim altyapısı, aracı bir servise bağlı olmaktan çıkarılıp doğrudan Google'ın bildirim servisine taşındı. Android ve iOS için ayrı ayrı yapılandırıldı.

Anahtarlar kuruma teslim edildi

Uygulamanın yayın anahtarları, mağaza kimlik dosyaları ve bildirim sertifikaları kuruma devredildi. Yanında da bir envanter verildi: her anahtarın ne işe yaradığı, nerede saklandığı ve ne zaman yenilenmesi gerektiği yazıyor. Bir uygulamanın yayın anahtarı sizde değilse, o uygulama fiilen sizin değildir.

Sonuç

İş iki ayda tamamlandı. Uygulama her iki mağazada yeniden yayına alındı. Yayından önce gerçek cihazlarda baştan sona denendi; giriş, bildirim izni ve para işlemleri buna dahil. Kurumun onayıyla canlıya çıktı.

Teslim edilen uygulama otuz ekrandan oluşuyor ve yaklaşık 17.700 satır kod içeriyor.

Asıl kazanım, uygulamanın yeniden güncellenebilir olması. Artık yeni özellik eklenebiliyor, güvenlik yaması geçilebiliyor ve mağaza kuralları değiştiğinde uyum sağlanabiliyor.

React NativeExpoTypeScriptMobil ModernizasyonMağaza Uyumluluğu

Kritik bir uygulamanız yaşlanıyor mu?

Müşteri ilişkinizin ya da bir iş sürecinizin üzerinden yürüdüğü uygulama, zamanla mağaza kurallarının gerisine düşer. Fark edildiğinde seçenek genellikle ikiye iniyor. Sıfırdan yazmak ya da riskli bir yenilemeye girişmek.

Biz üçüncü yolu izledik. Uygulamanın altındaki teknoloji katmanı baştan kuruldu, arkadaki sisteme dokunulmadı. Tek bir entegrasyon bozulmadı ve iş iki ayda bitti.

Bu iş kurumsal ölçekteydi. Ama aynı sorunun küçüğü çok daha yaygın. Birkaç yıllık bir uygulama, dokunmaya çekinilen bir kod tabanı, kimde olduğu bilinmeyen bir yayın anahtarı. Ölçek değişse de bakılacak yerler aynı kalıyor.

Uygulamanızın bugün nerede durduğunu ve hangi yolun size uygun olduğunu birlikte değerlendirelim.

Uygulamanızın durumunu değerlendirelim →
Kepiten | İşletmeler için Özel Yapay Zeka ve Yazılım Çözümleri Kepiten danışmanlık görüşmesi için dijital ekip görseli

Bir sonraki yazılım projenizi Kepiten ile yapalım mı?

İşletmenize özel güçlü yapay zeka ve yazılım çözümlerini birlikte geliştirelim.