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

Implementing MVVM architecture

The need to implement proper architecture for the maintainability and scalability of an application is huge. Without proper architecture, it gets more and more complex to scale up the application or add new features. So, let’s start refactoring our Flutter Academy application by implementing the MVVM architecture.

We will start refactoring by organizing the folders first. We will organize the folders using one of the methods we discussed previously. As this application will be a medium-sized one once we complete this book, I am choosing to use functionality-based file organization. On top of that, I will use two layers, that is, an application layer and an infrastructure layer. Follow these steps to organize the folders for your own Flutter Academy application:

  1. Inside the lib folder, create two folders named app and infrastructure.
  2. Inside the app folder, we will again create the following folders:
    • pages
    • res
    • routes
    • view_models
    • widgets...