Mbi8zs947xg0jmophhb1
2 DAY COURSE

Brian Egan's Flutter and Dart Workshop

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

Next up:

The days of writing separate code for iOS and Android are over with the advent of Flutter. This two-day collaborative Flutter and Dart course provides you with a comprehensive understanding of the best practices and uses of Flutter, beginning with an introduction to the Dart language.

Join our expert on all things Flutter, Brian Egan, as he guides you through how to apply the Flutter framework to drastically speed up and simplify your mobile development efforts. Meet and collaborate with other developers to consolidate what you learn and to find new ways to apply your skills to current and future projects.

- Learn how to simultanesouly develop iOS and Android applications with Flutter -


Who you will be learning with

Mobile and web app developers who either have previous experience with Flutter and wish to refresh and build on their existing skills, or those with previous Java, JavaScript or Swift experience eager to explore new ways to improve their development efforts.

How to apply these skills

If your organization is spending resources on developing for both iOS and Android, or have avoided developing on both platforms due to cost, this Flutter and Dart course will provide you with essential skills and knowledge to dramatically improve on both your efficiency and the UX of your products.

What next?


Book early to receive a discount on the course price and in doing so you will not only commit to growing your own skill set, but help us grow our community of over 140,000 passionate techies.

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

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.

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.
Lists

(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


Navigation
(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
Networking

(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 json_serializable 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 json_serializable 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!

Audience

This course is intended for anyone with previous mobile or web app development who is interested in learning to speed up their development and ship to both iOS and Android with ease.

Prerequisites

Delegates should have some knowledge of Java, JavaScript or Swift, and should have previous experience of web app and/or mobile development.

Bring your own hardware

To participate in this workshop, delegates will need to bring their own laptop. 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.

Overview

The days of writing separate code for iOS and Android are over with the advent of Flutter. This two-day collaborative Flutter and Dart course provides you with a comprehensive understanding of the best practices and uses of Flutter, beginning with an introduction to the Dart language.

Join our expert on all things Flutter, Brian Egan, as he guides you through how to apply the Flutter framework to drastically speed up and simplify your mobile development efforts. Meet and collaborate with other developers to consolidate what you learn and to find new ways to apply your skills to current and future projects.

- Learn how to simultanesouly develop iOS and Android applications with Flutter -


Who you will be learning with

Mobile and web app developers who either have previous experience with Flutter and wish to refresh and build on their existing skills, or those with previous Java, JavaScript or Swift experience eager to explore new ways to improve their development efforts.

How to apply these skills

If your organization is spending resources on developing for both iOS and Android, or have avoided developing on both platforms due to cost, this Flutter and Dart course will provide you with essential skills and knowledge to dramatically improve on both your efficiency and the UX of your products.

What next?


Book early to receive a discount on the course price and in doing so you will not only commit to growing your own skill set, but help us grow our community of over 140,000 passionate techies.

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

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.

Program

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.
Lists

(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


Navigation
(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
Networking

(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 json_serializable 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 json_serializable 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!
Audience

Audience

This course is intended for anyone with previous mobile or web app development who is interested in learning to speed up their development and ship to both iOS and Android with ease.

Prerequisites

Delegates should have some knowledge of Java, JavaScript or Swift, and should have previous experience of web app and/or mobile development.

Bring your own hardware

To participate in this workshop, delegates will need to bring their own laptop. 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.