Cheatsheet Flutter (Dart)

Beberapa konstruksi dasar bahasa Dart yang dijelaskan

Konten Halaman

Berikut adalah cheatsheet Flutter (Dart) dengan perintah dan konstruksi bahasa yang paling berguna:

developer memainkan flute dan darts 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:

  1. Operator akses null-aware (?.)
String? name;
print(name?.length); // Akses aman panjang jika name tidak null
  1. Operator null-coalescing (??)
String? name;
String displayName = name ?? 'Guest';
  1. 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