Flutter is a cross-platform, mobile development framework created by Google. With user-centric design in mind, Flutter allows developers to create beautiful native apps on iOS and Android from a single codebase.
Do you really want to create the most beautiful mobile application that works on both Android and iOS on the same code base while it's sustainable and maintainable in one single code base? Then this workshop is for you!
This is a hands-on workshop that we are going through the most fundamental features in flutter which in the end you can create your own app completely independent and release to Google Play and AppStore.
Each section comes with practices on a working app which we are building throughout the workshop.
Introduction to Flutter Development
- What is flutter?
- Why Flutter?
- How does it work?
- Why dart?
Setup Flutter
- Install on Windows (Please use this link https://flutter.dev/docs/get-started/install)
- install in Linux / Mac (Please use this link https://flutter.dev/docs/get-started/install)
- Setup Android Studio and Xcode (Please use this link https://flutter.dev/docs/get-started/install)
- Setup Emulators (Please use this link https://flutter.dev/docs/get-started/install)
- Setup IDEAs and Plugins (Please use this link https://flutter.dev/docs/get-started/install)
Introduction to Dart
- Dart variables and Constants
- Strings and String Interpolation
- Dart data types
- Inheritance in Dart
- Functional Dart
- Dart Built-in types
- Dart List/Array
- Conditions in Dart
- Streams and Future
- Dart Standard Libraries
- Package dependencies with Pub
Mastering Layouts, Widgets, and UI in Flutter
- Material Design (ANDROID)
- Cupertino Design (IOS)
- Stateful and Stateless Widgets
- Layouts (Column, Row, Grid, Positioned, Stack, StaggeredGridView, ...)
- Widgets (Scaffold, App bar, Text, ... )
- Styling in Flutter (Color, Fonts, Themes, Images, Backgrounds, padding, margin, borders, shadows, and SVGs)
- GestureDetector and Inkwell
Navigation and routing in Flutter
- Working with Navigator
- Pushing new routes and names routes
- passing date with routes
Basic State management and dependencies injection
- Stateful widget and Inheritance Widget
- Provider
Networking Layer
- Working with Rest API
- Working with JSON, Serializing, and Deserializing
Deployment
- building for iOS
- build for Android
At the end of this workshop, we have implemented a fully functional app that could fetch data from REST API and show and update it on the screen.
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.