Mobil uygulama geliştirme hizmetimiz, bir fikrin ya da firmanızdaki bir ihtiyacın Android ve iOS telefonlarda çalışan bir uygulamaya dönüşmesini baştan sona kapsar. İhtiyacı netleştirir, ekranları tasarlar, uygulamayı ve gerekiyorsa arkasındaki sunucu tarafını yazar, test eder, mağaza yayınına hazırlar ve yayından sonra gelen destek taleplerinizi karşılarız.
Uygulamayı tek başına düşünmüyoruz. Çoğu mobil uygulamanın bir arka uca ihtiyacı vardır: kullanıcı kaydı, verinin saklanması, bildirim gönderilmesi, içeriği ya da rezervasyonları yöneteceğiniz bir yönetim ekranı. Bu yüzden ilk görüşmede telefonda görünen kısım kadar, arkada çalışan kısmı da konuşuruz.
Mobil oyun projeleri üzerinde de çalışıyoruz; bu alan portföyümüzde henüz yer almıyor. Elinizde bir oyun fikri varsa kapsamını birlikte değerlendirebiliriz.
Mobil uygulama geliştirmede neden Flutter ile tek kod tabanı?
Mobil uygulamalarımızı Flutter ile geliştiriyoruz. Flutter, Dart diliyle yazılan ve aynı projeden hem Android hem iOS uygulaması üreten bir arayüz çerçevesidir. Ekranlar ve iş kuralları bir kez yazıldığı için iki platformda aynı davranışı elde etmek kolaylaşır; bir hata düzeltildiğinde düzeltme iki platforma birlikte gider ve sonraki güncellemelerde bakım yükü azalır.
Bu seçimin sınırları da var. Platforma çok özgü bir donanım özelliği ya da çok yoğun bir grafik işlemi gerekiyorsa, o kısım için platforma özgü kod yazmayı ya da farklı bir yaklaşımı değerlendiririz. Kararı baştan ihtiyacınıza göre veririz; ayrıntılı karşılaştırma için Flutter mı native mi yazımıza bakabilirsiniz.
Arka uç: Firebase mi, kendi API'miz mi?
Uygulamanın verisini ve kullanıcılarını yöneten arka uç için iki yol kullanıyoruz.
- Firebase: anlık bildirim, kimlik doğrulama ve veri saklama gibi işleri hazır servislerle çözer. Hızlı bir başlangıç gereken ve özel iş kuralı az olan uygulamalar için uygun bir yoldur.
- Kendi ASP.NET Core API'miz: C# ile yazılan, SQL Server ya da MySQL üzerinde veri tutan özel bir arka uçtur. Veri üzerinde tam kontrol, özel iş kuralları ya da firmanızdaki mevcut sistemlerle bütünleşme gerektiğinde tercih edilir.
- İkisi birlikte: bildirimleri ve kimlik doğrulamayı Firebase üstlenir, iş verisi ise kendi API'mizde ve veritabanında durur. Sık görülen bir çözümdür, çünkü her bileşen kendisine uygun işi üstlenir.
Seçimi belirleyen sorular basittir: verinin nerede durmasını istiyorsunuz, uygulama mevcut bir sistemle konuşacak mı, uygulamayı yönetecek kişiler için bir panel gerekiyor mu?
Çalışma modelimiz: tasarımdan yeniden incelemeye
Arayüzü olan her mobil uygulama projesini beş aşamada yürütürüz:
- Tasarım: ekranlar, kullanıcı akışı ve uygulamanın ne yapıp ne yapmayacağı birlikte netleştirilir.
- Geliştirme: onaylanan tasarım uygulamaya dönüştürülür; arka uç gerekiyorsa birlikte kurulur.
- Test: uygulama Android ve iOS tarafında farklı kullanım senaryolarıyla denenir.
- Düzenleme: testte ve sizin geri bildiriminizde ortaya çıkan eksikler giderilir.
- Yeniden inceleme: yapılan düzeltmeler birlikte tekrar gözden geçirilir ve yayın öncesi son kontrol yapılır.
Arka planda çalışan, arayüzü olmayan bir bileşen söz konusuysa Tasarım aşaması atlanır ve süreç Geliştirme ile başlar. Her aşamanın süresi kapsama ve ekibin yoğunluğuna göre değişir; bu yüzden önceden sabit bir süre sözü vermeyiz, süreyi sıkıştırmaya çalışmayı da önermeyiz. Süreyi neyin etkilediğini yazılım geliştirme süresi ve maliyeti neleri etkiler yazımızda ayrıntılı anlattık.
Sürece canlı katılın
Tasarım ve işleyiş kararlarına canlı olarak katılabilirsiniz. Bir ekranın nasıl görüneceği ya da bir akışın nasıl işleyeceği konusundaki görüşünüz geliştirme sırasında devreye girer; iş bittikten sonra sürprizle karşılaşmazsınız. Geliştirme aşamalarını ise ekran görüntüleriyle e-posta yoluyla size bildiririz, böylece uygulamanın hangi noktada olduğunu her zaman görürsünüz.
E-posta bildirimleri yalnızca bir bilgilendirme değil, aynı zamanda bir kayıttır: hangi aşamada ne gösterdiğimizi ve sizin hangi noktada ne dediğinizi sonradan da geri dönüp görebilirsiniz. Bir ekranın ilk hâli ile son hâli arasındaki farkı bu yazışmalardan izlemek, kapsamın zamanla sessizce değişmesini de önler.
Uygulamaya markanıza ait kişisel içerik (metinler, görseller, duyurular) eklenebilir. Yayından sonra bir sorun ya da değişiklik isteği için destek talebi bırakabilirsiniz. Aksi belirtilmedikçe arayüzü sade tutarız: karışıklık çoğunlukla ekran sayısından değil, kullanıcının ne yapacağını bilememesinden doğar.
Mağaza yayını ve gizlilik politikası
Uygulamanın bitmesi yayınlanması anlamına gelmez. Android ve iOS mağazalarında yayın için bir yayıncı hesabı, uygulamanın adı, açıklaması, simgesi ve ekran görüntüleri, imzalanmış bir sürüm paketi ve mağazanın kendi incelemesi gerekir. Yayıncı hesabının genellikle firmanız adına açılması tercih edilir; hesabın sahibi siz olursanız uygulama üzerindeki yetki de sizde kalır. Hazırlık ve paketleme adımlarında yardımcı oluruz, ancak mağazaların inceleme kuralları ve inceleme süresi bizim kontrolümüzde değildir.
Uygulama telefon numarası, konum ya da bildirim izni gibi kullanıcı verisi topluyorsa mağazalar çoğunlukla bir gizlilik politikası ister; 6698 sayılı Kişisel Verilerin Korunması Kanunu kapsamında aydınlatma yükümlülüğü de doğabilir. Politikanın neleri içermesi gerektiğini mobil uygulama gizlilik politikası nasıl hazırlanır yazımızda anlattık. Metnin hukuki açıdan son hâli için bir hukuk danışmanından görüş almanızı öneririz.
Başlamadan önce neleri hazırlamalısınız?
Ayrıntılı bir doküman şart değil; aşağıdaki sorulara kabaca verdiğiniz cevaplar ilk planı çıkarmak için yeterlidir:
- Uygulama kimin için ve hangi sorunu çözecek?
- Kullanıcı uygulamayı açtığında en sık hangi işlemleri yapacak?
- Uygulamanın bağlanması gereken bir yazılım ya da veri kaynağı var mı?
- Uygulamayı yönetecek kişiler için bir panel gerekiyor mu?
- Uygulama Android ve iOS için birlikte mi, yoksa yalnızca biri için mi düşünülüyor?
Sürecin genel hatlarını mobil uygulama geliştirme süreci rehberimizde bulabilirsiniz. Hazır olduğunuzda iletişim sayfamızdan ihtiyacınızı yazın; kapsamı birlikte çıkaralım.