Services Tech Notes

What’s new in Flutter 2

We all know how productive Flutter is when it comes to building apps on iOS and Android platforms. However, Flutter 2, which has been released on March 3rd, will even surprise you more.

BHSOFT will provide you with some new updates on Flutter 2’s new features. But first, let’s have a review on what developers love about Flutter.

What’s so good about Flutter?

Flutter is fast

One of the greatest features of Flutter is the hot reload feature. Hot reload loads code changes into the Dart Virtual Machine and re-builds the widget tree, allowing you to instantly view the changes result while still keeping the current application state.

Flutter is open source

Flutter has thousands of contributors having hands on and making the framework better.

Less time on development and fasten the time-to-market speed

Besides the Hot reload feature as mentioned above, Flutter has a wide range of ready-to-use widgets which are all super customizable, saving your development time.

Flutter application is built directly into the machine code, which helps to avoid performance bugs of the interpretation process. Hence, your app can be fully compiled and released ahead of time.

Flutter has its own rendering engine

Flutter lets developers get creative with their apps so much more than other platforms. One of the main reasons behind this is because Flutter uses Skia for rendering itself onto a platform-provided canvas. Skia allows any UI built-in Flutter to be launched on any platform, which helps to shorten and simplify the development process. 

Big brands that use Flutter

Flutter can also be integrated into automobiles, TVs, and smart home appliances. Many big brands have expanded their support for Flutter, such as Microsoft and Toyota. 

Here comes Flutter 2 

Flutter 2 aims at improving Flutter performance across multiple platforms. Now developers are able to reuse the codebase to create native apps across 5 operating systems: iOS, Android, Windows, macOS, and Linux.  

Flutter 2 also aims to improve the web experience on different browsers including Chrome, Firefox, Safari, or Edge. 

Below are some main updates of Flutter 2:
Updates for web support

Web support for Flutter allows existing mobile-based applications to be packaged as a PWA for reaching various devices, platforms or to provide an existing app with a web experience.

Three app forms that Flutter has supported since the beginning:

  • Progressive web apps (PWAs) 

PWAs allow developers to create mobile applications through the help of web browser APIs and features, bringing a native app-like user experience to cross-platform web applications.

Flutter helps to integrate PWAs with the user’s environment, including installation, offline support, and tailored UX. 

  • Single page apps (SPAs)

Flutter helps SPAs with rich graphics and interactive content to reach users on more devices and platforms.

  • Existing Flutter mobile apps

Flutter’s web support provides a browser-based delivery model for existing Flutter mobile apps. Developers can embed interactive experiences into websites. 

Flutter 2 aims at providing more stable support for the web with many new features:

  • Adding a new CanvasKit-powered rendering engine to boost performance. CanvasKit is fully consistent with Flutter mobile and desktop apps, using WebAssembly and WebGL to render Skia paint commands to the browser canvas.
  • Adding text autofill, control over address bar URLs and routing, PWA manifests, interactive scrollbars & keyboard shortcuts. 
  • Increase the default content density in desktop modes.
  • Screen reader support for Windows, macOS, and Chrome OS. 
  • Since Dart can be compiled to JavaScript, it boosts Flutter’s support for web apps even more.

Updates for iOS features

Flutter 2 has definitely focused on enhancement for web support. However, it doesn’t mean other platforms have been ignored, especially iOS. 

Now developers can build an IPA directly from the command line without opening Xcode. CocoaPods version has been updated to match with the latest tooling. 

Also, a few widgets have been added to the Cupertino design language implementation, namely, CupertinoSearchTextField, CupertinoFormSection, CupertinoFormRow, and CupertinoTextFormFieldRow

iOS is still at the top platform that is prioritized by Flutter for new features and performance improvements. 

Updates for Darts

Dart is updated to Dart 2.12 with many helpful features:

Dart 2.12 supports sound null safety, which helps developers to avoid null errors and some uncommon classes of bugs. 

Dart FFI 

Dart FFI allows developers to improve the existing code in C libraries for higher portability and better performance. Some new features have also been added, such as nested structs and passing structs by value

Mobile app development with Flutter 

Flutter has helped developers achieve the two main goals that they have dreamt about for years: Delivering high-performance cross-platform mobile apps and Writing code once that runs everywhere! Flutter is doing well across up to 6 platforms at the same time.

At BHSOFT, writing code once that runs everywhere is also one of our main goals. We have our own Flutter team and many of our partners are also strong in developing apps with Flutter.

Let’s dig into one of our cases that demonstrates developing a mobile app with Flutter:

BHSOFT and our network can help you meet up with various developers with strong background & experience in developing mobile apps with Flutter. Let’s look at one of our projects where we developed the mobile app for our client using Flutter.

In this project, we helped our clients to build a mobile application to track and manage their cryptocurrency. The app allows users to track their cryptocurrency portfolio (buy/sell transactions, exchanges, etc.), track bitcoin and coin price, share portfolio, keeping track of crypto price and market data in order to monitor their investment. 

Flutter worked very well when we developed the mobile app because it helped a lot to release the app faster as well as simplify the process of checking for errors. 

Contact us via [email protected] for further discussion and get the best out of our services! 

Author

Nguyen Bao Ngoc