Amongst Google’s many technology interests, Flutter is the company's flagship cross-platform mobile development toolkit which is making the biggest shifts in the software market today. The platform’s popularity has been boosted by enthusiastic developers, designers, and project managers excited about the potential Flutter can bring to the future.
Google themselves have used Flutter to produce apps for some of their major projects. Stadia, Google Assistant, and Ads for mobile each have apps created with Flutter. The capabilities and credentials unique to the platform have also seen successful deployments in organisations such as BMW, eBay, and Philips.
For organisations looking to dive into creating user-facing apps, Flutter is a modern technology that they can’t ignore.
What is it then that makes Flutter stand out amongst related frameworks for mobile application development? Is everything you’ve heard about it so far over-excitement and hype? What are the key features which make it a valuable asset, and what are the critical drawbacks you should consider before investing in Flutter for your firm?
If after reading this article you find Flutter a good fit for your project, we can help with selecting the right company, tell us what you need. We can do the work for you and connect you with up to 5 companies within 72h that match your need- all for free.
There are not many technologies, languages, or terms you need to know in detail to evaluate the advantages and drawbacks of Flutter, but you do need to know Dart.
Dart is Google’s in-house programming language. Developed over the last decade, Dart is built with the web in mind—making it an ideal fit for many developers coming to cross-platform mobile apps.
While Dart is a fast, modern, and powerful programming language—its uptake, until recently, has been significantly lagging in pace. As a result, there’s a far smaller marketplace of Dart developers than there is for native app development or competing cross-platform frameworks. However, our article on hiring Flutter developers can help you get started looking for a successful developer and will even provide a template to write the job description that will entice developers to apply to you.
One of the key reasons to choose Flutter over alternate approaches is that the platform offers the opportunity to cut time-to-market, resources, and costs even further on app development projects. Common to most application frameworks, Flutter provides a platform that enables a single codebase to target both Android and iOS app builds.
In its latest release, however, Flutter is rapidly rolling out extended support for Windows, macOS, Linux, and web builds too. By extending its cross-platform support, Flutter is creating even wider opportunities for cross-platform consistency and savings.
Over many years of Flutter’s in-house development, the tools created to support developers have been extensively improved. One such feature, “hot reload”, makes it possible to see the effects of small changes in code with near-instant “just in time” compilation.
Hot reload improves developers' lives by making detailed investigation, experimentation, and bug fixes a quicker and easier process. It’s one of several developer tools which are reflected in the quality and reliability of the final production application.
Similar improvements have also been seen in the documentation created to support developers. Flutter’s learning resources and platform documentation competes with some of the best out there to help developers new to the platform get up and running with little delay.
Knowing that application design is critical to marketplace success, Google has made customisation and style a central component of the Flutter platform. Design credentials that are readily on display in many of Flutter’s showcase apps.
Built using widgets tailored to the ecosystem they’re being deployed in, Flutter allows for complete control of the look and feel of its deployed applications. Its title claim is to provide “control over every pixel of the screen” and it appears to be true in the extensively customized Flutter applications available and their wide variety.
Somewhat unique to Flutter is the platform’s rendering engine for its widgets. While conventional frameworks typically render UI components to native code, Flutter renders its own UI widgets for the platform, making its UI code both more reliable and faster than most competing application frameworks.
The advantages of Flutter’s approach to UI really come into their own when targeting multiple platforms, screen sizes, and devices with a single codebase. In many cases, the platform is capable of things that most frameworks can’t yet compete with.
Enabling support on a diverse array of platforms and ecosystems allows you to prepare your firm for whatever direction you want to take in the future. Flutter allows you to take your code to a new mobile platform, desktop environment or deploy it to the web to reach new users.
Built by Google, Flutter even includes support for the companies’ new Fuchsia operating system—something which is still in the early stages of deployment. Whether Fuchsia turns out to be the Android-killer it’s speculated as or makes a little impact at all in the mobile app world; Flutter allows you to be proactive against the ever-changing face of application development.
If you would like to know more about Flutter’s projected potential, make sure to read our article on the future of Flutter development.
The single largest drawback to developing with Flutter is that it’s still a relatively immature technology. Even in mobile development terms, Flutter hasn’t been around for a very long time.
Developers haven’t yet had time to build many years of experience and produce dozens of production applications in the way they have in many other frameworks. Many of Flutter’s supporting libraries and tools are still in an earlier stage of development than would be ideal for critically important projects.
While Flutter is being developed and improved with remarkable pace and skill, it may still be a year or two before it has a comparably sized pool of Flutter developers and engineers to draw on.
You can’t separate Flutter from Dart, and just as both have advantages that your apps will inherit, both have disadvantages too.
Just like Flutter itself, Dart is a comparatively immature technology. While the language is ten years old now, it’s still evolving and changing at a rapid pace to meet the demands of Flutter, Fuschia, and other use cases Google has for it. Stability, while valued, is not at the core of the technology yet.
Rapid changes and a sense of instability in the language can make long-term maintenance a more significant challenge. It’s worth questioning if the user base of the project is comparatively small, to consider whether it will likely be around in many years to come.
While Flutter’s ability to render its own components does result in some of its greatest strengths, it does also cause Flutter apps to depart from the expected look and feel, particularly on mobile platforms.
Flutter implements Google’s Material Design on Android apps and Cupertino design on iOS platforms. These provide components that are consistent with the platform they run on, but different enough to be noticeable when compared to non-Flutter apps. If strict consistency, between Flutter and non-flutter apps, is valued then this could pose a significant problem.
Depending on your use case, this ability to stand out from the crowd can be either a strength or a weakness.
As operating systems implement changes over time, there’s a necessary delay before they can reach the Flutter SDK. While few apps support groundbreaking new features from day-1, it’s worth considering the extra time they will take to reach Flutter before users can see them in your apps.
If day-1 features are critically important to your apps, only native development can truly suffice.
Flutter is ideally suited to creating a minimum viable product(MVP). The rapid time to market, opportunities for strong customisation and branding, and impeccable design credentials make it ideally suited for projects that need to get out there and make an impact on the World fast.
Choose Flutter application development when:
If these sound like the objectives for your project, and you are going to need help selecting the right company, tell us what you need. We can do the work for you and connect you with up to 5 companies within 72h that match your need- all for free.
The more complex projects, those that require extensive research and development, maybe better suited to another technology. The relative immaturity of the platform and its constantly evolving nature make it a poor choice for some cutting-edge and complex engineering.
Look at other technologies when:
Flutter is a remarkable and powerful technology-packed full of future potential. No technology, however, will meet all requirements or satisfy every use case. The pros and cons of Flutter make it a technology worth considering with care and attention for application engineering in the future.
Take a moment out of your busy day to kick back and relax whilst we log you in to meet the top 7% of software vendors.
Launch your journey to unlock unparalleled transparency to the future of work!
You will find a curated universe of the world’s leading software development vendors that include over 4500 passionate designers and engineers.
Discover and explore in-depth vendor profiles with over 130 data-points, compare vendors side-by-side and engage vendors with a click of a button.
We would love for you to join us ⚡️
Accelerate your search by tellings us what you need. Share more about your requirements in our guided smart brief, and open the brief to our entire vendor community,
Vendors will receive an anonymised copy of your brief with no personally identifiable information to contact you directly. The anonymised copy simply aids the vendors in the application process of the contest and allows Pangea to recommend up to 5 suitable vendors based on a mix of our algorithm (beta) and human experts within 72 working hours.
How does that sound?