Dart & Flutter Course Road Map
**Dart**
Dart Notes: Dart Programming Tutorials in Telugu
1. What is Dart and about it (Ref)
a. JIT Just In Time Compiler
b. AOT - Ahead Of Time
2. Installation and Setup for Dart environment
a. Dart Pad Online Tool (Ref)
b. **VS Code offline Tool (Recommended) (Download)
c. IDE - integrated Development Environment
3. Data types, Variables and comments
4. Operators
5. Conditional Statements
a. If
b. else
c. Nested if else
d. switch
e. Conditional Expressions
i. Ternary operators
ii. Null-aware conditional operator
6. Looping Statements
a. For
i. For
ii. For Each
iii. For In
b. While
c. Do While
d. Continue and break keywords.
7. What is class and objects and examples Constructor
a. Class
i. Properties
ii. Methods (.. also referred as functions)
b. Objects
8. Function/Methods
a. What is the method and how to use it?
b. Normal Method
c. Required parameters method
d. Optional parameters method
e. Default parameters method
9. Explain passing values to constructor
10. Inheritance Concept
11. const, final, fat arrow notation
12. Var and dynamic
13. Dart Collection Topics: List, Set, Map etc.
14. Exception Handling
15. Asynchronous Programming
a. What is an asynchronous programming language?
b. Await, Async, Future explanation
16. Null Safety and null handling and its operators
a. Late
b. ?
c. ??
d. !
**Flutter**
17. Flutter Intro and Installation and Setup
a. Intro to Flutter
b. Installation and Setup
i. Download Android Studio (Ref)
ii. JAVA SDK install (Ref)
iii. Download Flutter SDK (Ref)
iv. Download Flutter And Dart Extensions in Android Studio (File -> Plugins then
search for “Flutter” and “Dart”, install them Like this)
v. Download VS Code (Ref)
vi. Download Flutter And Dart Extensions in VS Code (Go To Extensions screen and
search “Flutter” and “Dart”, install them Like this)
vii. Setting Path
1. Setting Path for Windows (Ref)
2. Setting Path in MacOS (Ref)
*** Beginners Concepts ***
18. Flutter Project Explanation
a. Flutter project creation
b. Flutter Project directories explanation
c. Flutter Default Code explanation
d. What is the PubSpec.yaml file?
e. main and runApp?
f. What is MaterialApp?
i. Material Design-3 Ref
ii. Material Design-2 Ref
g. What is a Scaffold Widget?
h. Assignment: setup and create first flutter App
19. Basic Widgets - 1
a. Clear Existing Code
b. Scaffold Widget
c. AppBar
d. Icon Widget (Ref)
i. Font_awesome_icons (Ref)
e. Colours (Ref)
f. FAB Widget (Floating Action Button) (Ref)
g. Container Widget
h. Text Widget
i. Center Widget
j. Assignment: Create screen with using today class Widgets
20. Basic Widgets - 2
a. Padding & Margin
i. Padding - always inside
ii. Margin - always outside
iii. Padding vs margin (Ref)
b. Padding Widget
c. IconButton Widget
d. TextButton Widget
e. InkWell Widget
f. GestureDetector Widget
g. Button Widget
h. TextField Widget
i. Assignment: Create screen with using today class Widgets
21. Row - Column - Stack
a. Row Widget
i. mainAxisAlignement for row => horizontal
ii. crossAxisAlignement for row => vertical
(Ref)
b. Column Widget
i. mainAxisAlignement for Column => vertical
ii. crossAxisAlignement for Column => horizontal
(Ref)
c. Stack Widget
i. Positioned Widget
c. Spacer
c. SizedBox
c. Assignment: Create a Login Page
22. Image Widget
a. How to create assets folder
b. How to add Images or other media and Register them in pubspec.yaml
c. Cached network Image
d. Image Widget
e. Circle Avatar Widget
f. How to show from URL and assets
g. Change app Icon (Link)
h. Assignment: Create 2 Image one show image from Assets and URL.
23. Custom Font
a. How to create assets folder
b. How to add fonts to asset folder and Register them in pubspec.yaml
c. Change whole App Font Style
d. Change Particular Widget Text Font Style https://fonts.google.com/specimen/Poppins
e. Assignment: Create app and use any custom font
24. Stateless Widget
a. Create a Stateless Widget
b. Explain its life cycle
i. build() **
c. Assignment: Create a stateless widget with your own design
25. Stateful Widget
a. Create a Stateful Widget
b. Explain its life cycle
i. initState() **
ii. didChangeDependencies()
iii. build() **
iv. didUpdateWidget()
v. dispose() **
c. Short cuts for creating Widgets
d. Assignment: Create a stateful widget with your own design
26. State Management Technique (Ref)
a. setState method
b. Assignment Implement Count increment & Decrement App
Application Life
27. Form Validation
a. Create a real time form with all the widgets
b. TextFormField Widget
c. With Image.file() example (ImagePicker)
d. SingleChildScrollView
e. Form validation types
i. Using Form Widget
ii. Using TextEditingController
28. Named Navigation
a. Navigation Using Router
b. How to move from one Screen to Other Screen
c. Passing data from one screen to other screen
d. Assignment: Create a Screen with List of Items using ListView Builder whenever the user
clicks on the item then needs to show that item in the next Screen.
29. Drawer & Bottom Navigation Bar
a. Bottom Navigation Bar Widget
b. Drawer Widget
c. AppBar Actions
d. Assignment Create a Flipkart Just a Simple, Don’t need to be Pro
30. Lists
a. ListView
b. ListView Builder
i. ListTile
ii. Card
c. ListView Divider (separator builder)
d. GridView Builder
e. PageView Widget, PageController
f. TabLayout
g. Bottom Sheets
h. Assignment: Create 2 Screens one with ListView Builder and GridView.
31. Other Useful Widgets - 3
a. Expanded Widget
i. Match Parent (full -> width,height) (MAX)
ii. Expanded widget extends Flexible Widget only internally
1. Give row column example
b. Flexible Widget
i. Wrap Content (min -> width, height)(MIN)
c. Spacer Widget
d. SizedBox Widget
e. AbsorbPointer and IgnorePointer Widget
i. AbsorbPointer
1. Only disable touch for subtree but allows to its childerns
ii. IgnorePointer
1. Disable touch for itself and its subtree
iii. For disabling the touches
f. PlaceHolder Widget
f. Scrollbar Widget
f. CheckBox Widget
i. For multi value selection
f. RadioTitle Widget
ii. For Single option selection
f. DropDown Button
iii. Single selection from multiple options
f. Dialog Widget
f. SingleChildScrollView Widget
f. MediaQuery
f. LayoutBuilder Widget
f. SafeArea
*** Intermediate ***
32. Localization/Internalisation
33. Streams
34. Web Services & Rest API Integration
a. API stands for Application Programming Interface
b. HTTP Methods
i. GET
ii. POST
iii. PUT/PATCH (update)
iv. DELETE
/posts/1 => Normal
/posts/1/comments => This is called Path Params
/comments?postId=1 => This called Query Params
Postman: https://www.postman.com/
Swagger: https://petstore.swagger.io/
HTTP STATUS CODES
c. What is API request and how to get data from server
c. API operations
i. CRUD
1. C - Create (post or insert)
2. R - Read (Fetching or getting)
3. U - Update
4. D - Delete
c. What is json? JsonObject and JSONArray
ii. JSON stands for JavaScript Object Notation
iii. Alternative to JSON is XML.
iv. [ ] => JSON Array (Multiple records) (it is like list)
v. { } => JSON Object (single record) (it is like map)
1. Nothing but Dart Map
JSON Viewer
f. Http & Dio packages
i. Http Status codes
1. 200 - get success
f. How to parse the json data
f. How to create Model Classes / Data Class / POJO Class
f. How to get Data from Server and Shown to User
ii. Showing Directly
iii. Using FutureBuilder
iv. Using StreamBuilder
f. Assignment: Build a screen which shows data from Server (API)
Convert Json data to Models
35. Shared Preference
a. What is the shared Preference (SP)?
b. Examples and use cases of the shared Preference
c. Shared Preference with Example
i. User logged in or not
ii. To store User profile data
iii. User Preference ex: Dark Mode
d. Assignment: Create Login and Home Screen Using SP
36. Payment gateway Integration (RazorPay)
37. Deploying Developed app in Play Store
a. Using APK
i. Ex: Apk Size 24 MB
ii. Command : flutter build apk --release/--debug/—profile
iii. Extension: .apk
b. Using AppBundle (Ref)
i. Ex: AppBundle 8 to 10 MB
ii. Command : flutter build appbundle --release/--debug
iii. Extension: .aab
c. Ios
i. .ipa
38.
a. Play Store $25 dollars lifetime (Android)
b. App Store $99 dollars per year (iPhone/iOS)
i. https://appstoreconnect.apple.com/