Anda di halaman 1dari 5

Nama : Innatubil issa

NIM : 1915016080
Kelas : IF B 19
Matkul : Pemrograman Mobile
TUGAS MERANGKUM MATERI SEMINAR DI YOUTUBE

“GETTING STARTED WITH FLUTTER”

A. Mengenal Flutter
What is flutter?
Flutter adalah google's UI toolkit untuk membuat tampilan yang lebih cantik, membuat natively
compiled untuk mobile, web, dekstop dan embedded devices dengan single codebase. Flutter
sendiri menggunakan bahasa dart. Flutter telah menyediakan banyak widget catalog dengan UI
yang keren dan telah reaktif framework.
What is dart ?
Dart merupakan sebuah bahasa pemrograman berbasis objek oriented dengan menggunakan C-
style syntax. Selayaknya C-style syntax, dart ini bertipe "staticaly typed" yang dimana dalam
pengerjaannya kita harus mendefinisikan tipenya terlebih dahulu. Dart bersifat runtime
environtments dan telah support JIT & AOT compilation juga built in library.

B. Kenapa Harus Flutter?


Ada banyak alasan kenapa harus memakai flutter, diantaranya ialah :
1. UI yang tersedia pada flutter sangat keren dan konsisten untuk beberapa device dan
manufaktur,
2. Memiliki performance yang tinggi dan terasa natural di pemakaian berbagai platform,
3. Flutter telah up to 120 fps, dimana hal ini sangat efisien untuk keperluan UI,
4. Fast development - hot reload,
5. Flutter disupport dan digunakan oleh google, contohnya dalam penggunaan google ads,
6. Flutter dipercaya oleh banyak brand terkenal diseluruh dunia,
7. Flutter di maintenand oleh komunitas global developers, sehingga berpengaruh terhadap
pengembangan flutter yang cepat dan luar biasa.
C. Roadmap Menjadi Flutter Developer
1. Prerequisite
- Mengenal OOP Concept, jika sudah mengenal bahasa java/ atau kotlin pastinya akan
mudah banget dalam memahami flutter,
- Mengenal git,
- Menginstall flutter sdk dan IDE. Kita bisa memilih android studio/vs code (vs code
sangat recommended).

2. Start with basic


Hal basic yang harus kita kenal terlebih dahulu yaitu tentang :
- List
- Map
- Lambda function
- Await & async

3. Mencoba menjadi UI development


- Mencoba ambil desain UI dari dribble dan implementasikan secara sama/semirip
mungkin di flutter,
- Coba create clone app seperti wa clone, instagram clone, tiktok clone, dsb

4. Learn API Call


