Section 1: Lab: Setting Up the Tools on Windows and macOS
- Install the Flutter 3.47 SDK on Windows and macOS and set up the PATH
- Install VS Code with the Flutter extension, and Android Studio for the Android SDK
- Install Xcode and CocoaPods on macOS to run apps on iOS
- Create an Android emulator and an iOS simulator and run a sample app
- Check the setup with flutter doctor and fix the most common problems
Section 2: Lab: The Dart 3 You Use in Real Work
- Sound null safety and handling null values safely
- Records, pattern matching and switch expressions
- Class modifiers: sealed, final, base and interface, and when to use them
- Asynchronous programming with Future, async, await and Stream
- Handling exceptions, and dates and times with DateTime and the intl package
Section 3: Lab: A Project Structure for Larger Apps
- Split the code into screens, widgets, models, services, theme and utils folders
- Keep constants, colours and styles in one place and reuse them across the app
- Create custom widgets that can be reused throughout the project
- Theme the app with ColorScheme.fromSeed and support dark mode
- Keep code quality high with flutter analyze and lints, and reuse this skeleton for new projects
Section 4: Lab: Main Layouts with NavigationBar, a Drawer and TabBar
- A bottom menu with the Material 3 NavigationBar
- A side menu with NavigationDrawer, including a header and categories
- Split content into categories with TabBar and TabBarView
- Combine all three in one app without confusing users
- Lab: build the main screen skeleton of the news app
Section 5: Lab: Layouts That Adapt to Phones and Tablets
- Adaptive layout concepts and choosing breakpoints
- Check the screen size with LayoutBuilder and MediaQuery.sizeOf
- Switch from NavigationBar to NavigationRail on wide screens
- Show a list and its details side by side on tablets
- Lab: test the app on phones, tablets and with screen rotation