Dalam pengembangan aplikasi dengan Dart, banyak pengembang menghadapi berbagai tantangan yang menghambat efisiensi dan kualitas kode mereka. Salah satu masalah utama adalah kurangnya pemahaman terhadap fitur bahasa Dart, seperti Null Safety, pengelolaan koleksi data, dan pemanfaatan fungsi tingkat tinggi. Selain itu, banyak pengembang mengalami kesulitan dalam mengatur state aplikasi dengan baik, baik menggunakan pendekatan dasar seperti InheritedWidget maupun teknik lanjutan seperti BLoC (Business Logic Component). Kesulitan lain yang sering terjadi adalah dalam menangani operasi asynchronous, mengelola data dengan JSON, serta mengintegrasikan aplikasi dengan backend melalui HTTP request. Tanpa pemahaman yang kuat mengenai aspek-aspek ini, pengembang sering kali menghasilkan kode yang tidak optimal dan sulit untuk dikembangkan lebih lanjut.
Training Dart Development Fundamentals ini dirancang untuk membantu pengembang menguasai dasar-dasar serta konsep lanjutan dalam pemrograman menggunakan Dart. Peserta akan memulai dengan memahami lingkungan pengembangan Flutter, termasuk cara mengonfigurasi SDK dan menggunakan Git untuk mengelola proyek. Setelah itu, peserta akan belajar mengenai struktur bahasa Dart, seperti deklarasi variabel, penggunaan fungsi, manipulasi string, serta Null Safety yang menjadi fitur penting dalam memastikan stabilitas aplikasi. Selain itu, pelatihan ini juga mencakup pemahaman tentang penggunaan widget, layouting dalam Flutter, serta bagaimana membuat tampilan yang responsif dan interaktif. Peserta juga akan mempelajari navigasi antarhalaman, pengelolaan state, dan cara mengimplementasikan tema global dalam aplikasi mereka.
Selain konsep dasar, training ini juga mencakup topik-topik lanjutan yang sangat relevan dalam pengembangan aplikasi modern. Peserta akan diperkenalkan dengan asynchronous programming menggunakan Future dan async/await, serta bagaimana mengelola banyak request secara bersamaan. Selain itu, mereka akan belajar cara menyimpan data menggunakan SharedPreferences dan secure storage, mengintegrasikan aplikasi dengan backend menggunakan HTTP request, serta menangani data dalam format JSON. Training ini juga mencakup penggunaan paket eksternal di Flutter, pembuatan animasi yang menarik, serta integrasi dengan Firebase untuk autentikasi dan notifikasi. Tidak hanya itu, peserta juga akan diperkenalkan dengan Flutter Web dan Desktop, memungkinkan mereka untuk mengembangkan aplikasi lintas platform dengan satu basis kode. Dengan mengikuti pelatihan ini, peserta akan mendapatkan keterampilan yang komprehensif untuk membangun aplikasi Dart yang efisien, scalable, dan siap digunakan dalam berbagai skenario pengembangan perangkat lunak.
OBJECTIVES
1. Memahami Konsep Dasar Dart dan Flutter
2. Meningkatkan Pemahaman tentang Bahasa Dart
3. Menguasai Widget dan Struktur Aplikasi Flutter
4. Menambahkan Interaktivitas dan Navigasi dalam Aplikasi
5. Mengenal Manajemen State dalam Aplikasi
6. Menguasai Pemrograman Asinkron dalam Dart
AUDIENCE
1. Software Developer
2. Mobile App Developer
3. Frontend Developer
4. Backend Developer
5. Full Stack Developer
6. UI/UX Designer
PREREQUISITES
1. Tidak ada training khusus yang dipersyaratkan
CONTENT
1. Getting Started with Flutter
1.1. Technical requirements
1.2. How to use Git to manage the Flutter SDK
1.3. Setting up the command line and saving path variables
1.4. Confirming your environment is correct with Flutter Doctor
1.5. Configuring the iOS SDK
1.6. Configuring the Android SDK setup
1.7. Which IDE/editor should you choose?
1.8. Picking the right channel
1.9. How to create a Flutter app
2. Dart: A Language You Already Know
2.1. Technical requirements
2.2. Declaring variables – var versus final versus const
2.3. Strings and string interpolation
2.4. How to write functions
2.5. How to use functions as variables with closures
2.6. Creating classes and using the class constructor shorthand
2.7. How to group and manipulate data with collections
2.8. Writing less code with higher-order functions
2.9. How to take advantage of the cascade operator
2.10. Understanding Dart Null Safety
3. Introduction to Widgets
3.1. Technical requirements
3.2. Creating immutable widgets
3.3. Using the Container widget
3.4. Printing stylish text on the screen
3.5. Importing fonts and images into your app
4. Mastering Layout and Taming the Widget Tree
V
4.1. Placing widgets one after another
4.2. Proportional spacing with the Flexible and Expanded widgets
4.3. Drawing shapes with CustomPaint
4.4. Nesting complex widget trees
4.5. Getting ready
4.6. Refactoring widget trees to improve legibility
4.7. Applying global themes
5. Adding Interactivity and Navigation to Your App
5.1. Adding state to your app
5.2. Interacting with buttons
5.3. Making it scroll
5.4. Handling large datasets with list builders
5.5. Working with TextFields
5.6. Navigating to the next screen
5.7. Invoking navigation routes by name
5.8. Showing dialogs on the screen
5.9. Presenting bottom sheets
6. Basic State Management
6.1. Technical requirements
6.2. Model-view separation
6.3. Managing the data layer with InheritedWidget
6.4. Making the app state visible across multiple screens
6.5. Designing an n-tier architecture, part 1 – controllers
6.6. Designing an n-tier architecture, part 2 – repositories
6.7. Designing an n-tier architecture, part 3 – services
7. The Future is Now: Introduction to Asynchronous
7.1. Programming
7.2. Technical requirements
7.3. Using a Future
7.4. Using async/await to remove callbacks
7.5. Completing Futures
7.6. Firing multiple Futures at the same time
7.7. Resolving errors in asynchronous code
7.8. Using Futures with StatefulWidgets
7.9. Using the FutureBuilder to let Flutter manage your Futures
7.10. Turning navigation routes into asynchronous functions
7.11. Getting the results from a dialog
8. Data Persistence and Communicating with the Internet
8.1. Technical requirements
8.2. Converting Dart models into JSON
8.3. Handling JSON schemas that are incompatible with your models
8.4. Catching common JSON errors
8.5. Saving data simply with SharedPreferences
8.6. Accessing the filesystem, part 1 – path_provider
8.7. Accessing the filesystem, part 2 – working with directories
8.8. Using secure storage to store data
8.9. Designing an HTTP client and getting data
8.10. POST-ing data
8.11. PUT-ing data
8.12. DELETE-ing data
9. Advanced State Management with Streams
9.1. Technical requirements
9.2. How to use Dart streams
9.3. Using stream controllers and sinks
9.4. Injecting data transform into streams
9.5. Subscribing to stream events
9.6. Allowing multiple stream subscriptions
9.7. Using StreamBuilder to create reactive user interfaces
9.8. Using the BLoC pattern
10. Using Flutter Packages
10.1. Technical requirements
10.2. Importing packages and dependencies
10.3. Creating your own package (part 1)
10.4. Creating your own package (part 2)
10.5. Creating your own package (part 3)
10.6. Adding Google Maps to your app
10.7. Using location services
10.8. Adding markers to a map
11. Adding Animations to Your App
11.1. Creating basic container animations
11.2. Designing animations part 1 – using the AnimationController
11.3. Designing animations part 2 – adding multiple animations
11.4. Designing animations part 3 – using curves
11.5. Optimizing animations
11.6. Using Hero animations
11.7. Using premade animation transitions
11.8. Using the AnimatedList widget
11.9. Implementing swiping with the Dismissible widget
11.10. Using the animations Flutter package
12. Using Firebase
12.1. Configuring a Firebase app
12.2. Android configuration
12.3. iOS configuration
12.4. Adding Firebase dependencies
12.5. Creating a login form
12.6. Adding Google Sign-in
12.7. Integrating Firebase Analytics
12.8. Using Firebase Cloud Firestore
12.9. Sending Push Notifications with Firebase Cloud Messaging (FCM)
12.10. Storing files in the cloud
13. Machine Learning with Firebase ML Kit 505
13.1. Using the device camera
13.2. Recognizing text from an image
13.3. Reading a barcode
13.4. Image labeling
13.5. Building a face detector and detecting facial gestures
13.6. Identifying a language
13.7. Using TensorFlow Lite
14. Distributing Your Mobile App
14.1. Technical requirements
14.2. Registering your iOS app on App Store Connect
14.3. Registering your Android app on Google Play
14.4. Installing and configuring fastlane
14.5. Generating iOS code signing certificates and provisioning profiles
14.6. Generating Android release certificates
14.7. Auto-incrementing your Android build number
14.8. Configuring your app metadata
14.9. Adding icons to your app
14.10. Publishing a beta version of your app in the Google Play Store
14.11. Using TestFlight to publish a beta version of your iOS app
14.12. Publishing your app to the stores
15. Flutter Web and Desktop 579
15.1. Creating a responsive app leveraging Flutter Web
15.2. Running your app on macOS
15.3. Running your app on Windows
15.4. Deploying a Flutter website
15.5. Responding to mouse events in Flutter Desktop
15.6. Interacting with desktop menus
Course Features
- Lectures 0
- Quizzes 0
- Duration 4 days
- Skill level All levels
- Language English
- Students 0
- Certificate No
- Assessments Yes