Görsel: Pixabay · Pixabay Lisansı
Vaat ve gerçek
Çapraz platform geliştirme "bir kez yaz, her yerde çalıştır" sloganıyla anlatılır. Gerçekte elde edilen oran ürüne göre yüzde yetmiş ile doksan arasında değişir.
Kalan kısım platforma özel davranışlardır ve bu kısım yok olmaz; yalnızca küçülür.
Ortak kalan ne?
İş mantığı, veri modeli, API çağrıları, form doğrulama ve durum yönetimi tamamen ortaktır. Bir hesaplama kuralını bir kez yazarsınız.
Arayüzün büyük bölümü de ortaktır. Liste, form, kart ve gezinme yapıları iki platformda aynı koddan üretilir.
Asıl kazanç buradadır: bir hata düzeltmesi iki platformda birden kapanır. İki ayrı kod tabanında bu iş iki kez yapılır ve ikisi zamanla birbirinden ayrışır.
Ortak kalmayan ne?
Bildirim izinleri, arka plan çalışma kuralları ve dosya erişimi iki platformda farklı davranır.
Ses ve medya davranışı ayrışır. iOS'ta sessiz anahtarı açıkken sesin duyulması için ses oturumunun ayrıca yapılandırılması gerekir; bunu yapmazsanız uygulama sessizce hiçbir şey çalmaz.
Mağaza kuralları da ortak değildir. Apple'ın hesap silme ve giriş yöntemi kuralları ile Google'ın izin beyanları ayrı ayrı karşılanır.
Televizyon ayrı bir hikâyedir
Aynı kod tabanından televizyona çıkmak mümkündür ama arayüz yeniden düşünülmelidir. Dokunmatik ekran için tasarlanmış bir düzen, uzaktan kumandayla kullanılamaz.
Wora Player'ı Android TV'ye taşırken öğrendiğimiz şu oldu: kumandanın yön tuşu, odaklanacak elemanı ekrandaki mesafeye göre seçer ve dikey mesafeyi yatay mesafeden çok daha ağır cezalandırır. Küçük ya da kenarda kalan kontroller bu yüzden atlanır.
Sonuç: televizyon desteği "ek platform" değil, ayrı bir arayüz çalışmasıdır.
Ne zaman ayrı yazmalı?
Uygulamanız cihazın derinlerine iniyorsa, örneğin gelişmiş kamera kontrolü ya da özel donanım entegrasyonu gerekiyorsa yerel geliştirme mantıklıdır.
Diğer her durumda ortak kod tabanı, üç yıllık toplam sahip olma maliyetinde açık ara öndedir.
Platforma özel kodu nasıl yönetmeli?
Ortak kodda dallanma yaparak platform kontrolü koymak kısa vadede kolaydır ancak zamanla okunmaz hale gelir.
Daha temiz yöntem, platforma özel davranışı ayrı dosyalarda tutup ortak bir arayüz üzerinden çağırmaktır. Böylece iş mantığı platform detaylarından temiz kalır.
Platforma özel kodun oranını ölçün. Yüzde yirmiyi aşıyorsa, ortak kod avantajı erimeye başlamış demektir ve mimariyi gözden geçirmek gerekir.
Test stratejisi iki platformda da çalışmalı
İş mantığı testleri ortak kod üzerinde yazılır ve iki platformu birden korur. En yüksek getirili test yatırımı budur.
Arayüz testleri her iki platformda ayrı çalıştırılmalıdır; çünkü aynı kod farklı cihazlarda farklı davranabilir.
Yayın öncesi kontrol listesinde her iki platform için ayrı sütun tutun. Tek platformda test edilip yayınlanan sürümler, diğerinde beklenmedik hatalarla döner.
Sık sorulanlar
Tek kod tabanı maliyeti yarıya indirir mi?
İlk geliştirmede yarıya indirmez, genellikle üçte bir civarında tasarruf sağlar. Asıl kazanç bakım aşamasındadır: her düzeltme ve her yeni özellik iki platformda tek seferde yayınlanır.
Aynı koddan Android TV sürümü çıkabilir mi?
Teknik olarak evet, ancak arayüz uzaktan kumanda için yeniden tasarlanmalıdır. Odak sırası, düğme boyutları ve gezinme mantığı televizyonda farklı çalışır.
Ortak kod oranı nasıl ölçülür?
Platforma özel dosyaların satır sayısını toplam koda oranlayın. Sağlıklı projelerde bu oran genellikle yüzde ondan azdır; yükselmesi mimari bir sorunun işaretidir.



