- What is the programming, how does the program work, information about Flutter and Dart, Data types, variables, naming conventions, work logic of variables, RAM –structure Heap and Stack memory
- Strings, interpolation, multi-line and raw string, operations on string
- Operators (maybe 2 lessons)
- If-else, else if, switch-case, ternary, assert
- While, do while, for, for-each, break and continue
- OOP, Class and Objects, methods, class members, create simple class, Constructor, Named Constructor, Factory Constructor, setter and getter, runtime type
- Initializer list, Constant Constructors, Static keyword, Static methods and variables
- Inheritance, Encapsulation, Abstraction, Polymorphism, Abstract class and methods, override and overload
- Enums, Mixins, Extension methods, Generic classes and methods
- Final and Const, List, Map and Set data structure and their methods
- Exceptions, Library and Visibility
- Asynchrony support – 1 (Future), async, sync, await
- Asynchrony support – 2 (Stream), async*, yield, yield*
- Difference between Multithread and Asynchronous programming, practice
- Generators, Typedefs, Callable Classes, Annotation and Metadata, Comments
- Repetition
- Callbacks
- Timer
- I/O, writing pure Dart code
- HashSet, HashMap
- Sound Null Safety
- Flutter Basics Widgets
- Stateful and Stateless Widgets, Three Tree Structure – Widget, Element and Render Trees
- Input Fields
- Layouts – 1 (Column, Row, ListView, GridView, Stack, Table, Wrap, Padding, SizedBox, FractionallySizedBox, Container, Center, ConstrainedBox)
- Layouts – 2 (IndexedStack, LayoutBuilder, LimitedBox, OverflowBox, IntrinsicHeight, IntrinsicWidth, Expanded, FittedBox, AspectRatio, Align)
- Material Components
- Buttons, Dialogs, Alerts and Panels
- Scrolling
- Cupertino-style Widgets
- Animations
- Navigation
- Networking
- Storing data
- Internationalizing app, Dynamic theme
- Inherited Widget, ValueNotifier, ValueNotifierBuilder
- Provider State Management
- BLoC State Management – 1
- BLoC State Management – 2
- Debugging, Unit Testing, UI Testing, Integration Testing
- Platform Channel
- Isolates
- Practice and Repetition
- Build Image Loader app (UI)
- SOLID principles, BLoC Architecture, Applying Design Patterns to our code (Logic)
- SOLID principles, BLoC Architecture, Applying Design Patterns to our code (Logic) (Part 2)
- Using git and Github for version control
- Complete app for production
- Last configurations for APK, Building release APK
- Publish APK on Play Store
- Repetation
- JsonSerilizable, Dio, Retrofit, Build Runner
- Writing and publishing your packages
- How Flutter renders Widgets
- Flutter App Lifecycle
- How to track screen transitions in Flutter with RouteObserver
- Advanced Flutter Layout — Flow
- A Guide to Using ScreenSize In Flutter — A More Readable Approach
- Flutter: Push, Pop, Push
- Flutter Layout Cheat Sheet
- Flutter: The Advanced Layout Rule Even Beginners Must Know\
- Layout Explorer
- Flutter Europe: Optimizing your Flutter App
- Navigator and Routes and Transitions... Oh, My! - Simon Lightfoot | Flutter Europe
- Implementing complex UI with Flutter - Marcin Szałek | Flutter Europe
- Thread of Execution, Functions & Call Stack— Dart Under The Hood CH1
- Dart Null Safety: The Ultimate Guide to Non-Nullable Types
- Useful List methods in Dart
- Dart asynchronous programming: Isolates and event loops
- What are sync*, async*, yield and yield* in Dart?
- Design Patterns in Flutter Series
- Creational Design Patterns in Flutter
- Generics in Dart and Flutter
- S.O.L.I.D The first 5 principles of Object Oriented Design with Dart
- Flutter: Best Practices and Tips
- VS Code Extensions Every FLUTTER Developer Should Have + Bonus Theme & Fonts
- Github Actions for Flutter
- Flutter Bloc & Cubit Tutorial
- Hydrated Bloc
- Understanding Provider in Diagrams — Part 1: Providing Values
- Understanding Provider in Diagrams — Part 2: Basic Providers
- Understanding Provider in Diagrams — Part 3: Architecture
- Cubit, a simple solution for app state management in Flutter
- Everything you need to know about Provider - Rémi Rousselet | Flutter Europe
- Bloc Library: Basics & Beyond - Felix Angelov | Flutter Europe