Duration
3 days
Introduction
The Economist says there will be 25 billion mobile devices by 2022. Roughly 3 million apps are now in iTune and Google Play. Mobile apps generate additional revenues to every company by encouraging repeat orders from customers on the go. Comparing to the traditional method of marketing mobile apps lowers the marketing cost. This market needs has driven the software industry to focus on mobile apps development. A diverse skill-set is necessary to develop apps for multiple platforms such as Android / iOS.
Flutter allows developing awesome mobile applications powered by Dart. This course takes participants from zero to published app, taking a very practice-orientated route. Participants will be building apps throughout the course, learning about the basics of Flutter and its rich component library, how to fetch and handle user input, how to store data and access native device features and much more! Each app will be a real world example that focuses on different topics like Components, Navigation, Tabs, Side menus, User Input, Native Device Features, Storage, Http, and Authentication. Upon completing the app participants will also learn how to run the apps either in browser or on an emulator or on own device.
Objective
- Be able to build any iOS and Android App
- Master Dart and Flutter Framework
- Build full-fledged mobile apps
- Create a portfolio of apps to apply for development job
- Work as a cross-platform mobile developer who can develop iOS and Android apps
- Gain a competitive advantage in the workplace as a flutter mobile developer
Target Participants
The primary target audience for this course is software developers / programmers. This program is for anybody who has programming background and interested in diving into the development of mobile apps for iOS and Android.
Program Prerequisites
No previous programming experience required.
Mode of Delivery
Every participant will be provided with course notes.
Course Content
- Flutter
Introduction
- Why Flutter Development
- Download Android Studio and Setup Emulators
- Windows Flutter installation
- Dart Programming Language – Part 1
Introduction
- Code style and naming convention
- Declaring variables
- Dart types and assigning types to variables
- Booleans
- The const and final keywords
- Concatenation
- Arithmetic Operators
- Relational Operators
- Dart Programming Language – Part 2
- Control flow – If statements
- Logical Operators
- For Loops
- While, Do-While and Break
- Switch cases
- Introduction to functions
- Function return types
- Using => operator for returning expressions
- Arguments and Functions
- Optional Parameters
- Lexical Scope
- Object Oriented Programming
- Introduction to Classes and Objects
- Class creation and instance variables
- Adding methods
- Constructors, named and sugar syntactic constructors
- Setters and Getters
- Inheritance
- Override methods
- The toString() method
- Abstract and Interface classes
- Data Structures and Collections
- Introduction to Collections
- Creating lists and iterating through them
- Creating list with a person type object
- Maps
- Building Flutter Apps
Introduction
- Flutter Hello World App
- Understanding material design
- Formatting code
- Material design presentation
- Widget and properties
- Event listeners
- Custom control
- Bottom navigator and a tab
- Floating action buttons
- Build a Biz Card App
- Stateless Widgets
- Stateful Widgets
- Flutter Concepts
- Creating a Listview
- Customizing ListTitle Row and adding a Tap
- Navigating to a second route
- Returning to the first route
- Passing data to the second route
- Model
- Passing objects
- Customizing Rows
- Adding Images
- Customizing colours
- Understanding Themes
- Introduction to UI and UX
- Material Design
- Themes in Flutter
- Theming headlines and body text
- Customizing fonts
- Refactoring text theme
- Material design
- Material design – colour themes
- Material design - Typography and Iconography
- Connecting to the world
- Introduction to HTTP and JSON
- Async and Future – Http Requests
- Adding Http Packages
- Setup network class
- Fetching JSON Data
- Fetching JSON using future builder widget
- Finalizing Fetching JSON
- Plain Old Dart Object (PODO)
- Mapping PODO with JSON
- Final Implementation
- Realtime Database
- Introduction to Firebase / Firestore
- Setting up Firestore
- Reading Data from Firestore Database
- Setup Forms
- Saving Data to Firestore Database
- Accounting for Nulls
- Deleting a document
- Update document
- Firebase Authentication
- User Authentication
- Google Sign In
- Creating account with Email and Password
- Google Signout and Refresh Screen
- Signin with Email and password & Signing out
- Publishing Flutter Apps
- Creating App Icon
- Dynamically generating Icons using plugin
- Adding splash screen
- Adding launcher images
- Publishing App to Google Play Store
Programme scope, delivery arrangements and suitability are confirmed during enquiry.