Flutter is loved by many for its simple and fast development of high-quality cross-platform apps. With Flutter, you can create stunning natively compiled applications for the target platform to achieve the best performance. Let's take a closer look if Flutter is a suitable solution in every case, i.e., when developing mobile, web, and desktop applications.
By reading this article, you can learn about:
The mobile app market has been growing rapidly for many years now, so it’s no surprise that companies are creating new technologies to help release new projects faster and cheaper. Creating two separate mobile apps for Android and iOS is a time-consuming and expensive process. In order to simplify that, there are many frameworks that help create one app that runs on multiple platforms.
One of the first attempts was Apache Cordova, with its release in 2009. It allowed for the creation of hybrid web applications using web technologies. After that, other options, such as Xamarin and React Native, started to pop up. In 2017, Google released to the public its own open-source framework for creating multi-platform applications called Flutter.
Since its first alpha release and throughout the stable releases, Flutter has constantly been gaining popularity and support from developers and companies of all kinds and in all regions. Well-known American Flutter users include eBay, Uber, and Google itself. On the other side of the Pacific Ocean, there are companies such as Alibaba, Tencent, and Toyota, which also appreciate this new technology.
Flutter as a technology is very flexible, and it allows you to create a wide variety of apps - both small for startups and large ones for enterprises. It’s great for small applications since it allows for fast application development with the low-cost delivery of the final product. But let’s dive deeper into framework usability based on the smaller apps that we delivered with Flutter.
Mindy is the mindfulness app. For this project, we have chosen the Flutter framework for mobile app development and .NET Core for the server side. It allowed us to provide unique ease of experience similar to popular apps like Calm and Headspace, implement complex analytics with its own events, connect a metabase for data visualization, and set up a subscription-based business model. The project was delivered during the summer internship program, which proves it's an efficient solution.
Another example could be Quittercheck, which is a mobile and web application for the healthcare industry. It focuses on helping users quit smoking. The app was meant to be available on both iOS and Android. We used Flutter for mobile and .NET for the backend, and Flutter for Web for the web development of the admin app. Flutter made it possible to easily implement advanced payment integration with the shipping&procurement provider in order to fully automate the order process. Our client also wanted to onboard his own small team of engineers later, and having all frontend (both mobile and web) done in Flutter allowed the client to limit the competencies of devs required to further develop the app.
When it comes to big projects, Flutter is also a great technology since it’s a scalable solution that is proven in production by many, even in the Banking industry, which often has higher standards of used software and more complex needs. It’s trusted by banking companies such as Credit Agricole Bank Polska, ING Silesian Bank, Nubank, and Rosbank.
We interviewed senior executives from the three banks mentioned above and asked them how willing they would be to recommend this technology for banking apps. Their response was very positive, with the same score from all three banks of 9/10.
At LeanCode (as the software development company), we had the opportunity to create the mobile app “CA24 Mobile” with Flutter for Credit Agricole Bank Polska, along with other business partners. This Bank wanted to bet on more innovative and modern technology. The one that would accelerate their product and strategy development. In one year, they have developed and made available to their customers a completely new application with many features that were missing in their previous app. This was possible because of Flutter technology. Flutter also enabled the implementation of a complex design system and animations.
But it’s not the only enterprise project that we helped deliver. Another case is the MASPEX Content Box. ContentBox is a product tailored for the content creation process at Maspex - a Polish multinational food company. MASXPEX needed a tool that streamlined the communication between the marketing and brand managers and the interactive agencies, media houses, and PR agencies. We used React, .NET, and Flutter for mobile. When we were releasing the app, the entire communication was managed within more than 30 brands with its use. It proves that Flutter as technology is mature enough for any kind of production-ready project.
As mentioned earlier, Flutter has many advantages that make it stand out in the market:
There are, of course, some cons as well. However, despite all those things, we still believe that it’s worth giving Flutter a chance since it’s a great technology that can help you grow your project faster and easier.
Not everyone may know that it’s possible to add Flutter to an existing app. The feature called add-to-app may be considered another advantage. Flutter provides great value for people who want to start a new project from scratch and for those who have an already existing app and want to migrate it. The Add-to-app feature allows you to create new features and rewrite other parts of the app in Flutter while still keeping your existing project.
Of course, you can also rewrite your entire app at once to make it use Flutter entirely. It may be a good idea if your app isn’t that complex, but at the same time, it is outdated and needs an update. With such migration, you can easily improve the UI and fix issues that occur in the app. If you have a project and you want to verify whether the add-to-app can be used in your case, you can use our mobile app audit service, and we will check that for you.
The current state of Flutter for the web is ambiguous. On the one hand, the Flutter team assures that it’s stable and production-ready since version 2.0 in early 2021. In reality, even though it’s becoming more and more stable with each update, there are still some problems that prove it’s not a viable solution depending on your particular requirements. It’s not a one-to-one replacement for technologies such as React, Angular, Vue, or Svelte.
When it comes to SEO (Search Engine Optimization), it lags behind mentioned options, and it doesn’t seem like it will change anytime soon. The user experience on the web by default is not what users are used to and may result in annoyance or confusion. The loading of Flutter websites also takes a lot longer than that of a normal web application because Flutter is extremely big for a website. There is a separate version of the rendering engine that uses HTML, but its performance is worse, and the interface may be inconsistent.
Another problem is with packages that often just don’t work correctly on the web, or they have no web implementation at all. This problem was more prevalent in the past, but it still affects some of the packages.
The best solution in most cases is to use one of the technologies that are dedicated to web support. Flutter shouldn’t be your first choice to create a website (at least not right now), but rather an option to make the features of your mobile app available via the web browser.
Yet, if you are building a service consisting of mobile applications in Flutter, the chances are that with a little additional effort, you can get the benefits of the web experience. It would be highly recommended for B2B apps, which don’t rely on SEO services and smaller portals with access after login.
Flutter for desktop is even younger than Flutter for web. It shares some problems with it such as lack of packages and adds some more issues. One of those is a lack of support for platform views which makes it impossible to work with packages that display Google Maps or video player. Moreover, it doesn’t support working with multiple windows, which is a basic feature on a desktop.
Flutter for desktop supports Windows, macOS, and Linux so that everyone can use apps written in Flutter on their computers. Unfortunately, with such big problems, it’s not a viable solution right now, but in the future, after it grows a little bit more, Flutter for computers may be as revolutionary as it is for mobile.
Flutter has come a long way and, in its current state, is undoubtedly a great option for almost any app. It’s a revolutionary technology that makes it easy to create applications that work without any performance issues and look amazing at the same time. When working with Flutter, the total costs are lower, the quality is higher, and it’s really hard to find a reason not to work with it. There are a lot of interesting things that are yet to come to Flutter, and it’s interesting how the support for platforms other than mobile will improve.
If you are not sure whether Flutter will be a good solution for your future application, we will be happy to advise you. Contact us via a short form.
4.56 / 5 Based on 9 reviews