Monday, September 16, 2019

Flutter Development with Dart language Special Training Course

Flutter Development with Dart language
☎ Contact: 01917-019025 (Faisal Khan)
What is Flutter ?
Flutter is the new Cross-platform Mobile Development Framework created by Google, which
allows developers to build Android and iOS Apps. Flutter framework allows you to learn one
language (Dart) and build beautiful native mobile apps in no time. Flutter is a SDK providing
the tooling to compile Dart code into native code and it also gives you a rich set of pre-built
and pre-styled UI elements (so called widgets) which you can use to compose your user
interfaces.

Why Choose Flutter ?
Well, Flutter is a big deal because any developer (or anyone who wants to learn mobile
development) can now build Native Android and iOS apps with one codebase
ONLY! Which means, instead to having to learn Objective-C or Swift to build iOS apps, and
Java, or Kotlin to build Android apps, you can now use Flutter Mobile Development
Framework to build apps that run Natively on both iOS and Android devices using
the General-purpose Dart Programming Language.

Course prerequisites:
  • Basic programming language knowledge will help a lot but is not a hard requirement
  • No need to know Flutter or Dart
  • No need to know iOS (Swift/Objective) or Android (Java)
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.
Course Outline
Day-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.
Course Design By
MD Faisal Khan
Web App Development Trainer at BITM
Flutter Development Trainer at Pencil box Training.
Course Price =15'000 BDT
☎ Contact: 01917-019025 (Faisal Khan)

How to practice tutorials…

  • Make a team with your friends (Member should be 4/5).
  • Start to practice one tutorial series along with them.
  • Don’t try to collect source code. Type the code while watching the tutorial.
  • If you face any problem, discuss with team members to solve quickly.