Build Mobile Web Applications With Flutter

Paths

Build Mobile Web Applications With Flutter

Authors: Simone Alessandria, Douglas Starnes, Mike Van Sickle, Majid Hajian, Afzaal Ahmad Zeeshan, Christian Wenz, Federico Mestrone, Miguel Beltran

Flutter is an application framework used for building beautiful, natively compiled apps for mobile, web, and desktop from a single codebase. Develop fast with fully-customizable... Read more

  • Creating layouts, animations, and forms
  • Managing state
  • Persisting data locally
  • Debugging & Testing
  • Developing packages

Pre-requisites

If you have a general familiarity with programming concepts then you should be fine jumping into Flutter. Those already into native development should pick up Flutter with ease and discover the fun of the development process.

Build Mobile Web Applications With Flutter

Flutter is an application framework used for building beautiful, natively compiled apps for mobile, web, and desktop from a single codebase. Develop fast with fully-customizable widgets and Stateful Hot Reload, ship features quickly with an expressive and flexible UI, and get full native performance with widgets that incorporate all critical platform differences. In this skill path you will learn the foundational knowledge needed to get started with Flutter and how to expand upon those features as you progress through the courses.

Flutter: The Big Picture

by Simone Alessandria

Aug 13, 2021 / 1h 13m

1h 13m

Start Course
Description

Maybe you’ve heard that Flutter is a great tool to create apps fast, or maybe you’ve seen some beautiful designs made with Flutter. In this course, Flutter: The Big Picture, you’ll gain foundational knowledge of what Flutter is. First, you’ll learn how Flutter can help you create apps for iOS and Android. Next, you’ll discover how to start learning Flutter, depending on your background. Finally, you’ll explore a few of the tools that Flutter makes available to developers and designers. When you’re finished with this course, you’ll have the knowledge to decide whether Flutter is the right tool for you, and to keep learning how to develop apps with Flutter.

Table of contents
  1. Course Overview
  2. What Is Flutter?
  3. Flutter Architecture
  4. Flutter Tools
  5. Flutter for Your Business

Flutter: Getting Started

by Simone Alessandria

Jul 29, 2021 / 2h 50m

2h 50m

Start Course
Description

Do you want to create an app for mobile, web, or desktop? In this course, Flutter: Getting Started, you’ll learn to build cross-platform apps with Flutter. First, you’ll explore what Flutter can do and how to install it. Next, you’ll discover how to use widgets and interact with your users. Finally, you’ll learn how to create multi-screen apps that connect to a web service. When you’re finished with this course, you’ll have the skills and knowledge of Flutter needed to start developing apps for small and large screens.

Table of contents
  1. Course Overview
  2. Hello, Flutter!
  3. Adding Navigation and the Home Screen
  4. Creating a BMI Calculator
  5. The Weather Page
  6. Saving Training Data

Creating Layouts with Flutter

by Simone Alessandria

Jul 30, 2019 / 3h 16s

3h 16s

Start Course
Description

In order to succeed, mobile products have to look good. In this course, Creating Layouts with Flutter, you'll gain the ability to leverage Flutter widgets in order to build professional layouts. First, you’ll learn how to use Containers, Rows, and Columns. Next, you’ll discover how to extend the space on your screen with ListView and GridView. Finally, you’ll explore how to use the Cupertino Library to target iOS devices and use hero animations in your apps. When you’re finished with this course, you’ll have the skills and knowledge of Flutter needed to create engaging user interfaces. Software required: The Flutter SDK, Visual Studio Code or Android Studio/IntelliJ Idea.

Table of contents
  1. Course Overview
  2. Building a Basic Layout
  3. Using Containers
  4. Using Rows and Columns
  5. Managing and Extending the Space on the Screen
  6. Creating Layouts for Navigation
  7. Using Cupertino Widgets
  8. Using Animations in Your Layouts

Creating a Connected App with Flutter

by Douglas Starnes

Oct 21, 2020 / 1h 53m

1h 53m

Start Course
Description

The packages available in the Dart language can be used to connect Flutter apps to web services. In this course, Creating a Connected App with Flutter, you’ll learn to write a Flutter application to communicate with a web service. First you’ll explore how to fetch data over HTTP. Next, you’ll discover the various ways Flutter and Dart make it easy and safe to work with JSON data. Finally, you’ll learn how to communicate with a web service sending and receiving JSON data and basic authentication. When you’re finished with this course, you’ll have the skills and knowledge of connected Flutter apps needed to write a Flutter application that can connect to a web service.

