Flutter has steadily paced towards the cross platform app development framework supremacy. Even though released only about 2.5 years ago, Flutter has proved its mettle by holding the number 1 rank with the most stars on GitHub, amongst other cross platform development frameworks.
The updates are what makes Flutter better, it has had 5 stable releases since its inception, with Flutter 1.12 being the latest stable release. Native app development is a completely different story, in cross platform app development frameworks need to be updated timely according to OS upgrades, and Google and Flutter developers are putting in a great effort for Flutter to be updated to encompass features introduced in popular OS’s new versions.
To make things fair, Flutter app development hadn’t even had the time to compete with React Native. If you want to read about React Native, here the top reason to choose React Native for app development in 2020. In this blog, we will rather focus on discussing the new features in both Flutter 1.12 and the features of Dart 2.7, keeping the debate of Flutter vs. React Native due for another time and place.
First, let us begin with what cross platform apps are, and the reason for their popularity.
As the name suggests, cross platform apps are those which can run natively on different operating systems and devices. The specialty of cross platform app development is that the code is written once, and the same code can be executed on multiple platforms. In simple words, it is one time the effort, compared to at least twice the effort, when creating Native apps for different platforms.
The top advantages of getting cross platform apps are
• Short time to market entry
• Fewer technical difficulties
• Lower maintenance cost
• Consistency across platforms
• Code reusability and consistency
• Wider market reach
With the advantages above, cross platform app development is typically ideal for most business, however, some businesses than depend highly on their app’s performance or requires the use of a lot of device sensors should consider Native app development. The one app for many platforms has been popular for a while now, the top cross platform development technologies are Flutter and React Native, and both have been growing in popularity since their inception.
What is Dart?
The latest update of Dart, Dart 2.7.
Announced as a safer, more expressive Dart, the upgrade brings a lot of improvements along with it, and it is what Flutter 1.12 is built upon. The main improvements the update boasts of are an added support for extension methods, and null safety preview. You will now be able to add to the functionality of different types, even the types you don’t control, it is one of the long-requested and powerful features that finally arrived in Dart 2.7. The null safety feature is still in preview phase, and would soon roll out in a beta version, it is currently available as a playground experience in DartPad.
What is Flutter?
Flutter is an expressive and fast UI development toolkit made by Google. It is used to create cross platform apps that are fast, highly optimized, and are at many points, completely undifferentiable from Natively created apps. Flutter is free, and open-source, giving the best of both worlds to both developers and mobile development companies. With its features and advancements over other cross platform development platforms, Flutter is ranked as one of the top cross platform app development platforms.
With Flutter, you can be highly productive, while creating highly customizable beautiful user experiences, through its variety of features. The single biggest advantage of using Flutter is, you can develop an app for both iOS and Android using a single codebase, significantly cutting down the total app development time. We will list more advantages below, so you will know, exactly why people love and use Flutter.
• A modern, expressive, and declarative approach
• Supports hot reload
• Easy prototyping and iteration
• Option to choose Cupertino (iOS styled widgets, especially for iOS apps)
• Highly customizable user experience
• Create your own widgets for maximum personalization
One of the most prominent names in the companies using Flutter for cross platform app development is Google itself, which makes Flutter highly reliable and trustable as a development platform. The continuous updates and new releases in both Flutter and Dart have proved that Google means business with them, and with the added advantages over other cross platform development frameworks, you should definitely consider using Flutter as your mobile app development solution.
And now, let’s begin with what’s new in Flutter 1.12
The moment has finally come, sorry for making you wait, but a thorough background explanation is something we love to do, it helps everyone to be at the same pace as others. The update contains both new features in the update, and improvements in the tools used for Flutter app development, so the list is divided in two sections, you can find them below, starting with the feature upgrades first.
The top new features in Flutter 1.12, that will change the way cross platform apps were made, are
• iOS 13 dark mode support
• Dart 2.7
• Web support
• macOS desktop support
You can find a detailed explanation for each of them, below.
1. iOS 13 dark mode support
Everyone must be familiar with the iconic Cupertino widgets that Flutter has on offer, with the new update, things are only going to get much better than before. As all of you would be aware, Apple finally went ahead and added an amazing Dark Mode in iOS 13. Flutter, of course, required changes according to it, so Flutter developers went ahead and optimized the Cupertino widgets to perfectly work with the dark mode, while retaining their pixel perfection.
Flutter 1.12 also packs two new Cupertino widgets, while improving scrollbar fidelity, CupertinoAlertDialog adaptive padding, and added min/max date constraints in the CupertinoDatePicker. These small improvements are what draws people towards adapting the iconic toolkit, and Flutter 1.12 has proved to be an amazing improvement in this segment.
This is one of the most important updates across all cross platform development technologies, and it just takes things a level further and beyond than what was possible before. Add-to-App basically makes it possible to integrate instances built with Flutter, in apps built natively on both Android and iOS. Google is doing all it can to simply improve Android development even further by integrating the Flutter module wizard directly into Android Studio.
It is in a way, an approach to get the best of both worlds, coding generic things into one codebase using Flutter, and using it on both iOS and Android, while ensuring maximum performance by making some resource-hungry components natively for each platform. We believe it will prove to be one of the game-changing features and will make Flutter grow further and beyond other cross platform app development toolkits.
3. Dart 2.7
The new version of the language pack a lot of goodies, just as we discussed above, Flutter 1.12 is fully capable of utilizing all the benefits that come with the new Dart version. It matters a lot for the fact that Dart is what Flutter is completely based upon, and it a great approach by Goggle to embed the features and update both Flutter and Dart, hand in hand.
The top new features in Flutter and Dart could be used together to ensure maximum improvement in app development, compared to how it was with the previous builds. Null safety and the new feature extension methods are going to change we primarily coded in the language and would make the apps even higher performing than before.
Read Also: Top Mobile App Development Trends 2020
4. Web support
While capturing a big chunk of the mobile app development market, Flutter’s latest beta can now be used to build amazing looking web versions of a mobile app. New projects are being worked on across popular companies, and more are expected to begin soon, while web support is currently available in the beta build, we believe this upgrade will be a part of the next Flutter stable release. The web app will give an advantage to Startups and medium businesses alike, as it would reduce both the time and money spent on building a web app from scratch.
5. MacOS desktop support
Moving from the tech preview to the alpha build, it is now available in both master and dev channels. Over and above the web support, Flutter is aiming at capturing the macOS market for good, it will let developers build beautiful macOS desktop apps in the low effort and short time. It was rather expected that this feature would soon move to the Alpha build, especially with Flutter focusing strategically to capture the iOS and macOS development markets.
And now, coming to the upgrade to the tools, which you will use when developing apps using Flutter.
• The new DartPad
• Hot UI
• Layout Explorer
• Multi-device debugging
• Golden image testing
Again, you can find more on each new improvement in different Flutter tools for cross platform app development, below.
1. The new DartPad
DartPad is an online tool where you can try Dart features without installing anything, as we said above, the support for Flutter’s web development is the brand new addition to it. You can actually write the code on the left, and see the program running on the right, which makes it a one of a kind tool, and gives Flutter an advantage over other such tools.
2. Hot UI
After the most loved feature of Flutter the ‘Hot Reload’, now comes a new feature that lets you directly interact with the widgets you are building in the IDE. The feature is a preview only for now, but we assume it will soon be embedded as the hottest feature that Flutter has on offer. You can make changes both visuals to the code and code to the visuals, all in real-time, and it moves ahead as you build.
3. Layout Explorer
It has been introduced in the Alpha version of DevTools, aimed at easing almost everything related to the ‘code’ part. It will help you interactively change the layout options, easing things variably depending on your Dart coding proficiency. As we said above, it visualizes, how the Flex widgets and their children are laid out, it does so through identifying the alignment of the main axis and the cross axis. Using Layout Explorer, you can easily identify overflow errors, along with seeing the way to fix them.
4. Multi-device debugging
It is pretty much obvious that this feature is essential to every cross platform app development tech, but Flutter is one the very few that actually has it. Multi-device debugging allows you to debug 3 different devices, no matter virtual or physical, and Hot reload makes it even better as the cherry on the top. It is highly configurable, and you can control each device independently, you can also stop debugging separate devices while continuing debugging on the other device(s).
5. Golden image testing
Flutter 1.12 brings along implementations of GoldenFilecomparator and LocalFileComparator classes, which are the primary ones through which you can compare images by pixels, instead of bits. The golden image is the correct or say the ‘gold standard’ rendering of a given widget, state, application, or any other visual representation. When updating, you want to compare the image rendered to the golden image, to see the result is the same. Golden image testing clearly pinpoints the differences by pixel comparison, giving you an exact idea about the differences, if any.
We believe, 2020 will be a great year for mobile application development as a whole, with cross platform development toolkits taking the front spot. Flutter has proved to be ahead in the race, and with Flutter 1.12, we know that Google means business. Both Android app development and iOS app development are kept in mind by Flutter’s developers when upgrading the framework, and that’s why it is being loved worldwide.
New possibilities are now possible with Dart’s and Flutter’s new upgrade, if we missed something, we would love to know in the comments section. Great apps are possible for everyone, and Google has really shown how it could be simplified, by adding features that require less coding knowledge in Flutter 1.12. The world is moving fast towards digitization, no matter your business type, a mobile app is an important piece to the puzzle, the way you choose to get your mobile app development is the question.