
Tutorial showing how to switch between Material and Cupertino widgets, and increase code reuse by building a platform-aware abstract base class with concrete sub-classes. Includes an overview of dialogs and their platform-specific differences. https://codewithandrea.com/videos/flutter-platform-aware-widgets-dialogs/

Controversial article with some history and a detailed comparison between Flutter and native iOS development. Includes an example showing how to build a contact list in Flutter and iOS. https://codewithandrea.com/articles/flutter-will-change-everything/

Clarifications and apologies following my previous article. https://codewithandrea.com/articles/flutter-on-ios-a-follow-up/

Detailed side-by-side comparison of language features between Dart 2.1 and Swift 4.2. https://codewithandrea.com/articles/dart-vs-swift-a-comparison/

Retrospective article about my year as a Flutter developer, blogger and YouTuber in 2018. https://codewithandrea.com/articles/my-2018-year-in-review/

Dart introduction showing how to write a simple program in Dartpad. Includes variable declaration and initialization, string interpolation, type inference, var, final and dynamic. https://codewithandrea.com/videos/intro-to-dart-part1-variables-types/

Dart introduction covering functions, including return types, optional parameters, nullability and default values, named parameters and the arrow operator. https://codewithandrea.com/videos/intro-to-dart-part2-functions/

Dart introduction covering classes, including class & super constructors, instance methods, inheritance, base Object classes and the toString() method, abstract classes and computed properties. https://codewithandrea.com/videos/intro-to-dart-part3-classes/

Dart introduction covering list, maps and generics with type annotations. https://codewithandrea.com/videos/intro-to-dart-part4-collections-generics/

Dart introduction covering if & else statements, the ternary operator, while and for loops, closures and the fold method, enumerations and switch statements. https://codewithandrea.com/videos/intro-to-dart-part5-control-flow/