Week#1: Introduction to Mobile App Development:
Overview of native vs. cross-platform development [open]
Introduction to Flutter framework and its benefits [Open]
Setting up development environment (Flutter SDK, IDE) [open]
Flutter in VS Code
Flutter in Android Studio
Installation and using Android Emulator
Week#2: Dart Programming Fundamentals:
Introduction to Dart Programming Language [open]
Variables, data types, operators [open]
Control flow (if-else, switch, loops)
Functions [open]
Classes, object-oriented programming concepts [open]
Exception handling [open]
Asynchronous programming [open]
Introduction to Dart packages and pubspec.yaml
Week#3: Understanding Widgets:
Stateless vs. Stateful widgets
Code explanation of First Flutter App [open]
State-Management?
Building UIs with core widgets (Text, Image, Button, etc.) [#1: Text, Button] [#2: TextField] [#3: Add Two numbers example]
Layout widgets (Row, Column, Stack, ListView, GridView.)
Styling widgets (Text styles, colors, padding, margins)
Week#4: Navigation & Routing:
Organize directories and files in Flutter project [open]
Implementing navigation between screens (Push, Pop, Navigator)
Using tabs and bottom navigation bars
Weeks #5: Data Persistence:
SharedPreferences for simple data storage [open]
Working with local databases (SQLite)
Week#6: Flutter and Firebase
Introduction to cloud databases (Firebase)
Week#7: Interactive UIs
Building interactive UIs with gestures and sensors
Week#8: Working with assets
Images, fonts, and icons
Week#9: Notifications
AlertDialogs, SimpleDialogs, BottomSheet, SnackBars, Toasts
Week#10: Integrating device functionalities
Camera, GPS, and sensors.
Building location-based apps and capturing user input from devices.
Week#11: Network & APIs:
Fetching data from web APIs
Parsing JSON data and displaying it in the UI
Week#12: Authentication and authorization with APIs
Authentication with social media accounts
Phone authentication
Week 13: Deployment on Google Play Store
Packaging apps for release and deploying on the Google Play Store
Google Play Console setup.
Week#14: Deployment on Apple App Store
Packaging apps for release and deploying on the Apple App Store.
App Store Connect
Week#15: Course Review
Course review, project presentations, and Q&A.
Recommended Books
- “Beginning Flutter: A Hands-on Guide to App Development”, by Marco L. Napoli.
- “Flutter for Pros” by Burak Cansever and Josh Thomas (Focuses on building complex apps)
- “Flutter: The Complete Reference” by Wei Meng (Comprehensive reference guide with explanations)
- “Code Complete: A Practical Handbook of Software Construction”, by Steve McConnell
Assessments
Additional Resources
Flutter YouTube Channel: https://www.youtube.com/@flutterdev
Flutter Documentation: https://docs.flutter.dev/ (Official documentation with tutorials and guides)
Dart Programming: http://dart.org
DartPad: http://dartpad.dev
Flutter Sample Code: https://github.com/topics/flutter-showcase (Collection of sample apps from the Flutter team)