Table of contents
  1. Course Overview
  2. Asynchronous Programming with Dart
  3. Fetching Data from the Web
  4. Serializing JSON Data
  5. Using JSON with Web Services
  6. Deserializing JSON Data
  7. Implementing Basic Authentication

Managing State in Flutter

by Mike Van Sickle

Nov 9, 2020 / 2h 14m

2h 14m

Start Course
Description

Flutter is arguably one of the best options for creating truly cross-platform mobile applications. One of the challenges that many developers face when learning Flutter, however, is how to successfully apply its reactive data model to real applications. In this course, Managing State in Flutter, you’ll learn about the most commonly used state management options that Flutter offers and when to apply each one. First, you’ll explore how to manage data within a single component using Stateful widgets. Next, you’ll discover your options for sharing state among a collection of widgets using Providers. Finally, you’ll learn how to using the BLoC pattern to separate your application’s business logic from its visual elements. When you’re finished with this course, you’ll have the skills and knowledge of what your state management options are and when to apply them in your own Flutter applications.

Table of contents
  1. Course Overview
  2. Using Stateful and Stateless Widgets
  3. Sharing State with ScopedModels and Providers
  4. Encapsulating State with the BLoC Pattern

Persisting Data Locally with Flutter

by Simone Alessandria

Nov 24, 2020 / 2h 33m

2h 33m

Start Course
Description

There are several options to store data with Flutter and choosing the best tool may look overwhelming. In this course, Persisting Data Locally with Flutter, you’ll learn how to choose and use the right tool to store data locally in your Flutter apps. First, you’ll explore the different tools that are available. Next, you’ll discover how to store data within SQL and NOSQL databases, using SharedPreferences, Sembast, SQLite, and Moor. Finally, you’ll learn how to read and write data to files. When you’re finished with this course, you’ll have the skills and knowledge of Flutter needed to store data locally in your apps.

Table of contents
  1. Course Overview
  2. Choosing Your Storage Solution
  3. Using SharedPreferences
  4. Using Sembast
  5. Using SQLite
  6. Using Moor
  7. Writing to Files

Creating a Full Stack App with Flutter and Firebase

by Majid Hajian

Apr 13, 2021 / 2h 33m

2h 33m

Start Course
Description

Using a serverless approach to handle your backend requirements to implement and scale fast is a viable solution for Flutter development. So, using Firebase to facilitate rapid development with Flutter is inevitable. In this course, Creating a Full Stack App with Flutter and Firebase, you’ll learn to create apps using a serverless approach that can easily scale and fulfill your needs. First, you’ll explore what the services are in Firebase. Next, you’ll discover how to integrate a Flutter app with Firebase and use Authentication and Analytics services. Then, you’ll learn how to benefit from Cloud Firestore to manage your database and messaging to deliver push notifications to your users. Finally, you'll delve into writing your serverless functions. When you’re finished with this course, you’ll have the skills and knowledge of creating a full stack app using Flutter and Firebase needed to deliver a scalable and high quality app to your customer. Software required: Flutter 2.0.3 and Dart 2.12.0.

Table of contents
  1. Course Overview
  2. Overview and Basic Setup
  3. Authentication
  4. Database Management
  5. Push Notifications
  6. In-App Messaging

Creating Animations with Flutter

by Douglas Starnes

Mar 16, 2021 / 1h 51m

1h 51m

Start Course
Description

Flutter makes it easy and fun to add visually interesting animations to your application. In this course, Creating Animations with Flutter, you’ll learn how to create and use animations within a Flutter application. First, you’ll explore the different types of animations available in Flutter and how to use state to manage animations. Next, you’ll discover how to create basic animations to manage position, shape, color, and other properties. Finally, you’ll learn how to create advanced animations with physics and animation tools to design. When you’re finished with this course, you’ll have the skills and knowledge of Flutter animations needed to add visual appeal to your Flutter applications.

Table of contents
  1. Course Overview
  2. Creating Flutter Animations
  3. Using Tween Animations
  4. Combining Animations
  5. Using Hero Animations
  6. Using Physics Simulations to Model the Real World
  7. Advanced Animations with Rive

Creating Forms with Flutter

by Afzaal Ahmad Zeeshan

Dec 3, 2020 / 1h 17m

1h 17m

Start Course
Description

