Flutter 2.2 Adds More Firepower in Platform’s Arsenal

Featured Image
Overview

Alright, people, it’s time as Google is back with another developer-friendly and exciting update to their open-source development language, Flutter. Google has always been ahead of all competitors in giving its users a secure and better environment for programming, testing, and deployment. The newest update focuses on betterment in multiple aspects like data accessibility, data representation, smoother animations, safer monetizations, and website development. After merging thousands of changes from open-source contributors, the new flutter 2.2 can be considered the best choice for cross-platform as well as native development. The key updates in the language’s structure and semantics are discussed below.

 

 

Dart 2.13

Since flutter is based on the programming language “Dart”, so with the update in flutter comes the update in Dart as well. The new version of Dart is compatible with

 

a.) Bridging the code with external backend languages like C

b.) Docker systems

c.) Google Cloud

 

It has incorporated Foreign Function Interface through which now native C APIs can also be called making applications smoother and more reliable. It also provides support for type “alias” for variables.

 

 

Improvements in Web Platform

There were some bugs in the previous version of web support in flutter. This update aims at removing those bugs.

 

1. Bug Fixes

There were some bugs in the previous version of web support in flutter. This update aims at removing those bugs.

 

2. Redownloading of Files

In some cases, there were some files like “main.dart.js” which redownloaded causing the application to crash or relaunch in some cases. This bug is resolved in the current update.

 

3. Application Update

This is one of the most common bugs that reduced the usability of the app exponentially in the update state. While updating, the user was able to run the application in the previous state and at the end of the update, the web pages would become static for some time and refreshing the page multiple times would work. Now while updating, the user can’t run the application and after the update, the web page gets updated automatically without any stale point.

 

New Features In Flutter Web

The new notable features added in flutter 2.2 for web support are mentioned below.

 

1. Styling Fonts

This is a brand-new feature that helps you beautify your web content. “FontFeatures” helps in styling the content. It has multiple constructors to customize the application according to your needs.

 

2. HTML Text Rendering

For perfect HTML rendering, support for Canvas API has been added to adjust text position according to your choice.

 

New Features Introduced in Flutter's Web Platform
3. Shader Mask

Shader Mask support has been added to make the UI smoother and better and make the transitions look like mobile applications’ transitions. Opacity mask has been added further to make fade-out transitions and animations look real and perfect.

 

4. Semantic Nodes Positioning

This feature has been added for better accessibility of all widgets inside the code. Whenever the application is run by the user, the DOM tree is updated and now can easily be accessed. A new flag for semantics has been added for better debugging of the code and visualization of the widgets.

 

New Features In Flutter Mobile
Introduction of Type Alias

Aliases are one of the most requested features for flutter. Although aliases for functions were previously available, now variables can also be defined through the alias. Alias means that you can create any new name for the existing datatype and use a new name instead of that type. It not only makes programming developer-friendly but also helps in increasing the readability of code and refactoring of code.

 

IOS Animations

IOS animations have been made a lot smoother and faster for excellent real-time experience with no stutters. The time of animation has been reduced by around 75% making the application efficient and making animations comparable to android.

 

IOS First Run

In some cases, the application is run for the first time on IOS caused run time failures like crashing and freezing of the application. This bug has been fixed resulting in a smooth and error-less use of the application.

 

Increase in Material Icons

Flutter always focuses on beautifying the content of the applications. So, it extends styling content in every update. Plenty of Material Icons have been added in this update making a total of around seven thousand total icons in programming to use. You can use the icons in two ways.

 

a.) Use any icon directly in code using the constructor of the Icon class.

b.) Search for the icon you want to incorporate in your application and download it from google. Now keep this icon as an asset in your code and can be used from this folder anywhere. You need to add these icons in the”. yaml” file for providing the root directory.

 

Monetization

Flutter 2.2 comes with a plug-in to incorporate “Google Pay” directly into your applications. This has allowed developers to link ads and create payment methods in a safer and more user-friendly way. The same feature has been created for the IOS users under the name of “Apple pay”. The plug-in has been developed by Google Development Team and has efficient and error-free methods to help the businessman in a developer. After all app monetization is the end goal in most cases of development

 

Text Handling; A better way

Google has introduced a brand-new feature of “Customizing Text Actions” where you can use the keys of your choice for the action of your choice. This support is provided on multiple platforms like touch input and mouse, keyboard input. Canceling a keystroke is also a feature introduced in this update. Not only keys are customizable now but tracking the actions performed by the keys and changing them has also been made easy.

Platform Adaptive Apps

Flutter is the pioneer in cross-platform application development. In the previous update, support for web development was launched while flutter 2.2 has taken a step ahead and allows you to customize the same code for different types of inputs like

