Android and IOS APP Development with Flutter

Android and IOS APP Development with 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!

course at a glance

  • Date : 9 May - 31 Jul 2020
  • No. of Classes/ Sessions : 24
  • Total Hours : 72
  • Last Date of Registration : 8 May 2020
  • Class Schedule :
    • Saturday - 9:00 AM - 12:00PM
    • Friday - 9:00 AM - 12:00PM
  • venue : PencilBox Training Institute, EDB Trade Centre, 5th Floor, 93 Kazi Nazrul Islam Avenue, Kawran Bazar, Dhaka-1215

Price: TK. 18,000
(Excluding VAT & TAX)
Early Bird Registration Going on Valid Until 15th April, 2020 Taka @15000/=

This Training is jointly organized by BITM & PencilBox Training . Training will be held at PencilBox Training.

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.

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
 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


Training Flutter Development with Dart language 72 Hrs

Tentative Class Start

9th May, 2020

Available Seat

10 / 20

who can join

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)

Meet the Instructor