Using built-in widgets from Flutter's SDK is a great resource when creating mobile-first interfaces. In this course, Creating Forms with Flutter, you'll learn how to develop mobile-first interfaces to take input from users with Flutter SDK. First, you’ll explore different input types and your users will engage with the mobile application to provide the input. Next, you’ll learn what built-in widgets are available in Flutter SDK to accept input from users. Then, you'll dive into Form creation, which allows you to group multiple widgets together as a single unit of input. Finally, you'll discover how to create custom form fields based on your business needs and user experience requirements. When you are finished with this course, you’ll have the skills and knowledge needed to create beautiful forms in Flutter to accept user inputs in a mobile-first and user-friendly manner.

Table of contents
  1. Course Overview
  2. Flutter: Input Types
  3. Using Flutter Widgets for Input
  4. Building a Form with Flutter
  5. Validating Form Fields
  6. Creating Custom Fields

Creating Localized Apps with Flutter

by Christian Wenz

May 6, 2021 / 1h 16m

1h 16m

Start Course
Description

Successful apps must support several languages to reach a global audience. In this course, Creating Localized Apps with Flutter, you’ll learn to localize Flutter apps. First, you’ll explore the different localization concepts of Flutter. Next, you’ll discover the flutter_localizations and intl packages and how to use them. Finally, you’ll learn how to design an app to make it international from the beginning. When you’re finished with this course, you’ll have the skills and knowledge of Flutter’s localization feature needed to create internationalized apps.

Table of contents
  1. Course Overview
  2. Flutter Localization Basics
  3. Making Flutter Apps International
  4. Localization with the Intl Package

Developing Mobile-specific Features with Flutter

by Federico Mestrone

Jul 13, 2021 / 1h 36m

1h 36m

Start Course
Description

Flutter enables cross-platform development targeting mobile, web, and desktop platforms, but in order to make the most of the capabilities of mobile devices, packages beyond the core ones may be needed. In this course, Developing Mobile-specific Features with Flutter, you’ll learn to use a number of Flutter plugins aimed mainly at Android and iOS. First, you’ll explore how to add audio and videos to your apps, and how to display web pages directly within them. Next, you’ll discover the use of the URL launcher to place calls, send messages, and open the browser from your apps. Finally, you’ll learn how to use the geolocation capabilities of your mobile device. When you’re finished with this course, you’ll have the skills and knowledge of mobile development needed to create apps that can target both Android and iOS from a single code base.

Table of contents
  1. Course Overview
  2. Supporting Local State with Stateful Widgets
  3. Adding Pronunciation Audio
  4. Adding Video and Web Lessons
  5. Creating a Contact Form with URL Launcher
  6. Creating a Community with Geolocation

Debugging, Testing, and Publishing a Flutter App

by Majid Hajian

Jun 14, 2021 / 2h 32m

2h 32m

Start Course
Description

Debugging and error handling are a big part of the development process. In this course, Debugging, Testing, and Publishing a Flutter App, you'll learn to debug code and layout issues, handle errors, and deploy your own Flutter app. First, you'll explore DevTools and different possibilities to debug code, spot layout issues, and resolve them efficiently. Next, you'll discover errors for both Flutter and Dart and report them properly to a reporting system. Then, you'll learn how to mock dependencies, and write unit and integration tests to ensure your code and app quality. Finally, you'll delve into deploying your Android app to Google Play, iOS App Store, and a web application. When you're finished with this course, you'll have the skills and knowledge of debugging, testing, and publishing your Flutter app needed to deliver the highest quality to the end-user.

Table of contents
  1. Course Overview
  2. Error Reporting Features in a Flutter App
  3. Debugging Using the IDE and Flutter Tooling
  4. Testing a Flutter App: Basic and Unit Tests
  5. Testing a Flutter App: Widget Tests
  6. Testing a Flutter App: Integration Tests
  7. Deploying a Flutter App

Developing Packages in Flutter

by Miguel Beltran

May 13, 2021 / 1h 25m

1h 25m

Start Course
Description

Flutter packages are an essential part of the ecosystem. They provide functionality that the framework lacks and allow developers to share their solutions, however, this task can seem overwhelming for new Flutter developers. In this course, Developing Packages in Flutter, you’ll learn to use, create, and publish packages and plugins for Flutter. First, you’ll explore how to use existing packages on pub.dev. Next, you’ll discover how to create packages from scratch, including plugin packages with native platform functionality. Finally, you’ll learn how to publish new packages to pub.dev to be used by other developers. When you’re finished with this course, you’ll have the skills and knowledge of package development in Flutter needed to use, create, and publish Flutter packages.

Table of contents
  1. Course Overview
  2. Using Existing Flutter Packages
  3. Creating New Flutter Packages
  4. Creating New Flutter Plugin Packages
  5. Publishing Flutter Packages