fbpx

Flutter for Web – A must try for every Beginner & App Developer

On May 7th 2019 at Google IO 2019, Google launches the Flutter for the web preview version. Flutter has been built to provide developers with a fast development framework and help users enjoy a responsive faster app environment.
Flutter for the web has a 100% code compatibility that works with standard web technologies like HTML, CSS, and Javascript. One of the benefits is that one can reuse the existing Flutter code and deploy it into any web server without any browser plugin.
However, the difference lies in the engine. For mobile applications, the Flutter engine uses Skia, C++, Dart along with a few portions of platform-specific code. But for the web applications, Flutter engine relies on various technologies and tools.

 

Flutter Architecture for iOS and Android

The first layer in the flutter structure is responsible for all the built-in widgets and gestures. The Flutter engine forms the second layer which is written in C++ and uses Google’s Skia as a graphics library. Next is a thin runner layer which is responsible for running the app on individual platforms.
Hardware layer is the last layer which aids in providing the necessary hardware where the app runs. 

 

The Architecture of Flutter for Web

The first layer remains the same as Flutter architecture for android & IOS, consisting Flutter framework layer responsible for all the built-in widgets and gestures.
The major difference is in the Browser layer. The last two layers of mobile app structure have been clubbed to one for web development. Instead of Skia Graphics Engine, Flutter for web uses a JavaScript engine. Flutter web easily complies Dart to JavaScript, instead of the ARM machine code that is used for mobile apps. A combination of DOM, Canvas and CSS is used to render Flutter components in the browser.

Certain points to keep in mind before getting started with flutter for web:

  • There is not much difference in the API for flutter for mobile & web, but some features are still lacking to be implemented in the web version.
  • As it is still under development, a web page created with Flutter will give a feel that’s more like a mobile app than a real web app.
  • Flutter supports only the Chrome browser.

 

Web Development with Flutter

To create a Flutter app with web support, one needs to enter the beta channel of Flutter.

Here are the steps required for developing an app with Flutter on the web:

  • Shifting to the beta channel
  • Upgrading Flutter
  • Enabling web support
  • Creating a new Flutter project
  • Opening the project using the IDE of one’s choice

 

Tools support for Flutter Web Development

Visual Studio Code

Visual Studio Code supports Flutter web development with the v3.0 release of the Flutter extension.

Using Android Studio

There is no availability of direct plug-in or template to create a web project in the android studio, on the other hand, a good option can be Stagehand package that helps you get your web project set up. It is a Dart project scaffolding generator, inspired by tools like Web Starter Kit and Yeoman.

 

The Future of Flutter for Web

It is quite a fact that flutter is still in its development phase and the current state of Flutter for web is just a technical preview. Many things in its functionality especially in terms of its stability and UI are bound to change with time.
Below are some things which might improve in the upcoming fixes –

  • Speedy performance for interactive graphics.
  • Consistency in Behaviour and visuals with Flutter on other platforms.
  • Easy Integration & high productivity developer tooling
  • Common Support for core web features across all modern browsers.
  • Unlike mobile apps, consistent support for mouse scrolling, hover and focus for web
  • For features like location, camera, and file access, easy support of plugins
  • Unifying web development tooling under the existing Flutter CLI and IDE integration.
  • Using DevTools to debug various web applications
  • Improvisations in speed and performance, browser support, and ease in the accessibility.

 

Even though flutter is in the development phase, flutter can prove to be great for experimenting with various apps and its working and support. Flutter’s attractive framework, easy usability, and cross-platform support grabs the attention of the developers worldwide and insist one to learn and start using. So, one should start trusting Flutter for web apps.

Interested in flutter development? You might be interested in below mobile app development blogs:

Advantages & Disadvantages of Flutter – What is Flutter?, Flutter Pros and Cons
Why Android and iOS Developers Should Pay Attention to Flutter in 2021?
Cross-Platform Mobile App Development with Flutter – Why choose Flutter for App Development?
How Much Does Flutter App Development Cost? – Estimation, How to Calculate?
Mobile Application Development Outsourcing – How, Why, Pros, Cons