Flutter
Artikel ini dibuat oleh Kaesa Lyrih dalam mengerjakan project, yang berisikan masalah, tips, dan trik, dan beberapa saran praktik terbaik (best practice) yang ditemukan. Anda dapat mengikutinya atau membacanya sebagai hiburan.
Gunakanlah fvm
(Flutter Version Manager) supaya mudah dalam berganti-ganti versi flutter. Ini mirip dengan nodejs
saya lebih baik menggunakan nvm
untuk mengelola versi nodejs
pada perangkat kerja saya.
Karena saya menggunakan windows jadi saya menggunakan ini:
choco install fvm
Check apakah sudah terpasang dengan baik:
fvm --version
Pergi ke project flutter kalian, dan ketik perintah:
fvm use stable
Perintah di atas akan membuat berapa folder dan file configuration:
# Ini folder berisi symlink flutter sdk dll.
.fvm/
- fvm_config.json
# Ini adalah file konfigurasi
.fvrc
Oh yaa jangan lupa tambahkan .fvm/
pada .gitignore
. Karena tidak dibutuhkan oleh device lain. Yang penting itu adalah file .fvrc
ini berisi informasi SDK Flutter
apa yang digunakan.
Nah untuk mengecek bisa menggunakan perintah berikut:
fvm doctor
fvm flutter doctor
Default Flutter Installation​
flutter doctor -v
flutter clean
flutter upgrade --force # upgrade paksa
Membuat Proyek Flutter​
flutter create --org id.my.charapon --android-language kotlin --ios-language swift --platforms=web,android,ios kaesa_app
Build apk
​
flutter build apk
flutter build apk --obfuscate --split-debug-info=build/app/outputs/symbols
Build Runner​
build_runner watch
​
Selalu memantau perubahan, jadi tidak perlu menjalankan perintah build ulang.
Before:
flutter pub run build_runner watch --delete-conflicting-outputs
After:
dart run build_runner watch --delete-conflicting-outputs
build_runner build
​
Hanya sekali melakukan build, tanpa memantau perubahan yang terjadi ada kode, jadi lebih ringan. Tapi perlu menjalankan perintah build untuk mengimplementasikan perubahan.
Before:
flutter pub run build_runner build --delete-conflicting-outputs
After:
dart run build_runner build --delete-conflicting-outputs
Git​
Git Commit​
Sebelum commit sebaiknya fix import
terlebih dahulu sampai 3x. Shortcut: CTRL + LEFT SHIFT + P
nanti akan form search seperti ini > ...
lalu cari atau ketik > fix all imports
.
(feature) git checkout dev
(dev) git fetch --all
(dev) git pull --all
(dev) checkout profile
(profile) git rebase origin/dev # solusi selain migrate
resolve conflic via VSCode
(profile) git push -f
git log --oneline --graph
git checkout -b <nama-branch> # ganti branch + membuat branch baru
git checkout <nama-branch> # hanya ganti branch
Aturan penulisan branch untuk Kaesa:
- jika fiturnya tidak tergantung dengan perannya (role)
- feature/app
- jika fiturnya hanya dimiliki oleh user dengan peran (role) sebagai admin
- feature/admin/list-user
- feature/admin/edit-waste-price
- feature/admin/report
Package: Firebase​
Firebase membutuhkan flutter.minSdkVersion = 19
. Jadi ubah versinya pada path C:\Development\flutter\packages\flutter_tools\gradle
, temukan file yang namanya flutter.gradle
, buka dan ubah kode flutter.minSdkVersion = 16
menjadi 19
.
/** flutter/packages/flutter_tools/gradle/flutter.gradle */
static int minSdkVersion = 16 // Defaultnya
static int minSdkVersion = 20 // Diubah karena BLOC minimal itu 19.
/** flutter\packages\flutter_tools\gradle\src\main\groovy\flutter.groovy*/
/** Sets the minSdkVersion used by default in Flutter app projects. */
static int minSdkVersion = 19 // Default flutter versi 3.13.1
Package: flutter_gen​
fluttergen -c pubspec.yaml
Package: flutter_native_splash​
dart run flutter_native_splash:create
Clean Architecture​
Dari datasoruce
bisa local
atau remote
.
- local = offline atau database local
- remote = online atau api
lalu ke
repository
>usecase
>bloc
>page/form
.