Flutter ile Mobil Uygulama Geliştirme
Markanıza özel, iki platformda aynı görünen arayüzleri Flutter ile tek kod tabanından geliştiriyoruz; Flutter'ın projenize uymadığı durumda bunu da baştan söylüyoruz.
Vevona, İzmir'deki ekibiyle Google'ın Flutter araç takımını kullanarak tek kod tabanından iOS ve Android uygulaması geliştiriyor. Flutter; iki platformda birebir aynı görünmesi gereken, animasyonu yoğun ve markaya özel tasarımlı uygulamalar için güçlü bir seçenek. Flutter ile React Native arasındaki kararı keşif aşamasında projenin ihtiyacına göre veriyoruz.
Hizmetin Öne Çıkanları
Tek kod, iki platform
Dart ile yazılan tek kod tabanından iOS ve Android uygulaması.
Markaya özel arayüz
Figma'daki tasarım iki platformda aynı renk, yazı tipi ve animasyonla görünür.
Derlenmiş performans
Yayın sürümünde makine koduna derlenen Dart ve Flutter'ın kendi çizim motoru.
Grafik ve gösterge ekranları
Rapor, izleme ve gösterge panelleri için akıcı, özel çizimli ekranlar.
Native bağlantılar
Hazır paketi olmayan donanım ve servisler için Swift ve Kotlin ile platform kanalları.
Paket denetimi
pub.dev paketleri bakım durumuna, yayıncısına ve açık hatalarına bakılarak seçilir.
Çalışma Akışımız
Şeffaf, ölçülebilir ve zaman çizelgesi belli bir teslim süreci.
Flutter mı React Native mi
Tasarım ihtiyacı, ekip, web ile kod paylaşımı ve bakım planına göre karar verilir.
Tasarım
Markaya özel bileşen seti ve ekranlar Figma'da hazırlanır; iOS ve Android farkları belirlenir.
Geliştirme
İki haftalık dönemler; her dönemin sonunda iki platformda test sürümü.
Beta ve yayın
TestFlight ve Google Play kapalı test, ardından iki mağazaya başvuru.
Bakım
Flutter, iOS ve Android sürüm güncellemeleri ile çökme raporlarının takibi.
Flutter nasıl çalışır?
Flutter, Google'ın geliştirdiği açık kaynaklı bir arayüz araç takımı; uygulamalar Dart diliyle yazılır ve yayın sürümünde doğrudan makine koduna derlenir. En önemli farkı, ekranları telefonun hazır bileşenleriyle değil kendi çizim motoruyla çizmesi. Düğmeler, listeler ve geçişler iOS'ta da Android'de de aynı kodla, aynı biçimde çizilir.
Bunun iki sonucu var. Birincisi, tasarımcının Figma'da çizdiği ekran iki platformda da aynı görünür; marka renkleri, özel yazı tipleri ve animasyonlar platformdan platforma kaymaz. İkincisi, iOS'un ya da Android'in yeni sürümde getirdiği görsel değişiklikler uygulamaya kendiliğinden yansımaz. Uygulamanın her platformda o platforma ait gibi görünmesi isteniyorsa bu ayrıca tasarlanır; Flutter bunun için hem Material hem iOS görünümlü Cupertino bileşen setleriyle gelir.
Flutter mı, React Native mi?
Tasarımın iki platformda birebir aynı görünmesi ve yoğun animasyon önemliyse Flutter, web tarafınız React ile yazılmışsa ve sık güncelleme gerekiyorsa React Native daha uygun. İki araç da tek kod tabanından iki platforma uygulama çıkarır ve iyi yazıldığında kullanıcı aradaki farkı hissetmez. Kararı genellikle şu farklar belirliyor:
| Konu | Flutter | React Native |
|---|---|---|
| Dil | Dart | TypeScript ya da JavaScript |
| Arayüz | Kendi motoruyla çizilir, iki platformda aynı görünür | Telefonun kendi bileşenleriyle çalışır, platforma göre görünür |
| Web ekibiyle kod paylaşımı | Sınırlı | React kullanan ekiplerle iş mantığı paylaşılabilir |
| Mağaza onayı olmadan düzeltme | Yerleşik bir çözüm yok, üçüncü taraf servisler var | Expo EAS Update ile JavaScript düzeltmeleri |
| Tablet ve masaüstü | Aynı koddan masaüstü uygulaması da çıkabilir | Masaüstü için ek araçlar gerekir |
Örnek projelerimizden SafeFood'u React Native ve Expo ile geliştirdik.
Flutter'ın güçlü olduğu işler, dikkat edilecek noktalar
Flutter'ı özellikle şu işlerde öneriyoruz:
- Markaya özel, yoğun animasyonlu arayüzler: sadakat programı uygulamaları, oyunlaştırılmış kampanyalar, eğitim uygulamaları
- Grafik ve gösterge ağırlıklı ekranlar: raporlama ve izleme uygulamaları
- Aynı uygulamanın tablet ya da masaüstü sürümünün de planlandığı projeler
Karar verirken dikkat ettiğimiz noktalar:
- Web sürümü. Flutter web'e de çıktı verebilir, ama sayfaları arama motorlarının kolayca okuyacağı biçimde üretmez. Google'da bulunması gereken bir tanıtım sitesi için uygun değildir; uygulamanın yanındaki web sitesini ayrıca geliştiriyoruz.
- Paket seçimi. pub.dev'deki paketlerin bakım durumu birbirinden çok farklı. Ödeme, harita ya da bildirim gibi kritik işlerde son güncelleme tarihine, yayıncısına ve açık hata kayıtlarına bakarak seçiyoruz. Uygun paket yoksa ilgili bölümü platform kanalı üzerinden Swift ve Kotlin ile kendimiz yazıyoruz.
- Ekip sürekliliği. Dart, Flutter dışında az kullanılan bir dil. Uygulamayı ileride kendi ekibinizle sürdürmeyi planlıyorsanız bunu karara katıyoruz.
Süreç ve takvim
Flutter projeleri diğer mobil projelerimizle aynı akışta ilerliyor: keşif, Figma'da tasarım, iki haftalık geliştirme dönemleri, TestFlight ve Google Play kapalı test ile beta, ardından iki mağazaya başvuru. Tasarım aşamasında ekranlardan önce markaya özel bileşen setini, yani düğme, kart, form ve geçiş kurallarını hazırlıyoruz; Flutter'da bu set doğrudan koda karşılık geldiği için sonraki ekranlar daha hızlı ilerleyebiliyor.
Az ekranlı bir ilk sürüm yaklaşık 8 haftada, ödeme, yönetim paneli ve entegrasyon içeren uygulamalar 12 haftadan uzun sürede yayına çıkar. Google Play'in yeni kişisel hesaplardan istediği kapalı testin takvime etkisini native Android sayfamızda anlattık.
İzmir'de bir Flutter projesinin fiyatını neler belirler?
- Özel arayüz ve animasyon miktarı. Flutter'ın güçlü olduğu alan, tasarım ve geliştirme süresini en çok etkileyen alan da.
- Akış ve rol sayısı. Müşteri, yönetici, saha personeli gibi her rol ayrı ekranlar ister.
- Sunucu ve yönetim paneli. Firebase gibi hazır bir servis mi, size özel bir API mi?
- Native entegrasyonlar. Hazır paketi olmayan donanım ve servisler için platform kanalı yazmak.
- Hedef platformlar. Yalnız telefon mu, tablet ve masaüstü de mi?
Keşif görüşmesinden sonra bu kalemleri ayrı satırlarda gösteren bir teklif hazırlıyoruz. İsterseniz aynı kapsamı React Native ile de fiyatlandırıp iki seçeneği yan yana görmenizi sağlıyoruz.
Sık sorulan sorular
Flutter uygulaması native kadar hızlı mı?
Flutter mı React Native mi, hangisi daha iyi?
Flutter ile web sitesi de yapılabilir mi?
Mevcut uygulamamızı Flutter'a taşımak mantıklı mı?
Flutter uygulamasını mağazalara kim yüklüyor?
Yayından sonra bakım nasıl işliyor?
Bunlara da Göz Atın
Native iOS Uygulamaları
Swift ve SwiftUI ile iPhone, iPad ve Apple Watch için native uygulama; App Store başvurusu ve inceleme takibi dahil.
Detaylı bilgiNative Android Uygulamaları
Kotlin ve Jetpack Compose ile native Android uygulama; saha ve depo cihazları, Google Play kapalı test ve yayın dahil.
Detaylı bilgiReact Native
React Native ve Expo ile tek kod tabanından iOS ve Android; küçük düzeltmeler mağaza onayı beklemeden yayında.
Detaylı bilgiFlutter Konuşalım
30 dakikalık ücretsiz keşif görüşmesi için iletişime geçin — projenizi birlikte değerlendirelim.