
Salah satu alasan utama mengapa Flutter begitu populer adalah kemampuannya untuk membuat tugas yang kompleks menjadi sederhana. Periksa mode build aplikasi Anda adalah salah satu hal yang dibutuhkan pengembang di hampir setiap aplikasi. Kami membutuhkannya untuk secara dinamis menyetel Titik Akhir API untuk mode Debug dan Rilis, Memblokir beberapa fitur yang sedang dikembangkan, dan bahkan memodifikasi analitik berdasarkan mode yang kami gunakan.
Jadi, bagaimana tepatnya kita bisa melakukannya di Flutter? 🤔 Nah, Flutter dengan paket “ fondasi ” memberi kita konstanta berikut:
- kReleaseMode
- kProfileMode
- kDebugMode
Kita dapat menggunakan ketiga konstanta ini untuk mendeteksi mode di mana kita ingin kode kita menjadi dinamis. Dalam kebanyakan kasus, Anda ingin menggunakan konstanta “ kReleaseMode ”. Ini hanya disetel ke true ketika aplikasi dibuat menggunakan flag — release. Mari kita lihat ini dengan sebuah contoh:
Contoh:
Berikut adalah kode untuk kelas URLController yang dapat kita gunakan untuk menentukan titik akhir API dan rute masing-masing untuk berbagai permintaan:
import 'package:flutter/foundation.dart';
class URLController {
static const String _debugEndpoint ="https://localhost:3000";
static const String _productionEndpoint ="https://retroportalstudio/api";
static const String _endpoint = kReleaseMode?_productionEndpoint:_debugEndpoint;
static const login = _endpoint + "/authenticate";
static const profile = _endpoint + "/profile";
}
Dalam hal ini, Anda dapat melihat bahwa kami memiliki dua titik akhir "debugEndpoint" yang harus kami gunakan untuk tujuan pengembangan, dan "productionEndpoint" yang harus kami gunakan untuk pembuatan aplikasi produksi. Jadi untuk memilih di antara ini, kami membuat konstanta ketiga dan untuk nilainya, kami menggunakan konstanta kReleaseMode dari paket yayasan (diimpor di atas) untuk memeriksa apakah aplikasi kami berjalan dalam mode rilis, dan berdasarkan itu kami menetapkan nilai dari _titik akhir . Kemudian kami menggunakan _endpoint sebagai API Endpoint untuk rute permintaan kami yaitu login dan profil.
Sekarang jika kita menjalankan aplikasi untuk menampilkan URL login dengan kode berikut:
return Scaffold(
appBar: AppBar(
title: Text("Mode"),
),
body: Center(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 50.0),
child: Text("${URLController.login}" ,style: TextStyle(fontSize: 25),),
),
),
);
Kami melihat hasil berikut:

