Kamis, 27 Oktober 2022

FLUTTER-pengertian

 

Apa Itu Flutter? Ini Dia Kelebihan dan Kekurangannya

Apa Itu Flutter? Ini Dia Kelebihan dan Kekurangannya

Bagi yang berkecimpung di pembuatan aplikasi, kamu mungkin sudah mengenal apa itu flutter. Flutter adalah satu framework pembuatan aplikasi yang paling banyak diminati oleh para pengembang aplikasi. Tak hanya untuk Android, flutter juga bisa digunakan untuk membuat aplikasi berbasis iOS. 

Banyak perusahaan besar yang mengembangkan aplikasinya dengan Flutter, contohnya Grab, Tencent, Toyota, Ebay, BMW, dan Alibaba. Hal ini membuat daya tarik sendiri bagi para pengembang aplikasi untuk mencoba Flutter.

Sebenarnya, apa itu Flutter? Apakah layak untuk dicoba bagi yang masih pemula? Jika kamu penasaran dengan framework yang satu ini, mari simak penjelasan mengenai Flutter berikut!

Baca juga : Rekomendasi Framework PHP Terbaik untuk Web Developer

Apa Itu Flutter?

flutter

Flutter adalah framework  bersifat open source yang dikembangkan oleh Google untuk membangun aplikasi multi-platform hanya dengan satu codebase. Hasil dari pengembangan aplikasi menggunakan Flutter bisa berupa aplikasi Android, iOS, Desktop, dan Website. Flutter memiliki dua komponen penting yang harus kamu ketahui, Software Development Kit (SDK) dan Framework User Interface.

Software Development Kit (SDK) merupakan tools-tools yang berfungsi untuk membuat aplikasi agar bisa dijalankan di berbagai platform. Sedangkan Framework User Interface adalah komponen seperti teks, tombol, dan lainnya yang dapat dikustomisasi sesuai kebutuhan kamu.

Bahasa Pemrograman yang Dipakai Flutter

Bahasa pemrograman yang digunakan di Flutter adalah Dart. Jika kamu ingin mempelajari Flutter, maka kamu harus pelajari terlebih dahulu mengenai bahasa pemrograman Dart. Sama seperti Flutter, Dart merupakan bahasa pemrograman yang bersifat open source.

Dengan menguasai Dart, maka kamu akan lebih mudah mempelajari Flutter dan pembuatan aplikasi kamu akan lebih hemat waktu. Karena hanya dengan satu codebase kamu bisa membuat aplikasi multi-platform.

Baca juga : 10 Bahasa Pemrograman Paling Populer di Dunia

Bagaimana Cara Kerja Flutter?

Cara kerja Flutter yang praktis dianggap membuat pekerjaan menjadi lebih efisien. Maka dari itu, tak sedikit developer yang menggunakan framework satu ini. 

Berikut cara kerja Flutter dalam platform iOS dan Android

  1. Saat menginstal Flutter Software Development Kit (SDK), kamu akan mendapatkan paket yang berisikan Command-line tools dan Dart DevTools untuk pengetesan, debugging dan kustomisasi aplikasi.
  2. Proses pengembangan aplikasi dilakukan dengan widget dan kode Dart yang disediakan dalam framework.
  3. Bagi platform Android, kode yang ditulis akan dikompilasi dengan mesin C dan C++ menggunakan Android NDK. Kemudian kerangka kode ini nantinya akan dibentuk dalam kode native yang dikompilasi lagi menggunakan Dart Compiler. 
  4. Pada iOS, kode akan dikompilasi dengan LLVM (Low-Level Virtual Machine) dan mobile apps dijalankan dengan kumpulan instruksi native tanpa interpreter/penerjemah.
  5. Aplikasi bisa dijalankan di berbagai platform setelah kode berhasil disesuaikan.

Kenapa Harus Menggunakan Flutter?

Dalam dunia framework, Flutter tergolong framework yang masih baru. Terlebih jika dibandingkan dengan Xamarin, Cordova, dan React Native. Namun, terdapat beberapa alasan mengapa harus memilih menggunakan Flutter. Cek di bawah ini ya!

Kelebihan Flutter

Berikut beberapa kelebihan Flutter :

  • Meningkatkan produktifitas: Dalam mengembangkan aplikasi berbasis Android dan iOS, kamu hanya perlu satu codebase. Hal ini membuat kamu lebih menghemat waktu serta TIM.
  • Mudah dipelajari. Flutter merupakan framework yang mudah dipelajari. Selain itu, Flutter juga memungkinkan pengembang aplikasi untuk membangun aplikasi tanpa menggunakan banyak kode seperti di framework lainnya.
  • Performa framework yang bagus
  • Biaya pembuatan yang efektif. Membuat dua aplikasi (Android dan iOS) dengan menggunakan satu codebase tentu dapat lebih menghemat biaya pembuatan aplikasi.
  • Tersedia di berbagai pilihan aplikasi IDE (Integrated Development Environment). Kamu bisa memilih untuk mengembangan aplikasi (Flutter) dengan menggunakan Android Studio, ataupun dengan VS Code.
  • Dokumentasi yang lengkap dan komunitas yang aktif. Kamu bisa membuka dokumentasinya melalui situs resmi Flutter. Selain itu, kamu juga bisa bergabung di komunitas untuk berdiskusi dengan sesama pengguna Flutter.

Kekurangan Flutter

