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
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.
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
Flutter and Dart Essentials
Intro to Dart(Basic understanding of Dart syntax and fundamentals)
- Variables: var, final, const
- Type system
- Strings and String Interpolation
- Pub and Dart Packages
- Exercise: Dart Koans
Flutter: First App & Layout Basics
(Create Standard Layouts with Flutter)
- Creating a new Flutter app
- Working with themes to change the colour scheme of your app
- Using Hot Reload!!!
- 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.
- 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
- 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
- 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
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
(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
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.
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.