Cheatsheet Flutter (Dart)
Beberapa konstruksi dasar bahasa Dart yang dijelaskan
Berikut adalah cheatsheet Flutter (Dart) dengan perintah dan konstruksi bahasa yang paling berguna:
Di atas adalah gambar yang dihasilkan oleh AI (dengan model Flux 1 dev) dari seorang pengembang yang sedang memainkan flute dan darts.
Perintah CLI Flutter
Membuat proyek Flutter baru:
flutter create <project_name>
Menjalankan aplikasi Flutter:
flutter run
Membangun APK versi rilis:
flutter build apk
Menganalisis kode Dart:
flutter analyze
Menjalankan tes:
flutter test
Mengambil paket:
flutter pub get
Mengupgrade Flutter:
flutter upgrade
Memeriksa instalasi Flutter:
flutter doctor
Konstruksi Bahasa Dart
Variabel dan Tipe Data:
int age = 30;
double price = 9.99;
String name = 'John';
bool isActive = true;
var dynamicVar = 'Bisa berupa tipe apa pun';
final constantVar = 'Tidak bisa diubah ulang';
const compiletimeConstant = 'Konstanta waktu kompilasi';
Null Safety:
String? nullableString;
String nonNullableString = 'Hello';
Fungsi:
void simplePrint() {
print('Hello');
}
int add(int a, int b) => a + b;
void namedParams({required String name, int? age}) {
// Tubuh fungsi
}
void optionalParams(String name, [int? age]) {
// Tubuh fungsi
}
Alur Kontrol:
if (condition) {
// kode
} else if (anotherCondition) {
// kode
} else {
// kode
}
for (var i = 0; i < 5; i++) {
// kode
}
while (condition) {
// kode
}
switch (variable) {
case value1:
// kode
break;
default:
// kode
}
Daftar dan Peta:
List<int> numbers = [1, 2, 3];
Map<String, int> ages = {'Alice': 30, 'Bob': 25};
Kelas:
class Person {
String name;
int age;
Person(this.name, this.age);
void sayHello() {
print('Hello, saya $name');
}
}
Pemrograman Asinkron:
Future<void> fetchData() async {
try {
var result = await someAsyncOperation();
print(result);
} catch (e) {
print('Error: $e');
}
}
Stream:
Stream<int> countStream(int max) async* {
for (int i = 0; i < max; i++) {
yield i;
}
}
Pengelolaan Kesalahan:
try {
// Kode yang mungkin memunculkan pengecualian
} on SpecificException {
// Menangani pengecualian spesifik
} catch (e) {
// Menangani pengecualian apa pun
} finally {
// Selalu dieksekusi
}
Cheatsheet ini mencakup perintah Flutter dan konstruksi bahasa Dart yang paling esensial, memberikan referensi cepat bagi pengembang Flutter.
Null Safety dalam Flutter / Dart
Mengelola null safety dalam Dart untuk aplikasi Flutter sangat penting untuk menulis kode yang kuat dan bebas kesalahan. Berikut adalah panduan sederhana tentang cara bekerja dengan null safety:
Mendeklarasikan Variabel
Variabel non-null:
int age = 30;
String name = 'John';
Variabel null:
int? nullableAge;
String? nullableName;
Bekerja dengan Tipe Null
Operator null-aware:
- Operator akses null-aware (?.)
String? name;
print(name?.length); // Akses aman panjang jika name tidak null
- Operator null-coalescing (??)
String? name;
String displayName = name ?? 'Guest';
- Operator penugasan null-aware (??=)
String? name;
name ??= 'John'; // Tetapkan 'John' jika name null
Operator asersi null (!) Gunakan operator ini dengan hati-hati, karena dapat menyebabkan kesalahan runtime jika nilai null:
String? nullableName = 'John';
String nonNullableName = nullableName!;
Analisis Alur
Analisis alur Dart membantu menentukan kapan variabel null aman digunakan:
String? getName() => 'John';
void printName() {
String? name = getName();
if (name != null) {
print(name.length); // Aman menggunakan name di sini
}
}
Variabel Late
Gunakan late
untuk variabel non-null yang diinisialisasi setelah deklarasi:
late String lateInitializedName;
void initializeName() {
lateInitializedName = 'John';
}
Menangani Parameter Null
void greet(String name, {String? title}) {
if (title != null) {
print('Hello, $title $name');
} else {
print('Hello, $name');
}
}
Bekerja dengan Koleksi
Daftar null:
List<String>? nullableList;
List<String?> listOfNullableStrings = ['Hello', null, 'World'];
Menyaring nilai null:
List<String?> mixedList = ['a', null, 'b', null, 'c'];
List<String> nonNullList = mixedList.whereType<String>().toList();
Dengan mengikuti praktik-praktik ini, Anda dapat mengelola null safety dalam aplikasi Dart dan Flutter Anda secara efektif, mengurangi risiko kesalahan terkait null dan meningkatkan kualitas kode secara keseluruhan.
Tautan yang Berguna
- Mengdockerisasi aplikasi Flutter Web dengan pembuatan Flutter dan Nginx yang didockerisasi
- Menginstal Flutter
- Proyek Flutter dengan backend AWS Amplify
- Mendeploy proyek Flutter dengan backend ke AWS Amplify
- Memperbaiki kesalahan Flutter pada AWS Amplify: [WARNING] fatal Not a valid object name origin/master