Brian Egan's Flutter and Dart Workshop

Topics covered at FLUTTER-01-02
View Schedule & Book More dates available

Next up:


Want to build Flutter apps that users can navigate through easily, fetching data along the way? Join expert Brian Egan as he guides you through the Dart language and shows you how to implement Google's new UI Flutter framework to drastically speed up and simplify your mobile development efforts.

Do you need to write beautiful, high-performance apps that work on low-powered devices with intermittent connectivity? Do you need to write your apps twice? Are you wasting time and resources by building your apps once for iOS, and then again for Android? This course will show you how to use Flutter to speed up your mobile development and ship applications to both platforms!

Begin with a crash-course in the easy-to-learn, easy-to-scale Dart language, before moving on to use it to build your own working app. Brian's experience with Google in developing the Flutter Cookbook will be an invaulable asset in this training course. Lightning-fast development experience, fluid animations, and native performance, are only some of the reasons to take this workshop. By understanding how to use Flutter, you can develop high quality apps for both iOS and Android using a single code base. If you're looking to speed up your mobile development, ship to both platforms, and have fun in the process, this Flutter and Dart Workshop is for you!

Learn how to:

  • Understand basic Dart syntax and fundamentals
  • Quickly create apps which look consistent across iOS and Android platforms
  • Create standard layouts with Flutter and populate them with data from the cloud
  • Create lists of items for a mobile app
  • Seamlessly convert difficult designs into Flutter widgets
  • Understand how to change what's displayed on screen in response to user interactions
  • Identify your own challenges and solve them
  • Test your Flutter apps

What the community says

"Very knowledgeable. Real world experience."


"Great Workshop! Gave us time to think and do the magic!"


"Thought he did an excellent job getting people comfortable with flutter development. Calm, well spoken and clear. Each section presented felt well polished."


"Very knowledgeable. Took time to answer questions carefully."


"I especially liked that you only really had half the answers in the material, the other half you needed to dig out one way or another. "


About the Author

Brian Egan

Brian is a front-end developer with Android, Web and Flutter expertise. He previously worked on popular applications for SoundCloud and Zappos as a senior Engineer and Tech Lead. He's currently working with Google to create the Flutter Cookbook and actively develops several open source libraries, such as RxDart, Redux.dart, and the Flutter Architecture Samples.


Brian Egan's Flutter and Dart Workshop will cover the following:

Day 1

Flutter and Dart Essentials

Intro to Dart
(Basic understanding of Dart syntax and fundamentals)
  • Variables: var, final, const
  • Type system
  • Strings and String Interpolation
  • Lists
  • Functions
  • Classes
  • Testing
  • Pub and Dart Packages
  • Exercise: Dart Koans
Flutter: First App & Layout Basics
(Create Standard Layouts with Flutter)
  • Creating a new Flutter app
  • WidgetsApp/MaterialApp
  • Working with themes to change the colour scheme of your app
  • Using Hot Reload!!!
  • Scaffold
  • Creating an AppBar
  • Intro to the Text Widget
  • Adding a FloatingActionButton
  • Intro to the Icon Widget
  • Row / Column / Expanded
  • Containers for Margin, Padding, Backgrounds, Shadows, Borders, etc.
  • Images
  • Creating your own Stateless Widgets
  • Exercise: Convert increasingly difficult designs into Flutter Widgets.
(Learn how to create Lists of Items for a Mobile app)
  • Working with ListView
  • Populating the List with Cards and ListTile
  • Infinitely Scrolling Lists with ListView.builder
  • GridView
  • Handling orientation changes
  • Working with Keys
  • Exercise: Use previous Designs to populate a normal ListView, GridView, and StaggeredGridView
Gestures & StatefulWidgets
(Understand how to change what's displayed on screen in response to User interactions)
  • GestureDetector and Inkwell
  • StatefulWidget
  • Passing data to Widgets
  • Passing functions to update State
  • Exercise: Using FloatingActionButton to update State, create a Custom Button that updates State, create a Tabbed Bottom Navigation that allows you to switch between tabs

Day 2

Building an App

(Learn how to launch and pass data between Screens)
  • Working with the Navigator
  • Pushing new Routes
  • Pushing names routes
  • Sending data back to a Parent Screen
  • Working with Hero transitions
  • Exercise: Create an app that navigates 3 screens deep, passing data along the way and back out. Stretch Goal: Use Hero animations to make it fancy
(Understand how to fetch data from the internet)
  • Using http client to fetch data from the internet
  • Working with Futures and async functions
  • Converting JSON into Dart Objects
  • Introduce jsonserializable for converting json without writing everything by hand, but don’t focus on it
  • Displaying the data as a List with a FutureBuilder Widget
  • Making Authenticated Calls to a web service
  • Exercise: Fetch a List of data from the JSONPlaceholder api. Stretch Goal: Use jsonserializable to convert json!
Build an app!
(Synthesize everything you've learned to run own challenges and solve them with assistance)
  • Introduce common resources to solve challenges along the way
  • You can choose to focus more on the Look and Feel or the Networking and Architecture of the app
Demo time!



If you are working with previous mobile or web app development, and are interested in learning to speed up development and ship to both iOS and Android with ease, then this course is for you.


Before attending this course, you would benefit from having some knowledge of Java, JavaScript or Swift, and should have previous experience of web app and/or mobile development.

Bring your own hardware

We invite you to bring your own laptop to Brian Egan's Flutter and Dart Workshop. Attendees should have Flutter and Android Studio installed on their laptop before the start of the course. Mac users can optionally install Xcode and the iOS toolchain.

If you are unable to bring your own laptop and you let us know at least 2 weeks prior to your attendance of this course, our team will be able to provide you with a laptop pre-installed with the above environment.