12
14 Comments

Thinking about using Flutter for your app? This is what I think of it.

Hey guys!

Many people who are looking to build an app these days are looking to utilise cross platform frameworks such as React Native, Xamarin, and of course Flutter. In my case I wanted to make a game and wasn't sure if frameworks like these would be suitable. I threw together a few experiments, thought long and hard about going native vs using a framework, and in the end decided to use Flutter.

I'm over one month in now and I have to say I love it!

If you come from a web background I'd say using Flutter feels very similar to coding in Typescript, React, and a hint of C# or something. It has a solid ecosystem featuring hundreds of amazing widgets, plenty of decent third party packages, and ships with fantastic tooling. You can even use VSCode 😀

I reckon if you're looking to build beautiful, cross platform mobile apps, then definitely consider Flutter. I've found it to be very productive and enjoyable.

I've learnt a ton since building my game so I thought I share what I've learnt. I'll be posting a weekly blog about my experience using it, and how I use it in my game specifically. I hope these posts will be useful even if you're building a normal app .

You can find the first post here which covers:

  • What Flutter is and where you can go to starting using it
  • An overview of tooling and my tips to to make the most of it
  • How you code in Flutter and some cool/unique features

If you want to check out Flutter by yourself I suggest checking out these links (not affiliated with me):

posted to Icon for group Developers
Developers
on May 21, 2020
  1. 2

    We also deployed a cross platform app with flutter and it's extremely good compared to other crossplatform frameworks.

    One of the biggest advantages for me was writing the UI using code - this makes it really easy to code for different screen sizes. If you are using default UIs, using a visual editor for interfaces makes it easy. But if you go for a custom UI, flutter is definitely the way to go.

    One of the disadvantages was that flutter core was crashing in some android devices when it has accessibility enabled. The worst part was that we couldn't reproduce the error - we can just see the error reports. This was about a year back, it has gotten a lot better since.

    1. 1

      Glad to hear you had a good experience! Yeah it's still pretty new in the grand scheme of things so there are bound to be some issues. Thankfully I haven't run into any yet myself, but I'm still just starting with it.

  2. 2

    How is Flutter Web coming along? Last I looked, they were rendering everything to <canvas>, no rendered, normal HTML… Have you done anything web/browser-based with it yet?

    1. 1

      No haven't used it myself but it seems usable at this point. I read this article early on where he creates a game for all platforms including web which you can play here. Looks pretty good!

      I think you're right though as it uses a mix of JS, canvas, and CSS for rendering. I suppose this allows them the roll their own layout system without relying on web technologies. They even mention text-rich content is more suitable with HTML, and that app-centric UIs are what Flutter was designed for.

  3. 2

    Can you refer me to any apps that you really like that were built with Flutter? The ones that they link to on their Showcase page are pretty lack-luster and feel non-native and bit clunky to me.

    1. 2

      Sure. I guess Reflectly is one app that gets a lot of attention. Here's a promo video where they talk about it and Flutter. I reckon it's pretty nice and has sweet animations.

      If you're going for cool visuals then the channel I recommended is great and comes with code 🤙 There are also some wild designs showcased here which demonstrate how flexible Flutter can be.

      If you want more native looking apps I can't say I've used any consciously, but Flutter does ship with material and iOS themed widgets.

      Was there any type/style of app you were looking for in particular?

      1. 2

        Yea I'm looking for a flutter app that looks and feels like native iOS. I just tried Reflectly and its pretty but doesnt look and feel like an iOS app at all. Thanks for the help though!

        1. 2

          Yeah understandable. I don't have an iPhone so can't help you there I'm afraid. If you were looking to use Flutter I'd say just try it out. The iOS widgets look pretty good and if you're familiar with React-style coding then Flutter should be more than capable to handle your use case.

          Moon looks sweet too btw 👌 I was looking for an IH app

          1. 2

            Thanks! Moon is actually the reason I am asking. I've had quite a few requests for an Android version and some "why not make it cross-platform with Flutter?" comments. But I'm seeing now that going that route would defeat the whole purpose of Moon which was to bring a non-native experience (the IH mobile site) into a native one (iOS). If I build the app with Flutter it couldn't be a native experience for both iOS and Android, almost by definition.

            1. 2

              Ah ok I see where you're coming from. Well I haven't had to do it myself, but catering to both platforms should be fairly straight forward.

              In Flutter you build UIs in a widget tree which lets you swap widgets in and out as needed. So in that tree you could use individual widgets (like icons) specific to the platform. Or swap out whole screens if you really need to. For alerts/date pickers/animations etc you do the same using the respective platform widget.

              Using that approach the building blocks, API calls etc should be fairly similar, but the native platform experiences can be tailored to the platform. It's a little bit of work, yes, but still faster than learning/writing the app for each platform.

              In your case it might be possible to slowly adopt Flutter without wasting what you've already built. It looks like you can incorporate Flutter into your existing app.

              Something to think about at least. I'd love to see Moon on Android 🤙

              1. 2

                So with Flutter I would have code like this?

                if (iOS) { showiOSWidget(); }
                else if (android) { showAndroidWidget(); }
                
                1. 2

                  Yeah I reckon. Or even one-line it iOS ? iOSWidget() : androidWidget(). You can also use logic/loops directly in lists as shown here which makes this stuff trivial.

                  What are your thoughts so far? I'd say just run a small experiment and see how you go. If you need any tips I'd be happy to help.

                  1. 1

                    I feel like if I have to bifurcate my code like iOS ? doOneThing() : doAnotherThing() all over the place then I'm essentially writing two different apps anyway. Smells like it would be a major headache to maintain and the ROI wouldn't be worth it. Just based on this conversation, obviously. I'd still be interested to hear from someone who has written a cross-platform app that felt native on both platforms.

                    1. 1

                      Yeah definitely get a second opinion, I'm still quite new to the app game.

                      I think for me the benefit for me would be a unified code base for the bulk of the app. Things like screen navigation, animations, APIs, tests, database etc would all be common.

                      But yeah keen to see what you end up deciding.

  4. 1

    This comment was deleted 5 years ago.

Trending on Indie Hackers
I spent $0 on marketing and got 1,200 website visitors - Here's my exact playbook User Avatar 73 comments Veo 3.1 vs Sora 2: AI Video Generation in 2025 🎬🤖 User Avatar 32 comments 🚀 Get Your Brand Featured on FaceSeek User Avatar 20 comments Solo SaaS Founders Don’t Need More Hours....They Need This User Avatar 19 comments Day 6 - Slow days as a solo founder User Avatar 16 comments Planning to raise User Avatar 12 comments