TNS
VOXPOP
Where are you using WebAssembly?
Wasm promises to let developers build once and run anywhere. Are you using it yet?
At work, for production apps
0%
At work, but not for production apps
0%
I don’t use WebAssembly but expect to when the technology matures
0%
I have no plans to use WebAssembly
0%
No plans and I get mad whenever I see the buzzword
0%
Frontend Development / Open Source / Software Development

Flutter Fever: Adoption Grows and Spreads to Embedded Devices

Flutter is thriving and its use is spreading to embedded devices. Find out about its growth; plus, common Flutter errors.
Jul 19th, 2023 7:28am by
Featued image for: Flutter Fever: Adoption Grows and Spreads to Embedded Devices
Photo via Unsplash  

Very Good Ventures CEO David DeRemer can’t say with 100% certainty that the company is now the largest Flutter consultancy, but after it’s recent acquisition of its Uruguay-based partner, CreateThrive, he’s certain it’s one of the biggest — with a Flutter team of 117, including 57 developers.

“We have more Flutter engineers that are dedicated to Flutter,” DeRemer said. “We don’t have a mobile team. …We don’t have an iOS team and an Android team and a few people that do Flutter. Our team has been from day one 100% dedicated to Flutter.”

He hoped the Flutter community will see the acquisition as validation for the cross-platform framework, but it certainly isn’t the only sign of Flutter’s growing popularity. Google’s Flutter 2023 Strategy reported that Flutter is picking up market share from the cross-platform frameworks, which it said had seen flat or declining use over the past 12 months. The number of published Flutter apps has doubled in just the last year, increasing from 500,000 mid-2022 to more than one million as of July 2023, according to Very Good Ventures.

Flutter Competition

The Dart-based Flutter competes with the JavaScript-based React Native and Microsoft’s C#-based Xamarin platform.

“The main difference for Flutter versus React Native or Xamarin, or other things that it would be competitive against, is that it really is multiplatform,” DeRemer said. “Google finally came up with a pattern that really makes sense… I would compare it more to Unity, a gaming engine. So if you were to build a 3D game, and you use Unity, you could build that game in Unity and then you can deploy it to iOS or Android or to an Xbox or to a PC game, or whatever, because they built this engine that will run on all those platforms and your games just run within that engine.”

He also said that React Native, Xamarin and Kotlin (another cross-platform language) create bridging problems and performance drawbacks.

Embedded Devices Using Flutter

But one area of surprising growth has nothing to do with app stores: Flutter is increasingly being used in embedded devices, DeRemer told The New Stack.

“We could never use React Native for Toyota, because there’s no native components in automotive-grade Linux, but you can build a Flutter application for inside the car running on automotive-grade Linux, because it’s just the engine [that] runs on Linux, and you’re good to go,” he said. “We’re seeing more and more embedded things — running on Raspberry Pi, running on various embedded Linux devices.”

In fact, DeRemer sees embedded devices as the biggest growth opportunity for Flutter. Very Good Ventures’ development teams might work on a mobile app one day and an embedded app the next.

“They’re doing it the exact same way with exact same tools, the exact same everything,” he said. “In fact, they’re even simulated on their Mac, they don’t need custom reference hardware or something the car runs. It’s a game changer for embedded.”

Wrong Steps with Flutter

Generally, DeRemer clients come to Very Good Ventures in one of three scenarios:

  1. New projects.
  2. Replatforming, which happens when’s a mobile app is five to six years old and needs to be rebuilt for more efficiency. “Flutter is a good opportunity for that because you can really consolidate your energies into just like one codebase and make it a lot better,” DeRemer said.
  3. Reboots, where there are two apps that need to be merged into one platform or other situations where there’s a comprehensive overhaul redesign.

They also frequently get projects where the in-house or outsourced team has tried Flutter and had problems. Generally, these problems happen because teams don’t understand how to do things in Flutter and so don’t follow best practices, he said.

“We definitely get a lot of clients that come to us where they’ve either started something in-house or where they went to their existing agency of record or they went to some other company or they went with an offshoring firm or whatever, and they’ve been working on it for some amount of time,” he said. “They’re just feeling the velocity isn’t what they expected, the quality of the performance of the app is really bad — like the frames per second are really bad. This is weird because Flutter really talks about 60 frames per second.”

Sometimes, it’s a matter of a poor architecture where the team has reinvented patterns they were familiar with from Android or iOS, he explained. For instance, they might architect an application using an ARC get or MVVM architecture from Android.

But Flutter and Dart don’t work that way, he said, adding that they follow a different pattern, a different standard and have a reactive style. Other errors might come from incorrectly using a tool or overcomplicating the coding with something that seemed interesting to start, but ended up being difficult to maintain, he said.

Messy code also creates problems, he added.

“There’s no community standard, there’s no documentation, there’s no support and what you find is just really messy code [when] whoever was writing it just decided how they were going to structure their file and how they were going to name things and how are they going to architect and what state management tool they were gonna use and whether they’re gonna write tests or not,” he said.

In that scenario, what Very Good Ventures brings to the table is defined, consistent developer practices, he said.

“They’re looking to figure out why am I not getting the value out of Flutter that I expected?” DeRemer said. “Because you’re doing it wrong and we can help you figure that out.”

For instance, one client accidentally had a network request in a method that would trigger a screen repaint. They were getting one frame-per-second performance on their device. Whenever a button was hit or something was swiped, it was making a network request and it was blocking until it came back,” he said.

“One of the things that we’ve really been focused on within Flutter is advocating for best practices and enterprise-grade Flutter solutions and approaches and methodologies,” DeRemer said. “We’ve also put out a lot of open source packages, libraries and tools. We even created a special site for it — Vgv.dev — that you can go to and that’s a marketing front page to the whole ecosystem of tools we’ve created.”

The acquisition will make it easier for the company to support and build out new tools, he added.

“We have more Flutter engineers, that means we have more time to work on these open source libraries to create more things that are useful and beneficial to the community [and] continue to maintain them,” he said.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.