Skip to main content

Est Time: 7 Min

Share Share Share

It’s not often that a new challenger enters the development framework ring; but Google did just that 4 years ago with Flutter.

For being a relatively new framework, Flutter certainly has it’s fans (and haters).

Today, we’ll be looking at the pros and cons of Flutter, and letting you know who should and shouldn’t use it. 

Est Time: 7 Min

Share Share Share

It’s not often that a new challenger enters the development framework ring; but Google did just that 7 years ago with Flutter.

For being a relatively new framework, Flutter certainly has it’s fans (and haters).

Today, we’ll be looking at the pros and cons of Flutter, and letting you know who should and shouldn’t use it. 

Summary

  • Flutter is a relatively new cross platform framework owned by Google.
  • It’s fast, easier to pick up, and free!
  • The new-ness of Flutter means there’s still a lot that can change
  • If you’re a startup, Flutter is a great place to start. 

What is Flutter?

Flutter is an open-source cross-platform framework that utilizes Google’s programming language Dart. It first came on the scene in 2015 with it’s initial alpha version called “Sky,” and only ran on Android. After bring acquired by Google, Flutter 1.0 was officially launched in late 2018.

So how does it hold up against the cross-platform giants of Xamarin and React Native? Let’s roll through some pros and cons.

Pros of Flutter

Fast Development

This is the case for all cross platform in general, but developing one code base for multiple operating systems saves quite a bit of time and money. It won’t cut it in half, as you’ll want to test on all devices and systems, but it will certainly save time and money. 

define hot reload definition

Hot Reload

When you have to recompile code with each edit, it can take a while to see any updates you make. With Hot Reload, you can see change you make immediately in a preview mode, cutting down on time spent fixing bugs and experimenting. 

Native Feature Access

The biggest downside of cross-platform is the difficulties of accessing native features. With Flutter and some 3rd-party integrations, you’ll be able to use some Kotlin and Swift code to beef up your codebase. 

Climb that Learning Curve

As you can imagine, a brand new language means developers will have to learn how to use it. And if it’s confusing or convoluted, they’ll just move on to the next new thing. To combat this, Google has lots of detailed documentation and examples of problem solving (without contradicting answers from years ago). 

App Building Feature

What would you rather play with: a mish-mash of different materials, or a set of Legos? Flutter has an App Builder Feature, which allows you to mix and match different predetermined features in your app. Actual code will need to be written later, but it’s a great way to start user testing. 

Building blocks

Native and UI Separation

While it doesn’t happen often, manufacturer errors on devices can be extremely difficult to fix with native development. Not an issue for Flutter! By separating the UI from the code, you’ll avoid that issue.

Free, baby!

The pro speaks for itself; free is free! Flutter is free to write in, meaning you don’t have to pay for licenses to use it.  It doesn’t get simpler than that. 💲💲💲

Cons of Flutter

Relatively New

As we mentioned up top, Flutter’s official launch wasn’t until late 2018. This isn’t the norm in programming languages, as .NET or JAVA have been around since the late 90’s. Being less than 5 years old means there’s missing features utilizing advanced OS functionality, libraries that are still in pre-alpha, and limitations surround native development. 

Don’t Forget the Younger Brother 

Dart, which is the underlying language of Flutter, is also young; it didn’t come on the scene until the 2010’s. That means there’s not a huge resource base, and your team  will need to write a lot of stuff from scratch. When compared to Swift and Kotlin, there’s just less options. 

Few Guidelines 

Yes another problem with Flutter being so new is that there aren’t many guidelines in place. With their being few best practices, it can be difficult to figure out what to do when there’s not much to fall back on. 

Large File Size 

Because the code base needs to be optimized for both platforms, Flutter apps will take a lot of space on your user’s devices. A 4 MB Flutter app would be 500Kb on a different platform – That’s 8x larger!

Flutter app size

Design Limitations

Flutter uses a not-exact-copy of Android’s Material Design and iOS-specific components, as opposed to native components. What that means for your project is that text and buttons will stay the same across all versions of the product (as opposed to changing for each OS). It would be nice if you had the option to customize the design based on the operating system – too bad!

Rapid Changing 

Again, with the framework being relatively new, not much is ‘set in stone’ when it comes to the underlying tech. A small change may break a huge part of your project. Not to mention Google has a habit of starting and stopping projects without warning. If Flutter goes down, so will all the apps built with it.

Who Should Use Flutter?

As you saw above, Flutter does have some benefits (along with some negatives as well.) So who’s Flutter’s target audience, and who should leave it behind?

Related Article: What is Mobile App Development and other Mobile Questions 

 

MVP’s at Startups

Yes. Flutter bring free means that you can test out ideas and features with no monetary worries. You can then take said MVP, and build out a native version later. If you were to start with a native app, that means you’d have to create 2 full codebases before launching your product (which could cost lots of time and money)

Teams Under a Time Crunch

Yes. Flutter is a fast and speedy framework to write in. With widgets from the App Builder and Hot Reload, you can quickly make changes and experiment. That again means you can get in front of users faster. 

Larger Businesses

If you’re a larger company looking to build a fully-fledged product, you may want to look for a framework that’s more mature. Until Flutter is a little further along, it makes sense to check out other platforms. 

Conclusion

Flutter is great for brand new teams who are looking to make fast changes: it’s free, allows for quick updates, and helps you learn along the way. 

But if you’re looking for a long-term solution with complex features, Flutter isn’t your best option. With a rapidly changing foundation, you may want to look at the bigger players until Flutter get’s on solid ground. 

Were we too harsh? Are you a die-hard Flutter fan? Let us know!