Setelah mengetahui beberapa kelebihan Flutter, mari kita lihat juga beberapa kekurangan dari Flutter berikut ini :

  • Library pihak ketiga masih terbatas. Flutter merupakan framework yang tergolong baru, sehingga librarynya pun masih sedikit.
  • Ukuran aplikasi. Aplikasi yang dihasilkan memiliki ukuran yang lebih besar dibanding dengan tanpa framework (native).
  • Perlu belajar bahasa baru. Jika ingin menggunakan Flutter, maka kita harus mempelajari bahasa Dart terlebih dahulu.

FLUTTER-geolokasi

 

Tutorial Flutter – Membuat Aplikasi Android Menggunakan Geolocator Dan Geocoding

Hai semuanya pada artikel kali ini kita akan mempelajari tentang geolocator untuk mendapatkan longitude dan latitude, serta kita akan mencoba mendapatkan alamat dari longitude dan latitudenya. Untuk mendapatkan alamat dari longitude dan latitude kita akan menggunakan plugin Geocoding.

Project Baru Flutter

membuat project baru pada flutter bisa menggunakan terminal atau visual studio code

flutter create fluttergeo

Tambahkan Dependency yang diperlukan Pada File pubspec.yaml

geolocator: ^9.0.0 
geocoding: ^2.0.4

Setting Permission Pada Flutter

Kita perlu menambahkan permission di dalam android/app/src/main/AndroidManifest.xml.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Mendapatkan Latitude Dan Longitude

Untuk mendapatkan latitude dan longitude terapkan code di bawah ini :

String location = 'Belum Mendapatkan Lat dan long, Silahkan tekan button';
String address = 'Mencari lokasi...';
//getLongLAT
Future<Position> _getGeoLocationPosition() async {
bool serviceEnabled;
LocationPermission permission;
serviceEnabled = await Geolocator.isLocationServiceEnabled();
//location service not enabled, don't continue
if (!serviceEnabled) {
await Geolocator.openLocationSettings();
return Future.error('Location service Not Enabled');
}
permission = await Geolocator.checkPermission();
if (permission == LocationPermission.denied) {
permission = await Geolocator.requestPermission();
if (permission == LocationPermission.denied) {
return Future.error('Location permission denied');
}
}
//permission denied forever
if (permission == LocationPermission.deniedForever) {
return Future.error(
'Location permission denied forever, we cannot access',
);
}
//continue accessing the position of device
return await Geolocator.getCurrentPosition(
desiredAccuracy: LocationAccuracy.high,
);
}

Menambahkan Ui Geolocator Pada Flutter

Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'Koordinat Point',
              style: TextStyle(
                fontSize: 22.0,
                fontWeight: FontWeight.bold,
              ),
            ),
            SizedBox(
              height: 10.0,
            ),
            Text(
              location,
              style: TextStyle(
                fontSize: 12.0,
                fontWeight: FontWeight.bold,
              ),
            ),
            
            ElevatedButton(
              onPressed: () async {
                Position position = await _getGeoLocationPosition();
                setState(() {
                  location = '${position.latitude}, ${position.longitude}';
                });
               
              },
              child: const Text('Get Koordinat'),
            ),
          ],
        ),
      ),

Output Latitude Dan Longitude

WhatsApp Image 2022 07 04 at 08.33.27
Hasil pertama

lalu kita klik izinkan untuk mengaktifkan GPS

WhatsApp Image 2022 07 04 at 08.34.23
hasil kedua
WhatsApp Image 2022 07 04 at 08.34.02
output latitude dan longitude

Get Alamat

Untuk mendapatkan alamat dari latitude dan longitude yang telah di hasilkan, tambahkan code di bawah ini :

Future<void> getAddressFromLongLat(Position position) async {
    List<Placemark> placemarks =
        await placemarkFromCoordinates(position.latitude, position.longitude);
    print(placemarks);
    Placemark place = placemarks[0];
    setState(() {
      address =
          '${place.street}, ${place.subLocality}, ${place.locality}, ${place.postalCode}, ${place.country}';
    });
  }

UI Geocoding Flutter

Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'Koordinat Point',
              style: TextStyle(
                fontSize: 22.0,
                fontWeight: FontWeight.bold,
              ),
            ),
            SizedBox(
              height: 10.0,
            ),
            Text(
              location,
              style: TextStyle(
                fontSize: 12.0,
                fontWeight: FontWeight.bold,
              ),
            ),
            const SizedBox(
              height: 20.0,
            ),
            const Text(
              'Address',
              style: TextStyle(
                fontSize: 22.0,
                fontWeight: FontWeight.bold,
              ),
            ),
            SizedBox(height: 10.0,),
            Text('${address}'),
            ElevatedButton(
              onPressed: () async {
                Position position = await _getGeoLocationPosition();
                setState(() {
                  location = '${position.latitude}, ${position.longitude}';
                });
                getAddressFromLongLat(position);
              },
              child: const Text('Get Koordinat'),
            ),
          ],
        ),
      ),

Sisipkan code yang ditebalkan, pada code sebelumnya.

Output Final

WhatsApp Image 2022 07 04 at 08.06.04 1
Output menampilkan alamat berdasarkan latitude dan longitude

Untuk artikel kali ini sampai disini dulu, untuk source code lengkapnya ada di link bawah ini:

https://github.com/belajarflutter-com/fluttergeo

Sumber

https://pub.dev/packages/geolocator

https://pub.dev/packages/geocoding