Regular Price: £360 Batch Price: From £360 📅 View Dates & Prices Group Booking Discount: From £240 per person 🧮 Calculate & Book 1-to-1 Training: £420 📋 Booking Request Form Course Overview A comprehensive introduction to Flutter for beginners. Starting with the fundamentals of Dart programming and moving into Flutter UI examples. This course will teach you Flutter and Dart from the ground up, with no prior knowledge required. Build iOS and Android apps with just one codebase. You'll learn the different approaches for loading and maintaining data in Flutter apps. Flutter is a Cross-platform Mobile Development Framework created by Google, enabling developers to build beautiful native mobile apps for both iOS and Android with only one programming language - Dart. You don't need to learn Swift/Objective-C and Kotlin/Java in order to write apps for iOS and Android. Requirements Basic programming language will help but is not a must-have You can use either macOS, Windows or Linux for Android app development - iOS apps can only be built on macOS though. It's recommended to use macOS. Xcode(version 14 recommended) to build and run on iOS app Android Studio to build and run on Android app Visual Studio Code NO prior iOS or Android development experience is required NO prior Flutter or Dart experience is required - this course starts at zero! Course Content Introduction to Flutter and Dart Programming Language Introduction to the course What is Flutter and Dart? Why Flutter and Dart? Writing Dart code DartPad Installing Dart SDK Installing Dart IDE and Writing Dart Program Dart Programming - Syntax The main( ) function Dart Variables Dart Data Types Dart Conditional Operators If Else and Logical Operators For Loops While Loops Do-while Loops Break Statement Switch Case Statement Dart Functions & Object-Oriented Programming (OOP) Functions Function Structure Creating a Function Function Return Data Void Function Function Returning Functions and Variable Creating a Class Adding Methods to Classes Providing Constructors for Your Classes Dart Project Structure and Dart Libraries Introduction To Development With Flutter Understanding the Flutter Framework Installing and Configuring Flutter SDK Install Android Studio Install the Android Emulator Install Xcode and Command Line Tools Test the iOS Simulator Mac Installation Troubleshooting Creating a New Flutter Project Run your Flutter App on an Android Phone Run your Flutter App on an iPhone Device Flutter Widgets Fundamentals What is a MaterialApp widget? Scaffold Widget Image Widget Container Widget Column and Row Widgets Icon Widget Card Widget App Icons for iOS and Android Apps Hot Reload and Hot Restart Stateful and Stateless Widgets Use a Custom Font Navigation and Routing Button Widget App Structure and Navigation Navigate to a New Screen and Back Navigate with Named Routes Send and Return Data Among Screens Animate a Widget Across Screens WebView Widget in Flutter Lab: Navigation and Routing a Pizza Store App Visual, Behavioral, and Motion-Rich Widgets implementing Material Design Guidelines Introduction BottomNavigatorBar Widget DefaultTabController, TabBar, and TabBarView ListTile Widget ListView Widget Drawer Widget DataTable Widget SelectableText Widget Stack Widget Input and Selections Dialogues, Alerts, and Panels Architecture and State Management Understand why we need to manage the state across our widget tree Learn about declarative vs. imperative programming Look at how setState works under the hood Learn about prop drilling and lifting state up Create a Demo app Learn about the BottomSheet widget and the ListViewBuilder. Understand Flutter app architecture design patterns Learn to manage state with the Google-recommended Bloc package Powering Flutter Apps With Backend Data Learn about asynchronous programming in Dart and understand how to use async/await and the Futures API. Understand Stateful Widget lifecycle methods. Handling exceptions in dart with try/catch and throw. Use Dart null aware operators to prevent app crashes. Getting location data from both iOS and Android. Using the http package to perform networking and get live data from open APIs. Understanding how to parse JSON data using the dart:convert library. Understand how to pass data to State objects via the Stateful Widget. Use the TextField Widget to take user input. Understand how to pass data backwards using the Navigator widget. Location-Aware Apps: Using GPS and Google Maps Introduction What is GPS and how does it work? The Camera Position Adding Google Maps to a Flutter app App Testing & Publishing Testing and Feedback for Your App Publishing Flutter Apps Publishing Android App on Google Play Store Publishing iOS app on Apple Store Course Dates, Prices & Enrolment All Training Physical Classes Virtual Classes UTC British Time (UK, Ireland, Iceland) Central European Time (France, Germany, Sweden) Eastern European Time (Finland, Cyprus) Eastern Time (New York, Toronto, Montreal) Central Time (Chicago, Houston, Winnipeg) Mountain Time (Calgary, Denver, Edmonton) Mountain Time (Phoenix) Pacific Time (Los Angeles, Seattle, Vancouver) Singapore Time Arabic Standard Time (Qatar, Saudi Arabia) Gulf Standard Time (UAE, Oman) Australian Eastern Time (Sydney, Melbourne) Western Australia Time (Perth) New Zealand Time China Standard Time (China, Taiwan, Hong Kong) Scroll right for more details There is no date for this course at this moment. Please complete the BOOKING REQUEST FORM below or come back to this page again later. Price Calculator & Booking Request Form Calculate prices for Corporate, 1-on-1 or group training and request a booking. Do you have a special training requirement or unable to find any suitable training date? Please complete and submit the booking request form, if you want to: book a course on different dates book for a group of delegates book corporate training book a customised training book a one-on-one training The price person is less when you book a course for more people. You can find the price per person and the total cost by changing the values of the training hours and the number of people below: How many hours? How many people? Total Cost Price per person Preferred Dates and Times Any other information