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

Making our app responsive and adaptive

In this section, we will use some of the tools and techniques we learned about in the previous section to improve our Flutter Academy app. We will make our Flutter Academy app responsive and adaptive.

Defining metrics for responsive design

First, we will start by defining some screen size constants. We will use some of the popular screen sizes on the market that are also used by other web application frameworks.

In chapter3_start/lib/res, create a file named responsive.dart. Inside this file, define the following class and the constants. As we are working on Flutter on the web, the sizes here are taken from Tailwind CSS, a popular CSS framework. You can use this or decide the sizes yourself by researching the common screen sizes:

class ScreenSizes {
  static const double xs = 480.0;
  static const double sm = 640.0;
  static const double md = 768.0;
  static const double lg = 1024.0;
 ...