- Gunakan library yang ada di flutter seperti http, dio, retrofit, chopper, dkk. Untuk
pemula disarankan menggunakan dio/http,
- Untuk melatih skill kalian, cobalah gunakan fake API di
(https://jsonplaceholder.typicode.com/)

5. Pelajari database integration, bisa secara lokal ataupun remote.


- Firebase, jika ingin remote database dan non SQL,
- Sqlflite, jika ingin lokal database dan menggunakan SQL,
- Hive, jika ingin lokal database tanpa menggunakan SQL,
- Etc.

6. Belajar state management, dengan menggunakan :


- Provider,
- BLoC(recommended)
- Riverpod
- Getx
- Etc

7. Pelajari project structure atau architecture (untuk advance)


- Bisa menggunakan MVVM, MVC, TDD, etc
- Terapkan juga dengan SOLD pattern dan KISS pattern (untuk clean code)
- Pelajari depedency injection atau service locator.
- Bisa scallable dan codenya reusability (dipakai berulang-ulang)
D. Widget Dalam Flutter
What is widget?
Widget untuk membuat blocks of UI di flutter, bahkan Appnya juga menggunakan widget.
Advanced widget dibuat dari kombinasi basic widget hingga bisa menjadi UI element, layout
element dan new screens.
Dalam flutter, kita akan mempelajari mengenai :
- Widgets tree,
- Widgets catalog (terdapat cara pemakaian widget secara lengkap),
- Statelesswidget,
ada 2 macam bentuk pembuatan statelesswidget. yaitu immutable(tidak bisa diubah data
dibawahnya, bersifat sekali build dan tidak dapat dirubah) dan dapat dimasukkan parameter
pada widget, tetapi hanya sekali dan tidak bisa diproses ulang.
- Lifecyle dari statelesswidget hanya 2, yaitu initialization dan build()
- Statefullwidget,
memiliki state dan bisa dirubah di lifecyle widgetnya (bisa ngebuild lagi)
Statefullwidget-State,
- Statenya dapat memberikan kita informasi bagaimana berinteraksi dengan widgetnya untuk
behaviornya ataupun layoutnya.
- Semua data yang diubah akan ketrigger dan ngebuild lagi.
- State ini diasosiasikan untuk buildwidgetnya(context)
Statefullwidget-Lifecycle
- initState()
- didchangedepedencies(), dimana disini kita bisa mengatur state mana aja yang bakal di rebuild
- build(), akan ngebuild widgetnya
- dispose(), dipakai ketika widgetnya tidak terpakai lagi

Flutter sudah support native plugins. Ada banyak library dari flutternya sendiri atau komunitas
yang tersedia sehingga kita bisa mengakses native API seperti bluetooth, geolocatin, shared
preference(untuk menyimpan data di localnya android) dan juga sudah official dan community
driven plugins available, jadi kita tidak perlu membuat ulang karena sudah ada. Dalam flutter kita
bisa menambah package jika available atau bisa buat sendiri.

E. Depedency Management
Flutter sudah menyediakan depedency management officialnya di https://pub.dev
Disini ada banyak banget library yang bisa dipakai, ada pub package manager dan juga official
site. Disini juga kita bisa menggunakan Git repo untuk custom dependencies.
GETTING STARTED
A. Menginstall flutter
Pertama, kita ke web resmi flutter untuk menginstall, lalu memilih mendownload untuk os apa.
Flutter sendiri bisa didownload pada os seperti windows, linux dan juga macos. Untuk flutter,
sangat direkomendasikan menginstall versi macos (pengguna macbook) namun tidak menutup
pengguna windows untuk tidak belajar penggunaan flutter, walaupun hanya available untuk
android.
Situs web resminya di https://docs.flutter.dev/get-started/install/macos lalu klik button
flutter_macos_2.10.2-stable.zip (versi terbaru). Selanjutnya ikuti langkah selanjutnya dalam
penginstalan yang dijelaskan dalam web resminya.

B. Getting Started Selanjutnya,


- Masukkan flutter/bin dalam PATH,
- Jalankan 'flutter doctor'nya dan cek langkah selanjutnya,
- Setup platformnya (android/ios),
- Lalu setup IDE (pilih android studio/ VS code, recommendednya vs code),
- Install pluginnya pada IDE kita (flutter dan dart).

C. Create a New Flutter App


- Pertama buat dulu workspace directorynya lalu masuk ke dalam workspace directory,
- Selanjutnya komen 'flutter create' command untuk membuat sebuah aplikasi flutter,
- Buka IDE projectnya.

Catatan dalam building layout :


- Pertama kita diagram dulu layoutnya
- Dalam pembuatan background image bisa dibuat dengan menggunakan stack untuk
membedakan/memisahkan agar backgroundnya dibelakang dan card portfolionya berada
di depan.
CATATAN MENGENAI FLUTTER

- Kelebihan dan kekurangan dari flutter :


Kelebihan flutter dibanding platform lain ialah flutter telah disupport oleh google sehingga
akan terus di maintenand. Usia flutter masih muda, kita bisa lebih terlihat modern dan
banyak mengeksplor lebih mengenai flutter.
Kekurangannya dari segi device, kalau devicenya kurang mumpuni bakal lumayan lama
interupsinya.

- Apakah bisa pakai emulator ios di windows dengan flutter?


Untuk user windows belum bisa, baru bisa untuk pengguna mac.

- Bagaimana cara supaya gak overlow terutama saat di web?


Hindari penyebab dari overlow sendiri, seperti kolom yang kepanjangan ke bawah atau
teks yang panjang kesamping tanpa pembatas (row)

- Apakah flutter untuk web sudah stabil untuk production?


Sudah stabil mulai versi 2.5

- Dependencies apa yang paling susah digunakan dan harus selalu dipakai pada flutter?
Semua dependencies ada dokumentasinya di web resmi. Seperti get it, block untuk state
management dan cache network image.

- beberapa widget dibuat dengan menggunakan keyword 'const', apa pengaruh dari
penggunaan keyword tersebut dan kapan harus digunakan?
Saat menambah 'const' supaya nantinya ada aware kalau widgetnya tidak 'const' dan agar
tidak terikut rebuild sehingga bisa meningkatkan performanya.

- Apakah dart/flutter bisa digabungkan dengan bahasa lain seperti css/sass?


Sayangnya tidak, khusus menggunakan bahasa dart.

- Apakah disarankan menggunakan macos untuk mendeveloip menggunakan flutter?


Recommendednya menggunakan macos agar bisa membuild semuanya, baik ios, android
dan sbg. Menggunakan windows juga bisa, walaupun hanya bisa build untuk android.

- Pada tahun 2019, google masih merekomendasikan penggunaan kotlin untuk


pengembangan android, apakah ada kemungkinan beberapa tahun nanti flutter/dart akan
menggeser kotlin dalam pengembangan android?
Tidak, karena flutter tidak bisa berdiri sendiri tanpa kotlin ini untuk build android. Kotlin
adalah komponen terbaik untuk android bahkan untuk beberapa tahun kedepan.

- Bagaimana prospek market untuk flutter ini kedepannya?


Prospek marketnya akan besar banget. Bahkan untuk beberapa perusahaan sudah mulai
menerima flutter developer. Akan ada banyak perusahaan yang membutuhkan. Tanpa
masuk perusahaan pun kita bisa membuat app sendiri dengan mempelajari flutter.

Anda mungkin juga menyukai