About the course
Our Flutter with Dart training course empowers software and web developers to leverage Google's revolutionary portable UI toolkit to create and deploy highly responsive native applications from a single codebase.
Whether you're coming from a JavaScript background or have strong skills in other modern languages like C#, Python, or Java, our workshop will equip you with the fundamentals of Dart and the power of Flutter.
This hands-on workshop will ensure you leave with practical, reusable code and the ability to bring your native app ideas to life across multiple platforms with an awesome developer experience.
Online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Understand the fundamental architecture of Flutter and the core concepts of the Dart programming language.
- Set up a Flutter development environment and utilise essential development tools effectively.
- Build responsive and visually appealing user interfaces using Flutter's widget system, incorporating Material Design and Cupertino styling.
- Implement navigation and routing within Flutter applications, including modern declarative approaches.
- Manage application state effectively using appropriate state management solutions like Provider, Riverpod, or BLoC/Cubit.
- Handle data effectively, including serialization, deserialization (JSON), and asynchronous data fetching.
- Integrate third-party packages and create custom packages to extend Flutter application functionality.
- Implement robust testing strategies, including unit, widget, and integration testing, to ensure code quality.
- Debug Flutter applications effectively and optimise app performance for a smooth user experience.
- Build and release Flutter applications for both iOS and Android platforms, understanding the deployment process.
-
Software developers looking to build cross-platform native mobile applications with a single codebase.
Web developers wanting to leverage their existing programming skills to enter the mobile app development space.
Mobile app developers interested in learning a modern, high-performance UI toolkit for rapid development.
Developers with experience in languages like JavaScript, C#, Java, Python, or other modern OO languages who want to learn Flutter and Dart.
-
Delegates should ideally have experience of a modern programming language (e.g., JavaScript, C#, Java, Python, Swift, Kotlin) and a basic understanding of object-oriented programming (OOP) concepts would also be highly valuable. Any familiarity with mobile development concepts (native or cross-platform) is beneficial but not strictly required.
Please get in touch if you need help with the prerequisite skills or would like any guidance on preparing for the course. We can tailor a custom syllabus to include primer topics, for instance if you are considering including this course in a wider training programme or graduate on-boarding scheme.
-
This Flutter with Dart course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Overview of Flutter
Flutter vs other cross-platform frameworks
A dig into Dart
Tools of the trade - setting up your development environment
Getting a head start on Dart
Key language features
Dart Syntax
Differences between Dart and [insert your OO language of choice]
Anatomy of a Flutter app
Templates
Scaffolding
Styling for Material Design & iOS (Cupertino)
It's Widgets all the way down
Let's prototype!
Building your first User Interface with Flutter
Drawing with CustomPainter
Effect widgets
Animations
Navigation and routing
Flutter's navigation system
declarative routing with go_router
Hot Reloading
Data and State
State management
Exploring the right solution (e.g. Provider, Riverpod, BLoC/Cubit)
Data Serialisation & JSON
Data fetching & background tasks
async/await and Future/Stream
Extending your prototype
Dependency Injection
3rd-party packages
Conflict resolution
Creating your own packages
Background processes
Testing your code
Debugging
Unit, Widget and Integration testing
Continuous Integration (CI) with Fastlane
The need for speed
Techniques to optimise your app's performance
Performance Profiling & Profile Mode
Diagnosing & fixing performance problems
Getting it out the door
Build and release for iOS / iPhone / iPad
Build and release for Android
Continuous Deployment / Delivery (CD) with Fastlane
-
https://flutter.dev/ - the home of Flutter
https://dart.dev/ - the home of Dart
https://docs.flutter.dev/get-started/editor - setting up your Flutter development environment
Trusted by



