Mood Reklam

Rehber

Flutter ve Dart ile Mobil Uygulama: Tek Kodla İki Mağazaya Çıkmanın Artıları ve Sınırları

“Bir kere yazılır, iki telefonda çalışır” sözü doğru ama eksik. Flutter’ın kendi çizim motoru, Dart dili, eklenti bağımlılığı, iOS için hâlâ gereken Mac ve hesap ile Flutter’dan uzak durulacak işleri anlattık.

· 4 dk okuma · Mood Reklam

Mood Reklam web sitesinin masaüstünde anasayfası ve telefonda kutu harf hizmet sayfası

Flutter’ı araştıran işletme sahibi genellikle şu cümleyi duymuştur: “Bir kere yazılır, hem Android’de hem iPhone’da çalışır.” Bu cümle doğrudur ama eksiktir. Flutter, Google’ın geliştirdiği açık kaynaklı bir arayüz aracıdır; uygulamalar Dart adlı programlama diliyle yazılır. Bu yazıda tek kodla iki mağazaya çıkmanın neyi gerçekten kolaylaştırdığını, neyi kolaylaştırmadığını ve Flutter’ın sizin işinize uyup uymadığını nasıl anlayacağınızı anlatıyoruz.

Flutter ekranı nasıl çizer?

Çoğu mobil araç, telefonun kendi düğmelerini ve listelerini kullanır. Flutter ise ekrandaki her şeyi kendi çizim motoruyla çizer. Bunun iki sonucu vardır. Birincisi, uygulamanız Android’de de iPhone’da da birebir aynı görünür; marka renkleri, yazı tipleri ve animasyonlar her cihazda tutarlıdır. İkincisi, platformun alışılmış görünümü isteniyorsa bunun taklit edilmesi gerekir. Flutter bunun için Android ve iOS tarzında hazır bileşen setleri sunar, ama iPhone kullanıcısının alıştığı her küçük davranış kendiliğinden gelmez.

Geliştirme sırasında yapılan değişikliğin, uygulama yeniden başlatılmadan ekranda görülmesi (hot reload) deneme ve düzeltme turlarını hızlandırır. Toplantıda “şu düğme biraz daha büyük olsun” dediğinizde sonucu çoğu zaman oracıkta görebilirsiniz.

Tek kod, iki platform: vaat ve gerçek

Duyduğunuz Gerçekte
Bir kez yazılır, iki mağazada yayınlanır Arayüz ve iş kuralları büyük ölçüde ortaktır; bildirim izinleri, ödeme ve bazı cihaz ayarları için platforma özel çalışma yine gerekir
Mac gerekmez Android için gerekmez; iOS sürümünü derleyip App Store’a göndermek için yine bir macOS ortamı ve Apple geliştirici üyeliği şarttır
Her cihaz özelliği hazır Kamera, konum, bildirim gibi yaygın özellikler için eklentiler vardır; az kullanılan bir donanım ya da yeni çıkmış bir işletim sistemi özelliği için eklentinin güncellenmesini beklemek ya da platforma özel kod yazmak gerekebilir
Web ve masaüstüne de çıkar Flutter web ve masaüstü desteği sunar; ancak Google’da bulunması gereken içerik siteleri için uygun değildir, onlar klasik web teknolojileriyle yapılmalıdır

Flutter’ın iyi oturduğu işler

  • Markaya özel, görsel olarak dikkat çeken ve iki platformda aynı görünmesi istenen müşteri uygulamaları
  • Sipariş, randevu, sadakat kartı gibi formlardan, listelerden ve bildirimlerden oluşan uygulamalar
  • İki ayrı native uygulamayı taşıyacak bütçesi olmayan ama iki mağazada da bulunmak isteyen işletmeler
  • Arkasında bir yönetim paneli ve sunucu bulunan, uygulamanın bu sistemin telefondaki yüzü olduğu yapılar

