
Course Overview
Flutter is an open-source UI software development kit (SDK) created by Google for building natively compiled applications for mobile, web, and desktop from a single codebase. It uses the Dart programming language and provides a rich set of pre-designed widgets, which allow developers to create highly interactive and visually appealing applications. Flutter's hot reload feature speeds up the development process by allowing changes to be reflected instantly on the screen. It also offers excellent performance due to its direct compilation to native machine code, making it an ideal choice for building fast and responsive cross-platform applications.
Prerequisites
Skills Covered :
Course syllabus
The outlined subjects are pivotal areas that necessitate comprehensive learning and substantial practice to instill a profound sense of proficiency. Mastery in these topics is integral to cultivating a robust skill set essential for backend development, fostering confidence and expertise in handling intricate backend systems and functionalities.
Dart echo/Print Statement
Increment/Decrement Operator
Conditional Assignment Operator
OOPs - Object Oriented Programming
Advantages of Flutter (Fast Development, Cross-Platform)
Flutter vs. Other Frameworks
Setting Up Flutter Development Environment
Setting Up IDE (VS Code, Android Studio)
Writing Your First Flutter App (Hello World)
Understanding Flutter Architecture
Widgets (Stateless and Stateful)
Widget Tree and Build Method
Hot Reload vs. Hot Restart
Material Design and Cupertino Widgets
Text, Container, Column, Row, Stack
Buttons (TextButton, ElevatedButton, IconButton, etc.)
TextField, Form, and Input Validation
ThemeData and Custom Themes
Introduction to Navigation
Named Routes vs. Anonymous Routes
Passing Data Between Screens
Nested Navigation (TabBar and BottomNavigationBar)
Navigation with the go_router or auto_route package
What is State Management?
Understanding the Need for State Management
State Management Approaches
InheritedWidget and InheritedModel
Bloc/Cubit (Business Logic Component)
Redux (optional, advanced)
Working with APIs and Backend
HTTP Requests (GET, POST, PUT, DELETE)
Using json_serializable for Code Generation
Error Handling in API Calls
Integrating REST APIs with Flutter
Working with GraphQL (optional)
Explicit Animations (AnimationController, Tween, etc.)
Slivers (CustomScrollView, SliverAppBar, SliverList)
MediaQuery and LayoutBuilder
Accessibility in Flutter Apps
Preparing the App for Release
Adding App Icons and Splash Screens
Publishing on Google Play Store
Publishing on Apple App Store
Setting Up Certificates and Provisioning Profiles
Using Xcode for iOS Builds