- What is Dart?
- Advantages of using Dart
- Variables, data types, and functions in Dart
- Introduction to Object-Oriented Programming in Dart
- What is Flutter?
- Advantages of using Flutter
- Flutter Architecture and Concepts
- Getting Started with Flutter
- Setting up the development environment
- Creating a new project
- Overview of the Flutter project structure
- Running the app on an emulator or physical device
- Introduction to widgets
- Stateless and stateful widgets
- Basic widgets such as text, image, and button
- Layout widgets like Row, Column, and Container
- Navigation in Flutter
- Creating a navigation stack
- Navigating between screens
- Passing data between screens
- Introduction to Flutter animations
- Creating animations with Tween and Animation widgets
- Adding effects with Hero and Material Motion widgets
- Building custom animations
- State management in Flutter
- Stateful widgets and setState method
- Provider package for state management
- Redux for state management
- Fetching data from a REST API
- Parsing JSON data
- Using SQLite for data persistence
- Shared preferences for storing user preferences
- Introduction to game development in Flutter
- Creating a simple game with Flame package
- Implementing physics and animations in games
- Creating custom widgets
- Working with constraints and layouts
- Using Stack and Positioned widgets
- Building complex layouts with Flex and Wrap widgets
- Building forms with Flutter
- Text input, checkboxes, dropdowns and radio buttons
- Validating user input
- Creating custom form fields
- Understanding Streams and Futures in Flutter
- Using the bloc library for state management
- Using Riverpod for Dependency Injection
- Introduction to native integration in Flutter
- Communication with native code using platform channels
- Flutter widgets for native features like camera and location
- Performance optimization techniques in Flutter
- Threading and background processing in Flutter
- Deep Linking in Flutter
- Building custom widgets and packages
- Building navigation menus and drawers
- Working with named routes and route parameters
- Creating custom transitions and animations
- Handling deep linking in your app
- Writing widget and integration tests in Flutter
- Debugging the app with the Flutter debugger
- Performance profiling and optimization of the app
- Working with images and videos in Flutter
- Creating custom painting and graphics with CustomPaint
- Building chart widgets for data visualization
- Creating custom camera widgets
This part of the course covers advanced topics in Flutter, including animations and effects, state management, networking and data persistence, game development, widgets and layouts, forms and user input, native integration, testing and debugging, and media and graphics.
- Introduction to Flutter animations
- Building complex animations with custom curves and animations
- Using animation controllers for advanced animations
- Creating animation sequences and choreography
- Introduction to reactive programming in Flutter
- Using streams, observables, and reactive programming in Flutter
- Advanced techniques for state management with RxDart
- Caching network responses in Flutter
- Working with large datasets and pagination
- Handling offline data synchronization with Cloud Firestore
- Implementing physics engines in games with Box2D
- Building multiplayer games with Firebase Realtime Database
- Creating augmented reality experiences with ARKit and Flutter
- Building custom layouts with the RenderObject class
- Creating custom input widgets with the GestureDetector and GestureRecognizer classes
- Building custom Sliver widgets for advanced scrolling behavior
- Creating complex forms with nested form fields and validation
- Implementing advanced user input with handwriting recognition
- Building custom text editors with the TextEditingValue class
- Building Flutter plugins for native code integration
- Integrating custom native views with the PlatformView class
- Working with hardware peripherals like Bluetooth and USB
- Writing integration tests with Flutter Driver
- Debugging performance issues with the Dart Observatory
- Using Flutter's debugger to inspect running apps
- Implementing advanced image processing techniques with TensorFlow Lite
- Building custom video players with the VideoPlayer class
- Creating custom charts and graphs with the charts_flutter package
- Building app extensions with Flutter for iOS and Android
- Creating custom widgets and notification extensions for iOS
- Building app shortcuts, widgets and notifications for Android
- Implementing deep linking and Universal Links for navigation between apps and websites