İskenderun’da paket servis yapan bir lokanta ya da sadakat programı kurmak isteyen bir mağaza için bu profil tanıdıktır: müşteri sipariş verir, bildirim alır; işletme siparişi panelden yönetir. Uygulama tek başına bir vitrindir; siparişlerin düştüğü paneli ve sunucu tarafını işletmeye özel yazılım olarak ayrıca planlamak gerekir.

Flutter’dan uzak durulacak durumlar

  • Uygulamanın asıl değeri tek bir platformun özel özelliğindeyse: saat uygulamaları, araç sistemleri, ileri düzey arka plan işleri gibi
  • Uygulama boyutunun mümkün olduğunca küçük olması kritikse; Flutter kendi motorunu da pakete koyduğu için en sade native uygulamadan biraz daha büyük olur
  • Elinizde zaten geniş bir React ve JavaScript birikimi varsa; bu durumda React Native mevcut ekibinize daha yakın olabilir
  • İhtiyacınız aslında telefonda iyi çalışan bir web sayfasıysa; o zaman uygulama mağazası, inceleme ve güncelleme yükünü hiç üstlenmemek daha akıllıca olur

Dart’ı kim bilir? Devir ve bakım sorusu

Dart, Flutter dışında pek kullanılmayan bir dildir. Öğrenmesi kolaydır; JavaScript, Java ya da C# bilen bir geliştirici rahatça uyum sağlar. Yine de piyasada Dart bilen geliştirici, JavaScript bilene göre azdır. Uygulamanın ileride başka bir ekibe geçme ihtimali varsa kodun okunaklı ve belgelenmiş olması, sizin hesabınızdaki bir kod deposunda durması daha da önem kazanır.

Bakımda ise Flutter’ın kendisi, kullanılan eklentiler ve iki işletim sistemi birlikte değişir. İşletim sistemleri yenilendikçe projeyi Flutter’ın güncel sürümüne taşımak düzenli bir iştir. Uzun süre dokunulmamış bir projeyi güncellemek, düzenli bakılmış bir projeye göre çok daha zahmetlidir; bakım kapsamını yayından önce konuşun.

Karar için kısa bir sınama

Şu üç soruya “evet” diyorsanız Flutter güçlü bir adaydır: müşterileriniz hem Android hem iPhone kullanıyor mu, uygulamanın görünümü markanıza özel olmalı mı, uygulama ağırlıklı olarak ekran, form ve bildirimden mi oluşuyor? Sorulardan biri “hayır” ise bu Flutter’ı elemez, yalnızca diğer seçeneklerle yan yana tartmanız gerektiğini gösterir.

Hangi araç seçilirse seçilsin teslimde aynı şeyleri isteyin: kaynak kodun tamamı, iki mağaza hesabının işletme adına açılmış olması, sunucu ve panel erişimi, uygulamanın nasıl derlenip yayınlandığını anlatan kısa bir not. Flutter projesinde bu not özellikle önemlidir; çünkü hangi eklentinin neden kullanıldığını bilmeyen biri, güncelleme sırasında hangisinin sorun çıkardığını kolay bulamaz.

Fikirden mağazaya giden yolun bütününü İskenderun’da mobil uygulama geliştirme yazısında adım adım anlattık. Hangi aracın size uyduğunu konuşmak isterseniz mobil uygulama sayfasından kapsamı inceleyip bizi arayabilirsiniz.

Okumaya devam edin

İlgili yazılar

Fiyat ve teklif

Fiyat için bizi arayın.

Fiyatı telefonda veriyoruz. Uygulama yapılacak yerin fotoğrafını ve yaklaşık ölçüsünü önceden gönderirseniz görüşme çok daha kısa sürer; net ölçü gereken işlerde yerinde keşif planlarız.

  • Cephe, vitrin veya aracın fotoğrafı
  • Yaklaşık en ve boy ölçüsü (cm ya da m)
  • Varsa logo ve yazılacak metin
Hemen Ara WhatsApp Teklif Al