Mobile application PROACADEMY
<>
Enhance your career with professionals
development with
FLUTTER and
DART PROGRAMMING
PROACADEMY
Enhance your career with professionals
PROACADEMY
<>
Enhance your career with professionals
Janith currently works as an Application Security Analyst where he has over five(5) years of
experience of auditing application security and code reviewing. He started his career as a
freelance Mobile and Web application developer and has over 7 years of experience with
application development.
Sudesh currently works as a web and mobile application developer who has over 2 years of
experience in the software development industry as well as has experience in engaging as a
freelance web and mobile application developer.
PROACADEMY
<>
Enhance your career with professionals
You can reserve your seat by filling out the Google registration form. Once we receive your
form response, an email will be sent to you with further details.
Course Fee
Monthly Fee 6000 LKR. This fee needs to be paid before the starting day of each month.
Starting Date
Starting soon
Course Duration
5 months
Medium
Sinhala
Completion of Course
On the successful completion of the course, each student will receive a certificate offered
by Proacademy.
FLUTTER
DART
REGISTER
NOW
PROACADEMY
<>
Enhance your career with professionals
1. Introduction
What is Flutter and Dart?
Flutter architecture
Comparison with other mobile app development frameworks
How flutter and dart code get compiled to native apps
2. Dart Basics
Dart fundamentals (Variables, arithmetic & logical operations, flow control, etc...)
Dart Collections (List, Sets, Maps)
Understanding Dart null safety feature
User defined functions
Dart classes, constructors and named Arguments
3. Development environment setup
Step 1 - install the Flutter sdk
Step 2 - Setting environment variables
Step 3 - install Android Studio and setup Emulator
Step 4 - Configure Android Studio for Flutter Development
Step 5 - install and setup Visual studio code IDE
Introducing cmd commands to work with your app (run, hot reload, hot restart)
Deploying your app on android emulator and a physical device
6. Flutter & Material design
Adding custom drawers
Creating tab bar widgets
7. Advanced Dart programming
Interfaces, abstract classes and mixins
Understanding Dart libraries and packages
Asynchronous vs Synchronous programming
Error handling
Stateful vs. Stateless Widgets - What's the Difference?
Creating state and stateless widgets
How to Use Container Widgets
Button widgets
Input widgets
How to use Column & Row Widgets for Layout
Flutter Card & ListTile Widgets
Other useful widgets
Custom widgets
PROACADEMY
<>
Enhance your career with professionals
Styling Widgets
Create and use your own themes in the app
11. Handling user gestures and inputs
Handling User gestures
Connecting user functions to buttons
Input widgets
Validating user inputs
Custom input and form fields
Understanding the Navigator widget
Different navigation types in flutter
Creating your own routes inside the app
Route transitions and Animations
Working with Assets in Flutter & the Pubspec file
Using custom fonts in your flutter app
Introduction to flutter packages
How to Add App Icons to the iOS and Android Apps
Google admob integration
How to create a qr code scanner
14. Flutter state management - (Developing an E-Commerce app)
Listview and Bottomsheet widget
What does the State really mean and How do we Manage it?
How do the callbacks work in Dart ?
Using the ListView Builder and Gridview Builder
Flutter App Architecture Patterns
Introducing provider package for state management
Using a Provider and a ChangeNotifier to Manage State
Defining data model and showing data
Implementing the shopping cart logic
PROACADEMY
<>
Enhance your career with professionals
15. Using native device features( Camera, Maps, Location ...)
Planning the next phase
Using image picker & device camera via packages
Storing images on the file system(on device)
Managing data & images via provider package
Storing & fetching data with SQLite
Add location input & with location package
Getting user coordinates
Displaying static & dynamic maps (via google)
Allow user to pick a location on map & store in the local database (SQLite)
Place details screen
App development architecture patterns
Structuring your code
Extracting business logic completely from the ui
Creating util classes enhance your app
Classes and objects
Applying Object oriented concepts in your app
Class Constructors
17. Introduction to Firebase
What is Firebase?
Getting started with flutter and firebase sdk
Firebase Flutter Packages Setup (iOS & Android)
18. CRUD operations & user authentications with Firebase
A Basic Authentication Screen
Creating an Authentication Form
Connecting Auth Form & Auth Screen
Implementing Authentication & store extra user data
Improve user experience in the app
Saving UserData into Cloud Firestore
Rendering data from firestore using streambuilder
Adding Cloud Firestore Authorisation and Security Rules
Listening to Chat Messages
Sending & receiving chat messages
Creating a chat bubble and improve it
19. CRUD operations & user authentications with Firebase
Showing Usernames in chat
Preparing file upload & validating images
Uploading images to database
Improving image uploading process & displaying user images
PROACADEMY
<>
Enhance your career with professionals
20. How push notifications work
Introducing FCM for push notifications
Android & Push Notifications
iOS & Push Notifications
Handling push notifications
Getting Started with Firebase Cloud Functions
Setting a Firestore Trigger
Sending Automated Push Notifications
Module Introduction
Preparing the backend
How to send Http requests
Sending POST / GET requests
Working with futures in Dart
Fetching data and modeling data
Showing loaders when fetch data
Handling errors efficiently and custom exceptions
User credential authentication
OTP code authentication
Social media authentication
Make your app interfaces responsive for any screen size
PROACADEMY
<>
Enhance your career with professionals
Introduction to git ?
What is github ?
Creating Github repositories
Introducing Github commands
Managing your project using github
How to deploy your mobile app in android play store
How to use freelance platforms as a mobile app developer
PROACADEMY
<>
Enhance your career with professionals
A Computer that has admin privileges
At least have 4GB RAM and 20GB of free space on your hard drive
Basic programming knowledge will be an advantage but is not a must
You can use either Windows, macOS or Linux for Android app development - iOS
apps can only be built on macOS though
No previous experience with iOS or Android development is required.
NO previous knowledge of Flutter or Dart is needed -
zero!
Phone - 0701122901 / 070 581 2860
Whatsapp - 070 112 2901 / 070 581 2860
Facebook page - https://www.facebook.com/ProacademyOnline
Email -
[email protected]LinkedIn - https://www.linkedin.com/company/proacademy-online
Github - https://github.com/Proacademy-Online
PROACADEMY
<>
Enhance your career with professionals
Choose
Wisely
MOBILE APPLICATION DEVELOPMENT