5 Things Every Developer Must Know About Flutter 2
Tags: flutter, dart, webdev, mobile
Published: 2021-03-17 12:58:37

---
title: 5 Things Every Developer Must Know About Flutter 2
published: true
date: 2021-03-17 12:20:14 UTC
tags: flutter, dart, webdev, mobile
canonical_url: https://www.syncfusion.com/blogs/post/5-things-every-developer-must-know-about-flutter-2.aspx
cover_image: https://www.syncfusion.com/blogs/wp-content/uploads/2021/03/5-Things-Every-Developer-Must-Know-About-Flutter-2-1-672x372.png
---

[Flutter](https://en.wikipedia.org/wiki/Flutter_(software) "Link to the Wikipedia article Flutter") is one of the most popular cross-platform UI frameworks for creating rich mobile, desktop and web applications. It is a portable framework that can run across all devices wherever pixels are rendered including embedded devices. [Flutter 2](https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65 "Link to the article What’s New in Flutter 2") is a major release that happened during the Flutter engage event on March 3, 2021. In this blog, I am going to highlight the following important updates in the Flutter 2 release and our Syncfusion’s plan to provide support in [our widgets](https://www.syncfusion.com/flutter-widgets "Link to the Syncfusion Flutter Widgets"):

- [Web support is now Stable](#web-support-is-now-stable)
- [Desktop support is now in beta](#desktop-support-is-now-in-beta)
- [Null Safety is now stable](#null-safety-is-now-stable)
- [New widgets and improvements](#new-widgets-and-improvements)
- [Breaking Changes](#breaking-changes)

Let’s discuss them!

## Web support is now Stable

Flutter Web support is now stable! This means you can use Flutter for developing production apps. [Google recommends Flutter for Web](https://medium.com/flutter/flutter-web-support-hits-the-stable-milestone-d6b84e83b425 "Link to the article Flutter web support hits the stable milestone") for:

- Developing single-page apps (SPAs).
- Developing progressive web apps (PWAs).
- Publishing your existing mobile apps as web apps to expand your users outside the app stores.

The Syncfusion [Flutter package](https://pub.dev/publishers/syncfusion.com/packages "Link to the Syncfusion Flutter package") is already compatible with the web platform, with built-in mouse and keyboard support. You can leverage our [beautiful charts](https://www.syncfusion.com/flutter-widgets/flutter-charts "Link to the Syncfusion Flutter Charts"), [feature-rich event calendar](https://www.syncfusion.com/flutter-widgets/flutter-calendar "Link to the Syncfusion Flutter Calendar"), [highly performing DataGrid (data table)](https://www.syncfusion.com/flutter-widgets/flutter-datagrid "Link to the Syncfusion Flutter DataGrid"), [interactive maps](https://pub.dev/packages/syncfusion_flutter_maps "Link to the Syncfusion Flutter Maps package"), [unique Excel Library](https://www.syncfusion.com/flutter-widgets/excel-library "Link to the Syncfusion Flutter Excel Library") and [popular PDF](https://www.syncfusion.com/flutter-widgets/pdf-library "Link to the Syncfusion Flutter PDF Library") packages to build a feature rich and robust web application.

Look at our widgets demo in this [Flutter web app.](https://flutter.syncfusion.com/ "Link to the Syncfusion Flutter web app demos")

**Note:** Our [PDF Viewer plugin](https://pub.dev/packages/syncfusion_flutter_pdfviewer "Link to the Syncfusion Flutter PDF Viewer package") will receive web support in our 2021 Volume 1 release, which is scheduled for the end of March.

## Desktop support is now in beta

Flutter Desktop support for Windows, macOS, and Linux is now available in beta mode. However, you can still use the [beta snapshot in a stable channel](https://flutter.dev/desktop#beta-snapshot-in-stable-channel "Link to Beta Snapshot in stable channel documentation") to build and run-on desktop platforms. To use the latest updates for your desktop applications, you must switch to the beta channel. Otherwise, you have to wait till the next stable release.

Although all the Syncfusion Flutter packages are already working properly, except the PDF Viewer, we are now ensuring all our features in the desktop platforms. We will be upgrading our [Flutter example projects](https://github.com/syncfusion/flutter-examples "Link to the Syncfusion Flutter examples on GitHub") in GitHub so that you can easily run them and see the demos of our widgets in your desired desktop platform. We also have plans to publish our examples in the corresponding app stores.

**Note:** We’ll be providing desktop support for the PDF Viewer in our upcoming releases.

## Null Safety is now stable

[Null safety](https://dart.dev/null-safety/migration-guide "Link to Migrating to null safety guide") has been moved to stable category in the [Dart 2.12](https://medium.com/dartlang/announcing-dart-2-12-499a6e689c87 "Link to the article Announcing Dart 2.12") release. With [null safety](https://dart.dev/null-safety/understanding-null-safety "Link to Understanding null safety documentation"), it is possible to eradicate null reference issues in our Flutter applications. It is high time that everyone [migrate their packages and apps](https://dart.dev/null-safety/migration-guide "Link to Migrating to null safety guide") to null safety.

At Syncfusion, we know many of you are expecting us to migrate our packages. We are now working with very high priority to migrate all our packages to null safety before the end of March.

## New widgets and improvements

Although there are a lot of new features and bugs fixes in the Flutter release, I am going to highlight the following important items:

- **New Widgets:** [Autocomplete](https://github.com/flutter/flutter/pull/62927 "Link to AutocompleteCore demo on GitHub") and [ScaffoldMessenger](https://github.com/flutter/flutter/pull/64101 "Link to ScaffoldMessenger demo on GitHub").
- **iOS features:**
  - [CupertinoSearchTextField](https://api.flutter.dev/flutter/cupertino/CupertinoSearchTextField-class.html "Link to the CupertinoSearchTextField class in Flutter") that looks similar to the iOS search bar.
  - [CupertinoFormSection](https://api.flutter.dev/flutter/cupertino/CupertinoFormSection-class.html "Link to the CupertinoFormSection class in Flutter"), [CupertinoFormRow](https://api.flutter.dev/flutter/cupertino/CupertinoFormRow-class.html "Link to the CupertinoFormRow class in Flutter"), and [CupertinoTextFormFieldRow](https://api.flutter.dev/flutter/cupertino/CupertinoTextFormFieldRow-class.html "Link to the CupertinoTextFormFieldRow class in Flutter") to ease the form-field validation.
  - Ability to build IPA directly in the command line.
- The scrollbar will show the track and you can click on the track to scroll the page up and down.
- You can customize the URLs in the address bar with the new [custom URL strategy](https://flutter.dev/docs/development/ui/navigation/url-strategies "Link to Configuring the URL strategy on the web in Flutter documentation").
- [Multiple Flutter instances](https://flutter.dev/docs/development/add-to-app/multiple-flutters "Link to Multiple Flutter screens or views getting started documentation") can be added to an existing app along with a reduced memory footprint.
- **Flutter DevTools:** 
  - **Performance** view was renamed  **CPU Profiler**.
  - **Timeline** view was renamed  **Performance.**
  - **Layout overflow exceptions**  can be inspected using the Flutter Inspector.

**Note:** For more information about DevTools updates, refer to the [Flutter DevTools 2 release notes](https://groups.google.com/g/flutter-announce/c/0xQhJR4nQbI "Link to the Flutter DevTools 2.0 Release Notes").

## Breaking Changes

- Continuation of [clipBehavior](https://github.com/flutter/flutter/pull/55977 "Link to Add clipBehavior to widgets with clipRect demo on GitHub") changes: [61366](https://github.com/flutter/flutter/pull/61366 "Link to Continue the clipBehavior breaking change #61366 demo on GitHub") & [66700](https://github.com/flutter/flutter/pull/66700 "Link to Default FittedBox's clipBehavior to none #66700 demo on GitHub").
- Removed some of the deprecated APIs as per [Flutter deprecation policy](https://flutter.dev/docs/resources/compatibility#deprecation-policy "Link to the Flutter deprecation policy").
- Removed the **nullOk** parameters and introduced the equivalent method with the prefix **maybe**. This breaking change is part of the null safety support. Check out this [design proposal](https://docs.google.com/document/d/1LKBL0S1uyhACDiUXILhLKFZH8Cpl_w3mXjHgaE8_--U/edit#heading=h.pub7jnop54q0 "Link to Eliminating nullOk Parameters document").

You can now quickly fix these breaking change using the [Flutter Fix](https://flutter.dev/docs/development/tools/flutter-fix "Link to the Flutter Fix documentation").

**Note:** For more information, refer to the [Flutter 2 complete release notes](https://flutter.dev/docs/development/tools/sdk/release-notes/release-notes-2.0.0 "Flutter 2.0 release notes").

## Conclusion

Thanks for reading! Flutter 2 is the primary focus of [Flutter Engage](https://events.flutter.dev/ "Link to Flutter Events"). However, [there were other interesting announcements made there](https://www.youtube.com/watch?v=IdrCyS7EF8M "Link to Top 10 things you need to know about Flutter Engage video"). Some of them were:

- [Microsoft announced its preview support for foldable devices](https://devblogs.microsoft.com/surface-duo/flutter-dual-screen-foldable/ "Link to the Microsoft's article Announcing Flutter support for foldable devices") in Flutter.
- Canonical’s decision to choose Flutter as the default choice for app development.
- [Upgraded Firebase plugins](https://firebase.flutter.dev/ "Link to the FlutterFire") for Flutter.
- [Google Mobile Ads SDK](https://pub.dev/packages/google_mobile_ads "Link to the Google Mobile Ads for Flutter") for Flutter.

For a complete list of all sessions, please check this [Flutter Engage playlist](https://www.youtube.com/playlist?list=PLjxrf2q8roU21cXt24HLm-ZODXmr4Jw0C "Link to the Flutter Engae playlist"). Please leave your opinion on the Flutter update in the comments section below!

## Syncfusion Flutter Widgets

Syncfusion offers flexible [Flutter widgets](https://www.syncfusion.com/flutter-widgets "Link to the Syncfusion Flutter widgets") to create high-quality apps for Android, iOS and the web. The number of widgets available is increasing every release and we are making every effort to ensure their stability. Try out our Flutter widgets in your Flutter application development. If you need a  particular new Flutter widget, you can contact us through our [support forum](https://www.syncfusion.com/forums "Link to the Syncfusion support forum"), [Direct-Trac](https://www.syncfusion.com/support/directtrac/incidents "Link to the Syncfusion support system Direct Trac"), or [feedback portal](https://www.syncfusion.com/feedback/flutter "Link to Syncfusion Feedback Portal"). We are always happy to assist you!

If you like this blog post, we think you’ll also like the following articles too:

- [How to Display Routes and Highlight Regions in Syncfusion Flutter Maps](https://dev.to/syncfusion/how-to-display-routes-and-highlight-regions-in-syncfusion-flutter-maps-5afn "Link to the article How to Display Routes and Highlight Regions in Syncfusion Flutter Maps") [Blog]
- [How to Create PDF/A Standard Files in Flutter](https://dev.to/syncfusion/how-to-create-pdf-a-standard-files-in-flutter-1ic5 "Link to the article How to Create PDF/A Standard Files in Flutter") [Blog]
- [Flutter Succinctly](https://www.syncfusion.com/ebooks/flutter-succinctly "Link to the eBook Flutter Succinctly") [eBook]
- [iOS Succinctly](https://www.syncfusion.com/ebooks/ios "Link to the eBook iOS Succinctly") [eBook]