PRATİK REHBER
Önce web uygulaması mı, mobil uygulama mı geliştirmelisin?
Kullanıcının nerede olduğundan ve hangi işi tamamlamak istediğinden başla. İlk platform, ürünü denemeyi kolaylaştırmalı ve ana işin gerektirdiği özellikleri desteklemeli.
1. Platformdan önce kullanım koşullarını düşün.
Kullanıcı ürüne ihtiyaç duyduğunda nerede olacak? Rezervasyon bağlantısı açan bir müşterinin, büyük bir hesap tablosuyla çalışan bir analistin ve bağlantının güvenilir olmadığı bir yerde iş kaydı tutan bir teknisyenin ihtiyaçları birbirinden farklıdır. Platform seçmeden önce cihazı, ortamı ve yapılacak işi yaz.
Web uygulaması tarayıcıda çalışır; bilgisayarların yanında telefonlar için de tasarlanabilir. Mobil uygulama ise genellikle iOS veya Android üzerine kurulan ve çoğunlukla bir uygulama mağazasından dağıtılan yazılımı ifade eder. Mobil uygulama her platform için ayrı (native) olarak da, ortak kod kullanan bir yaklaşımla da geliştirilebilir. Buradaki karar belirli bir teknolojiden çok, ilk kullanıcı deneyimi ve dağıtım yoluyla ilgilidir.
2. İlk kullanıcılara ulaşma yollarını karşılaştır.
Bu başlangıç noktaları üzerinden seçenekleri konuşabilirsin. Bunlar maliyet veya özellik garantisi değil, karar verirken ele alınacak sorulardır.
İki seçeneği karşılaştırmak için tabloyu yana kaydır.
| Soru | Web uygulaması | Kurulan mobil uygulama |
|---|---|---|
| Kullanıcı nasıl başlar? | Bir bağlantıdan doğrudan tarayıcıdaki akışa geçebilir. | İlk işleme başlamadan önce genellikle uygulamayı kurar. |
| İş nerede yapılır? | Farklı ekranlara uyarlanan tasarımla telefon ve bilgisayar kullanımını destekleyebilir. | Seçilen mobil işletim sistemleri ve cihazlar için tasarlanır. |
| Neler test edilir? | Hedef tarayıcılar, ekran boyutları, izinler ve varsa kurulum akışı. | Hedef cihazlar, işletim sistemi sürümleri, izinler ve yayın süreci. |
| Değişiklikler nasıl ulaşır? | Yeni web sürümü, mağaza güncellemesi olmadan kullanıcılara ulaşabilir; önbellek yine de dikkatle yönetilmeli. | Mağaza sürümleri ve kullanıcıların güncellemeyi yüklemesi planın bir parçasıdır. |
3. Cihaz özelliklerini tek tek kontrol et.
“Kamera gerekiyor” demek, otomatik olarak “native uygulama gerekiyor” demek değildir. Web uygulamaları tarayıcıda kamera ve mikrofon erişimi isteyebilir; bunun için HTTPS gibi güvenli bir bağlam ve kullanıcının izni gerekir. Asıl soru, ihtiyaç duyulan çekim veya kayıt akışının kullanıcıların cihazlarında güvenilir biçimde çalışıp çalışmadığıdır.
Bildirimler için de ayrıntılara bakmak gerekir. Apple, iOS ve iPadOS 16.4 ve sonraki sürümlerde Ana Ekran’a eklenen web uygulamaları için Web Push desteği sunar. Kullanıcının web uygulamasını Ana Ekran’a eklemesi ve bildirim izni vermesi gerekir; bu, sıradan bir tarayıcı sekmesi açmakla aynı akış değildir. Kullanıcı siteyi ziyaret etti diye bildirimlerin ulaşacağını varsayma.
Bluetooth donanımı, konum takibi, arka plan işlemleri veya yoğun medya işleme gerekiyorsa ilgili özelliği küçük bir prototiple dene. Tarayıcı ve işletim sistemi desteğini, izinleri ve uygulama ön planda değilken ne olduğunu kontrol et. Kurulan uygulamaların da platformdan kaynaklanan sınırları vardır.
4. Çevrimdışı kullanımın ne anlama geldiğini belirle.
Progresif web uygulaması (PWA), destekleyen tarayıcılarda kurulum ve çevrimdışı kullanım özellikleri sunabilir. Bunların geliştirilmesi ve test edilmesi gerekir; bir kurulum simgesi, sunucuya bağlı işleri kendiliğinden bağlantısız çalışır hale getirmez. Tarayıcı depolamasının da sınırları vardır ve veriler silinebilir.
Somutlaştır: kullanıcı daha önce yüklenmiş içeriği mi okuyacak, taslak mı kaydedecek, yoksa daha sonra eşitlenecek kayıtlar mı oluşturacak? Bekleyen işlerin nasıl gösterileceğini, çakışan değişikliklerin nasıl ele alınacağını ve bağlantı döndüğünde ne olacağını belirle. Kurulan bir mobil uygulamada da aynı kararlar gerekir.
5. Dağıtım ve bakımı bütçeye dahil et.
İlk deneme için her platformun toplam kapsamını karşılaştır: arayüz, sunucu tarafı, entegrasyonlar, testler, yayın ve destek. Web uygulaması kurulum engelini azaltabilir ama her zaman daha ucuz değildir. Karmaşık bir tarayıcı editörü, tek bir işe odaklanan mobil araçtan daha fazla emek gerektirebilir.
Mağazadan dağıtım, başvuru ve inceleme işlerini de kapsar. Apple’ın kurallarında asgari işlevsellik koşulları bulunur; bu yüzden bir web sitesini uygulama olarak paketlemek onayı garantilemez. Kullanacağın mağazaların yayın gereksinimlerini planla.
Ortak kod, iOS ve Android arasında tekrarı azaltabilir; ancak cihaz testleri ve platforma özgü işler devam eder. Bağımlılıkları kimin güncelleyeceğini, hataları kimin düzelteceğini, mağaza veya barındırma hesaplarını kimin yöneteceğini ve yayın sonrası desteği konuş.
6. Tek bir akış için ilk platformu seç.
Varsayımsal bir özel ders rezervasyon ürünü düşün. Öğrenciler bir bağlantıdan gelip saat seçiyor ve onay alıyorsa, mobil uyumlu bir web uygulaması ilk deneme için makul bir seçenektir. Ara sıra kullanacak birinden uygulama kurmasını istemek gereksiz bir adım ekleyebilir.
Şimdi de şirket telefonlarında her gün kullanılan; fotoğraf, çevrimdışı kayıt ve özel donanım gerektiren varsayımsal bir saha denetim aracı düşün. Gerekli entegrasyonların teknik denemesiyle birlikte kurulan bir mobil uygulama seçeneğini değerlendirmek yerinde olur. Kararı yalnızca ürünün kamera kullanıp kullanmaması değil, bu iş akışının tamamı belirler.
Farklı roller farklı arayüzler de kullanabilir. Öğrenciler web üzerinden rezervasyon yaparken öğretmenler takvimlerini başka bir arayüzden yönetebilir. Önce hakkında bilgi edinmen gereken role ve işe odaklan; ikinci platformu somut bir ihtiyaç bu emeği haklı çıkardığında ekle.
7. Kapsam görüşmesine bu sorularla hazırlan.
Geliştiriciyle platform seçmeden önce kısa bir özet hazırla:
- İlk sürümü kim, hangi cihazlarda ve hangi ortamda kullanacak?
- İnsanlar ürünü nasıl bulacak; uygulama kurmalarını beklemek makul mü?
- Hangi cihaz özellikleri gerekli, hangileri için önce teknik deneme gerekiyor?
- Çevrimdışıyken veya uygulama arka plandayken hangi işler çalışmalı?
- Cihazlar veya farklı kullanıcı rolleri arasında hangi bilgiler paylaşılmalı?
- Yayını, bakımı, desteği ve devam eden hizmet maliyetlerini kim yönetecek?
Platform seçimini, dayandığı varsayımları ve hangi bulguların kararını değiştireceğini yaz. İlk kullanıcılar ana akışı denedikten sonra bu kararı yeniden değerlendirebilirsin.