This Training is jointly organized by BITM & PencilBox Training . Training will be held at PencilBox Training.Course OutlineDay-1 - Introduction to Development with Flutter
- Learn to set up a new Flutter project using Android Studio
- Understand the Widget tree and learn to use pre-made Flutter Widgets for
- user interface design Installing Android Studio
- Learn to incorporate Image and Text Widgets to create simple user
- interfaces.
- Learn to incorporate App Icons for iOS and Android
- Learn how to add and load image assets to Flutter projects.
- Run Flutter apps on iOS Simulator, Android Emulator and physical devices.
Day-2 – Creating Beautiful UI With Flutter for Beginner
- Use Hot Reload and Hot Restart to quickly refresh the app UI and
- understand when to use each.
- Learning to use the Pubspec.yaml file to incorporate dependencies, custom
- assets and fonts.
- An introduction to the Widget build () method.
- Learning to use layout widgets such as Columns, Rows, Containers and
- Cards.
- Incorporating Material icons using the Icons class.
Day-3 – Building Apps with State
- Understand the difference between Stateful and Stateless Widgets and
- when they should each be used.
- Understand how callbacks can be used detect user interaction in button
- widgets.
- Understand the declarative style of UI programming and how Flutter
- widgets react to state changes.
- Learn to import dart libraries to incorporate additional functionality.
- Learn about how variables, data types and functions work in Dart 2.
- Build flexible layouts using the Flutter Expanded widget.
- Understand the relationship between set State (), State objects and Stateful
- Widgets.
Day-4 – Leveraging Flutter Packages to Speed Up Development
- Learn to use the Dart package manager to incorporate Flutter compatible
- packages into your projects.
- Understanding the structure of the pubspec.yaml file.
- Incorporate the audio players package to play sound.
- Learn more about functions in Dart and the arrow syntax
- Learn to refactor widgets and understand Flutter's philosophy of UI as
- code.
Day-5 - Structuring Flutter Apps
- Learn about how lists and conditionals work in Dart.
- Learn about classes and objects in Dart and how it applies to Flutter
- widgets.
- Understand Object Oriented Dart and how to apply the fundamentals of
- OOP to restructuring a Flutter app.
- Learn to use Dart Constructors to create customizable Flutter widgets
Day-6 – Flutter Pattern Design
- Apply common mobile design patterns to structure Flutter apps.
- Learn about structuring and organizing Flutter apps
Day-7 – Creating Beautiful UI With Flutter for Intermediates
- Customize apps with Theme widgets.
- Refactoring widgets by extracting them as separate Widget classes.
Day-8 – Dart Annotations and Modifiers
- Learn about Dart annotations and modifiers.
- Understand the immutability of Stateless and Stateful Widgets and how the
- screen is updated with the build () method.
- Create custom Flutter Widgets by combining smaller widgets.
Day-9 – Dart Packages
- Learn about the difference between final and const in Dart.
- Learn about maps, enums and the ternary operator in Dart.
- Learn to build multi-screen Flutter apps by learning about routes and the
- Navigator widget.
- Understand why flutter favors composition vs. inheritance when
- customizing widgets.
Day-10 – Build State with Flutter
- Learn about asynchronous programming in Dart and understand how to
- use async/await and the Futures API.
- Understand Stateful Widget lifecycle methods.
Day-11 – Mapping Data into Widget
- Handling exceptions in dart with try/catch and throw.
- Use Dart null aware operators to prevent app crashes.
- Getting location data from both iOS and Android.
Day-12 – Flutter Apps With backend data
- Using the http package to perform networking and get live data from open
- APIs
- Understanding how to parse JSON data using the dart: convert library.
- Understand how to pass data to State objects via the Stateful Widget.
Day-13 – Navigation and multiple Screen
- Use the Text Field Widget to take user input
- Understand how to pass data backwards using the Navigator widget.
Day-14 – Cupertino Widget and Platform based UI
- Learn to use the Cupertino package and build Flutter apps for iOS with UIKit
- styled Cupertino widgets.
- Use the dart:io library to detect runtime platform and create separate UIs
- for iOS and Android in the same Flutter app.
- Learn to use Dart loops to create recurring widgets.
Day-15 – Flutter App with Live `Web Data
- Getting Location Data
- Dart Async & Awaits
- Application Programming Interface
- Http Packages
- Json Parsing
Day-16 – Flutter App with Firebase Section 1
- Learn to use hero animations in Flutter apps.
- Understand how the animation controller works and create custom
- animations.
Day-17 – Flutter App with Firebase Section 2
- Learn to use Dart mixings to extend class functionality.
- Incorporate Firebase Cloud Fire store into your Flutter apps.
Day-18 – Flutter App with Firebase Section 3
- Implement authentication in your Flutter apps with the Firebase Auth
- package.
- Build a scrolling List View widget to learn how Flutter creates and destroys
- reusable elements
Day-19 – Flutter App with Firebase Section 4
- Understand Dart Streams to listen to data changes.
- Learn to use the Flutter Stream Build to turn streams of data into widgets
- that can be rendered.
Day-20 – Firebase Cloud Fire Store Section 1
- Creating a New Firebase Project
- Firebase Package setup
- Registration User firebase Auth
- Authenticating Users with firebase Auth
Day-21 – Firebase Cloud Fire Store Section 2
- Showing a Spinner while the user awaits
- Saving data into cloud Fire store
Day-22 – Firebase Cloud Fire Store Section 3
- Listening for data from Firebase using Stream
- Dart Streams
Day-23 – Firebase Cloud Fire Store Section 4
- Create Widget Using Stream builder
- The Flutter List View
Day-24 – Firebase Cloud Fire Store Section 5
- Create Different UI for Different User
- Cloud Fire store Authorization and Security Rules
- Flutter App Refactoring.
So, by the end of the course, you’ll completely understand: Fundamental Flutter concepts e.g. Stateful vs. Stateless Widgets, Widget tree, state
management, animations, themes and much more.
Fundamental Dart concepts e.g. lists, maps, enums, loops, futures, streams, mixings,
classes, and much more.
Concepts of Object-Oriented Programming (OOP): The type system, variables, functions
and methods, inheritance, classes and protocols.
Control Structures: Using If/Else clauses, Switch statements and logic to control the flow of
execution.
Data Structures: How to work with collections, such as Lists and Maps.
Software Design: How to organize and format code for readability and how to implement the
Model View Controller (MVC) design pattern.
Networking: How to make asynchronous API calls, store and retrieve data from the cloud,
and use the JSON format for server communication.
Data Storage: How to use Firebase Cloud Fire store to act as a backend for your Flutter
apps.
Curriculum
Training |
Flutter Development with Dart language |
72 Hrs |