My experience with Flutter on Web

Ease of Development

Dart

  1. Top level functions. Dart allows you to create top level functions without enclosing them to an artificial class if you don’t want to.
  2. constantness. Dart has the concept of constants that works very much like C++.
  3. Extension. Dart allows developers to extend classes, even built in ones. A good example is this crazy easy to use I18N extension.
  4. null aware operators. These operators allow you to navigate object structure without all the if statements. Read this articles for details.

Flutter Framework

Widget

Stateful vs Stateless

Layout

  1. Container. A container is like a div . It provides padding, constraints, and even transformation to its child.
  2. Row and Column. Row aligns its children along the horizontal axis (its main axis) while column aligns its children along the vertical axis (again, that’s its main axis). The key attributes are mainAxisAlignment and crossAxisAlignment .
  3. SizedBox. Inside a Row widget or a Column widget, you can use a SizedBox widget to control the spacing between two widgets.
  4. Expanded. The Expanded widget tells the layout engine that its child should take up any remaining space inside a Row or a Column.
  5. GridView. The GridView widget shows its children in a grid.
  6. ListView. A simple widget to display items in a list.

IDE

But what about the Web?

Web Support for Flutter (https://flutter.dev/web)
  1. text selection across widgets does not works.
  2. Embedding a Flutter application inside an existing web application is hard. The only supported mechanism is through an iframe .

Conclusions

  1. Don’t be afraid to try. Dart borrows features from different languages. You will easily find familiarity with it.
  2. Flutter documentation is well written, make good use of it.
  3. From time to time, check out the Boring Flutter Development Show on YouTube. I have learnt a lot from it. As with anything, you learn more when you also practice at the same time.

--

--

--

A seasoned consultant specialized in Software Development and Architecture. Charles also loves to tavel, follow him on https://www.gorestrepeat.com/

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Understand massively parallel processing concepts

Git Workflow Comparison

CQL is similar to SQL, not the same

How to Solve Video or Music Error 0xc00d36b4 on Windows 10?

Getting started with Solidity development using Truffle

Going Down The Rabbit Hole With RabbitMQ

Azure DevOps — Setting up CI for a Web Application (Angular / React / Vue)

The Minerva release is out!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Charles Chan

Charles Chan

A seasoned consultant specialized in Software Development and Architecture. Charles also loves to tavel, follow him on https://www.gorestrepeat.com/

More from Medium

GestureDetector In Flutter

What is Flutter?

Different plugin for the database in a flutter

Flutter Custom In-App Keyboard