Flutter ile Proje Geliştirme
PM, UI, Backend, Flutter
PM - Project_Manager
- Projeye başlarken bir PM'in neler bilmesi gerektiğini öğren.
- Elimde neler var?
a. Theme \"dark and light\" kolaylığı.
b. UI KIT kolaylığı.
- Neler yapılmış? Araştır.
a. https://itsallwidgets.com sitesinden neler yapılmış, hangi uygulamalar ne şekilde oluşturulmuş, widget'lar nasıl yapılmış gör.
b. UI tasarımlarını iyi düşünerek projeye başla.
Tasarım-UI
Uygulamanın 'component' setinin önceden hazırlanması çok önemli. Hazırda dursun. Tasarım işinin önceden bitirilmesi faydalı olur. Zeplin öğren ;
Flutter plugin'inini Zepline ekle!
- Styleguide:
a. Color palette
b. Text Style Catalog
c. Spacing and Layout
d. Component
- Tasarımcı olarak çalışmalarını Iphone_8'e göre hazırla.
- Çentiksiz ekranlar tasarım açısından daha uyumlu.
- Ekran ve Widget'lar için en-boy oranlarının nasıl ayarlanması gerektiğini HardwareAndro kanalından öğren.
- Elle en-boy-boşluk vs değerleri verme. Bunun için en kötü yüzdesel mantık kullan ya da MediaQuery ya da pub.dev'den flutter_screenutil paketini kullan.
- Figma'da flowlar kullan. Hangi ekran-buton nereye gidecek belli olsun.
Back-End
- Database işlerini nasıl yapacağız önce buna karar ver?
Database için iki farklı bakış açısı var:
1️⃣ FireBase Kullan
- Sunucu maliyeti düşük. ✅
- Security derdi yok. ✅
- No-Sql yapısı var. ⁉️
- Search embeded olarak gelmiyor. (Elasticsearch ile search işlerini yapabilirsin.) ⚠️
2️⃣ Kendi Backend'ini Yaz
(Node.js - Go - Django - Spring - .Net vb kullan...)
- Sunucu maliyeti ilk zamanlar yüksek.💰
- Daha uzun zaman alabilir. ⏳
- Güvenlik işleri zor. 🔐
- Devops tutmak gerekebilir. 👨🏻💻
- Sunucu - Publishing - Security işlerine biraz hakim olmak gerekli. ❌
- Her şey senin elinde, daha özgür hareket edebilirsin. ✅
- Seraching embeded değil, doğrudan query yap kullan Firebase'e göre daha zor ama daha işlevsel. ✅
- Büyük projeler için ve kendini geliştirmek için daha faydalı. ✅
- Zaman içinde maliyet avantakı oluşuyor. ✅
Flutter
HardwareAndro kanalındaki videoları izle ve vb10.dev sitesinden \"Ana Kısım\" bölümünü iyice oku.
pub.dev sitesindeki önmeli paketleri kullan.
- Localization için: easy_localization kullan.
- State Managment için: mobx kullan.
- Kendini geliştir ve bunların üzerine bloc ekle/öğren.
- Animasyonlar için: animations kullan
- Ekran boyutlandırma için: flutter_screenutil kullan Routing içi: Veli Hoca'yı bekle, paket yazıyor.
🫧 Projeyi temiz tut:
- vb10.dev'den projeyi temiz tutmakla alakalı yazıları oku:
- Tema kullanımı 🎨
- Saklama(cache) 💾
- Çoklu dil(multi language) 🇹🇷🇬🇧
- Hive kullan ✅
- Unit testleri yaz. ( ne olduğunu bilmiyorum )
- Service testleri yaz. ( ne olduğunu bilmiyorum )
- Tema yönetimi yap. (Custom tema yaz)
- Widget'ları modüler ve atomic yap. Widget catalog oluştur.
- Bir sayfada max. 200 satır kod olsun. Fazlaysa parçala, widget'ları dışarı çıkar.
- Dart Lang Tutorial'ı mutlaka oku.
- 'Flutter Apperantive' kitabını oku.
- dart.dev'den Effective Dart bölümünü oku.