Apa Itu Flutter?
Flutter adalah UI toolkit open‑source dari Google untuk membangun aplikasi native lintas platform — Android, iOS, Web, bahkan desktop — dengan satu basis kode Dart. Semua elemen UI dirender oleh engine Skia, sehingga tampilan konsisten di semua perangkat.
Kenapa Harus Flutter?
- Pengembangan cepat – Hot Reload mempercepat iterasi UI.
- Satu kode, banyak platform – Hemat waktu & biaya.
- Performa native – Compile ke ARM & x86, tidak ada bridge JavaScript.
- Ekosistem kaya – Ribuan paket di pub.dev, support IDE kuat.
Contoh Kode Pertama: Hello World
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Center(
child: Text('Hello, Flutter!'),
),
),
);
}
}
Jalankan dengan flutter run pada emulator atau perangkat fisik.
Contoh Widget Stateful: Counter
import 'package:flutter/material.dart';
void main() => runApp(const CounterApp());
class CounterApp extends StatelessWidget {
const CounterApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: CounterPage(),
);
}
}
class CounterPage extends StatefulWidget {
const CounterPage({super.key});
@override
State<CounterPage> createState() => _CounterPageState();
}
class _CounterPageState extends State<CounterPage> {
int _count = 0;
void _increment() => setState(() => _count++);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Counter')),
body: Center(child: Text('Count: $_count', style: const TextStyle(fontSize: 24))),
floatingActionButton: FloatingActionButton(onPressed: _increment, child: const Icon(Icons.add)),
);
}
}
Tekan tombol + untuk menambah angka. StatefulWidget memungkinkan UI memperbarui ketika state berubah.
CTA
Coba sendiri! Build aplikasi pertama dengan Flutter, share ke sosial media dan tag @ahsai001.