Yazı ·

Bir uygulamaya ihtiyacımız var genellikle başka bir şey demektir

Native kararını arka plan çalışması, derin donanım erişimi ve sistem uzantıları haklı çıkarır. Giriş, form, kamera ve offline kullanım tek başına yetmez.

Bir uygulamaya ihtiyacımız var genellikle başka bir şey demektir

Gereksinim aslında bir ikondu

Bir ekip native uygulama istedi, ardından giriş, dashboard, belge yükleme ve bildirim anlattı. Bunların hiçbiri ürünün neden native olması gerektiğini açıklamıyordu. İstenen şey kalıcı hissettiren, hızlı açılan ve telefonun ana ekranından ulaşılabilen bir hizmetti.

Bu ayrım önemlidir. Native geliştirme ayrı platform kodu, mağaza incelemesi, sürüm koordinasyonu ve daha geniş test yüzeyi getirir. Web'in güvenilir biçimde sunamayacağı yetenekler varsa bu maliyet anlamlıdır. Native kelimesi yalnızca ciddi ürün anlamında kullanılıyorsa değildir.

İlk karar web mi native mi değildir. Ürünün URL'ye, kurulu bir varlığa veya işletim sisteminde ayrıcalıklı erişime ihtiyacı olup olmadığıdır.

Web uygulamasının dürüstçe yapabildikleri

Hesap portalları, rezervasyon sistemleri, pazar yerleri, dashboard'lar, şirket içi araçlar, içerik ürünleri ve masaüstü ile mobil arasında paylaşılan akışlar için web çoğu zaman en güçlü başlangıçtır. Tek codebase tarayıcıya doğrudan ulaşır, link doğru durumu açar ve güncelleme mağaza sürümünü beklemez.

Kurulum artık yalnızca native yazılıma ait değildir. Web Application Manifest standardı, web ürününün kurulu deneyim için adını, ikonlarını, başlangıç adresini, görüntüleme biçimini ve kapsamını nasıl tanımladığını açıklar. Service worker ile arayüz önbelleğe alınabilir ve offline çalışma kurulabilir. Kesintili bağlantı tek başına native gerekçesi değildir.

Push da otomatik olarak native gerektirmez. Apple, izin ve görünür bildirim koşullarıyla ana ekrana eklenen web uygulamaları için standartlara dayalı web push desteğini belgeliyor. Kamera, mikrofon, konum, dosya yükleme ve paylaşım da hedef kitlenin tarayıcı desteği uygunsa web'de kullanılabilir.

Dürüst sınır tutarlılıktır. Bir tarayıcıda bulunan yetenek diğerinde kısıtlı veya eksik olabilir. Bu yüzden genel API listesi değil, hedef cihaz matrisi karar verir.

Gerçekten native gerektiren işler

Ürünün temel değeri ayrıcalıklı, kalıcı veya platforma özgü davranışa bağlıysa native doğru cevaba dönüşür:

  • Sürekli arka plan çalışması. Arayüz kapandıktan sonra işlem, takip veya veri aktarımı devam etmek zorundaysa native platformların özel zamanlama ve yürütme framework'leri gerekir. Apple'ın Background Tasks framework'ü buna örnektir.
  • İşletim sistemi uzantıları. Ana ekran ve kilit ekranı widget'ları, Live Activities, kontroller, saat komplikasyonları ve paylaşım uzantıları ana uygulamanın dışında yaşar. Apple bunları WidgetKit gibi framework'lerle sunar.
  • Derin donanım ve sağlık entegrasyonu. Sürekli aksesuar iletişimi, özel sensörler, HealthKit, Health Connect veya platform kimlik depoları native yetki ve SDK isteyebilir. Apple HealthKit'i uygulama capability'si olarak tanımlar, Web Bluetooth ise sınırlı tarayıcı desteğine sahiptir.
  • Cihaz pipeline'ına bağlı performans. Gerçek zamanlı ses işleme, yoğun kamera kullanımı, ileri grafik veya uzun süren cihaz içi hesaplama native medya ve GPU framework'lerine öngörülebilir erişim gerektirebilir.

Kimlik doğrulama, abonelik, animasyon, harita, push, kamera butonu veya offline ekran bulunması tek başına native gerekçesi değildir. Bunlar test edilecek sorulardır, sonuç değil.

Hybrid taviz değil, ürün kararıdır

Bazı ürünler geniş web erişimi ile az miktarda native yeteneği birlikte ister. Ana ürün web uygulaması olarak kalırken native shell mağaza dağıtımı, güvenli kimlik bilgileri, arka plan görevi veya donanım köprüsü ekleyebilir. Ortak web view'lar arayüz tekrarını azaltır, native modüller yalnızca platform sınırını taşır.

Akışların çoğu form, içerik ve hesap verisinden oluşuyor, belirli bir mobil an ise daha derin erişim istiyorsa bu yaklaşım anlamlıdır. Bütün etkileşim native navigasyona, sürekli sensöre veya platform yüzeylerine dayanıyorsa değildir. Shell, özünde native olan ürünü saklayamaz.

Hybrid'in de bakım sözleşmesi vardır. Köprü, mağaza sürümleri ve platform modülleri test ister. Sınır açık olduğu için seçilmelidir, karar ertelensin diye değil.

Bu hafta en zor yetenekten karar verin

Temel kullanıcı yolculuğunu teknoloji adı vermeden yazın. Offline, arka planda, donanımla veya ana arayüz dışında çalışması gereken her anı işaretleyin. Her işaret için hedef kitlenin gerçek tarayıcı ve cihazlarında test yapın.

Zor yetenek web'de güvenilir çalışıyorsa önce web uygulamasını kurun ve kurulum talebini gerçek kullanımdan ölçün. Yalnızca dar bir yetenek eksikse küçük native köprülü shell'i değerlendirin. Ürün baştan sona arka plan yürütme, sistem uzantıları veya ayrıcalıklı cihaz verisine dayanıyorsa native seçip platform sahipliğini bütçelendirin.

Dürüst cevap, ürünün en zor gereksinimini garanti eden en düşük maliyetli mimaridir. Geri kalanı, kabın içinde ne olacağını tanımlamadan ona isim vermektir.