“Touch vs Mouse+Keyboard”. You can now create applications for menus, drawers, navigations, etc. from a single code repository. You control the screen size, input methods, placement of widgets, and much more depending on the platform your code is targeting. It removes the distinction between native and hybrid development of applications as code is completely customized and one cannot differentiate between whether the application was developed on a native platform or a cross-platform like flutter. This new feature has been called “Platform Adaptive Applications” by the Google team.

Null Safety Update

Null safety has been introduced in flutter 2.2 which protects the developer from headache to “Null Pointer Error”. Programmers can now create non-null types in their code. All the new projects are now created with Null safety by default. The Dart SDK has also been updated that checks the null error at run time and improves the efficiency of the application. The flutter open-source packages have also been updated to be compatible with this update and around 5000 packages have migrated to null safety.

What's-New-in-Flutter-2.2

 

Automatic Scrolling

This is an amazing feature introduced in flutter 2.2 where the scrollbar is added automatically when the content to be displayed is greater than the screen size or size of the container. In the case of the web, the scrollbar was automatic whenever content was greater than the container size but for Android/IOS a scrollbar was needed to be added manually in the code. After this update, even in android and IOS scrollbar would be added automatically making the run time experience smoother and better. You can still change the theme and looks of the scrollbar manually through the “ScrollBarTheme” class according to your choice.

Mouse Cursor over Text

In the previous updates of flutter, flutter would automatically change the cursor according to the text or a button or a link. These cursors could be added over the widgets as well. But if you wanted to change the cursor on a text according to your choice, it was not possible since TextSpan was not a widget. But with the newest update comes the support for cursors as well. Now you can set the cursor type in the “TextSpan” widget with a gesture recognizer making your text customizable. Consider that you want to change cursor type on a certain part of the text, you can add the “onTap()” gesture and change cursor type there. This feature is like inserting a hyperlink in the word where a text represents the link added to it. Clicking on that text takes you to that link.

 

Deferred Components for Android

Flutter has introduced the concept of deferred components in the latest update. The deferred component is the one that is downloaded and used at run-time rather than being downloaded initially. Whenever a user asks for components that are available for use but not downloaded, they are downloaded after the request of the user. This not only makes the application smoother but also reduces the size of the initial APK. A survey says around 46% of application size is reduced by the usage of deferred components. Although it is released for android, soon it will be available for iOS as well.

Windows UWP Support

Universal Windows Platform commonly referred to as UWP has been a key update in flutter 2.2 which allows you to run and build the applications in a virtual environment. Windows UWP means that it is available on Windows only. UWP environments are those where standard windows applications don’t run like XBOX. You run your applications virtually via a sandbox. To set up your applications for UWP you need to go to flutter dev and run the pre-requisites for UWP.

Development Tools Improvement

Flutter has not only focused on the platform for flutter development but also the toolkit required for the development. It helps the developer in creating effective and fast applications. Two memory tracking has been introduced that allows developers to see memory allocation and usage of the application easily. Support for third-party tools and packages has also been added. Other notable features in DevTools improvement are.

 

i.) Performance updates of the application

ii.) Provider Debugger

iii.) Performance updates

iv.) Network updates

v.) Debugger Updates

Linux Support

This feature is quite exciting for many programmers that use Linux as their OS for development purposes. Through the efforts of a programmer from Sony, you can now build and run your flutter applications “ARM64 LINUX” machines.

 

IDE Support

Integrated Development Environment referred to as IDE is the place or software where you build the applications. The most common is Visual Studio Code. The flutter 2.2 extends its support further for VS Code as new extensions in VS are now compatible with flutter and dart for refactoring of the code. Similarly, for IntelliJ, various other features are added for support. The final patch notes for VS compatibility are VS-CODE v3.22.

 

Performance Enhancement

There is a visible increase in efficiency in the running of applications. The apps now take lesser space, run smooth, have minimal crashes, respond better, and above all have a beautiful and fully customized UI for a better look. In short, this update has taken flutter to a whole new level from where it can be declared as the best language for cross-platform development.

Ready to Take the Next Step?


icons

Yash Kapoor

Project Manager

Yash is a creative and passionate Android developer with rich experience in developing several mobile applications. His ability to look through things from the client’s perspective and an eye for detail makes him a successful Developer. He not only performs his duties with a strong sense of dedication, but also possesses excellent skills in working with diverse teams to make the project a success. Additionally, he has the ability to look for different ways of performing a task thus improving the existing methods which makes him the most sort out member of the team. Yash has a never give up attitude and always ensures that the final product meets the client’s expectations. Apart from work, he loves listening to music and spending time with his family.

Still have your concerns?

Your concerns are legit, and we know how to deal with them. Hook us up for a discussion, no strings attached, and we will show how we can add value to your operations!

+91-95010-82999 or hi@promaticsindia.com