Book Image

Taking Flutter to the Web

By : Damodar Lohani
Book Image

Taking Flutter to the Web

By: Damodar Lohani

Overview of this book

Using a shared codebase in addition to an extensive range of tools in the Flutter ecosystem optimized for browsers, the Flutter framework has expanded to enable you to bring your mobile apps to the web. You’ll find out how web developers can leverage the Flutter framework for web apps with this hands-on guide. Taking Flutter to the Web will help you learn all about the Flutter ecosystem by covering the tools and project structure that allows you to easily integrate Flutter into your web stack. You’ll understand the concepts of cross-platform UI development and how they can be applied to web platforms. As you explore Flutter on the web, you'll become well-versed with using Flutter as an alternative UI platform for building adaptive and responsive designs for web apps. By the end of this Flutter book, you'll have built and deployed a complete Flutter app for the web and have a roadmap ready to target the web for your existing Flutter mobile apps.
Table of Contents (17 chapters)
1
Part 1: Basics of Flutter Web
5
Part 2: Flutter Web under the Hood
9
Part 3: Advanced Concepts

The basics of navigation in Flutter

Any production-level application requires multiple pages on which to display information. In order to manage multiple pages, we need to provide proper navigation support for users. Flutter provides different APIs for navigation. In this section, we will look at the imperative navigation API provided by an early version of Flutter, which is still effectively used. There are some shortcomings of this type of navigation, which is why the new declarative navigation API was introduced. We will look into these shortcomings, and in the next section, we will look at the new declarative navigation API.

To use Flutter’s imperative navigation, we need to understand two terms:

  • Navigator: Navigator is a widget that manages a stack of Route objects.
  • Route: Route is an object managed by Navigator that represents a screen. This is typically implemented by classes such as MaterialPageRoute.

When using imperative navigation, we use various...