This repository is part of a bigger project, with a fixed time frame to learn mobile app development with Flutter.
This repository documents the journey of learning Flutter and Dart through the Udemy course, "Learn Flutter & Dart to Build iOS and Android Apps". The course covers a comprehensive range of topics, from basic Dart programming to advanced Flutter concepts, aimed at mastering cross-platform mobile development.
The main objectives of the course I'm following are to:
-
Understand Dart Programming Language
- Learn the syntax and structure of Dart.
- Master variables, data types, functions, and control flow.
- Implement Object-Oriented Programming (OOP) concepts using Dart.
-
Master Flutter Basics
- Build simple UI layouts using Stateless and Stateful Widgets.
- Utilize built-in widgets to create responsive and interactive UI components.
- Understand state management using setState and Inherited Widgets.
-
Learn to Navigate and Route within Flutter Apps
- Implement basic and named routes for navigation.
- Create complex navigation structures with nested and dynamic routes.
-
State Management and Data Handling
- Manage state effectively using Provider and Riverpod.
- Handle user inputs and form validation.
- Fetch and manage data using APIs and JSON parsing.
-
Mastering Flutter’s UI/UX Design Capabilities
- Use Flutter’s rich set of material design components.
- Customize UI components with themes and animations.
- Implement custom widgets for a unique app design.
-
Integrate External APIs and Services
- Make network requests and handle responses.
- Integrate Firebase for authentication, cloud storage, and real-time databases.
- Utilize third-party APIs for enhanced app functionality.
-
Local and Remote Data Storage
- Implement local storage solutions using Shared Preferences and SQLite.
- Utilize Firebase Firestore for cloud-based data management.
-
Advanced Concepts and Techniques
- Explore advanced state management techniques using Bloc and Redux.
- Learn about Flutter’s navigation 2.0 API for complex app navigation.
- Implement performance optimizations and best practices for smooth animations.
-
Build and Publish Apps
- Configure the app for release on both iOS and Android platforms.
- Debug and test the app using real devices and emulators.
- Publish the final app on Google Play Store and Apple App Store.
The repository is organized in terms of the apps created while learning the core concepts.
Week | Modules Completed | Key Concepts Covered |
---|---|---|
Week 1 | 1–2 | Dart basics, Stateless/Stateful Widgets |
Week 2 | 3–4 | State management, UI Components, Navigation |
Week 3 | 5–6 | Data handling, APIs, JSON parsing |
Week 2 | 7–8 | Firebase integration, User authentication |
Week 4 | 9–10 | Advanced navigation, Flutter animations |
Week 5 | Final Project | App development, testing, deployment |
- Introduction
- Flutter & Dart Basics I - Getting a Solid Foundation [DICE ROLLER APP]
- Flutter & Dart Basics II - Fundamentals Deep Dive [QUIZ APP]
- Debugging Flutter Apps
- Adding Interactivity, More Widgets & Theming [EXPENSE TRACKER APP]
- Building Responsive & Adaptive User Interfaces [EXPENSE TRACKER APP]
- Flutter & Dart Internals [TODO APP]
- Building Multi-Screen Apps & Navigating Between Screens [MEALS APP]
- Managing App-wide State [MEALS APP]
- Adding Animations [MEALS APP]
- Handling User Input & Working with Forms [SHOPPING LIST APP]
- Connecting a Backend & Sending HTTP Requests [SHOPPING LIST APP]
- Using Native Device Features (e.g., Camera) [FAVORITE PLACES APP]
- Push Notifications & More Building a Chat App with Flutter & Firebase [CHAT APP]
- Next Steps & Roundup