Skip to content
Jerome Mouneyrac blog
Share
Explore
Jerome Mouneyrac blog

Battlegrounds Stats

As a React Native developer when I first heard about Flutter, it picked my interest. Flutter is similar to a cross-platform game engine but for building apps. It sounded fast, it sounded great, I had to try it.
So last year (whaoo already!) I created an app for my favorite game - the Battlegrounds mode of the Hearthstone game. The mode is actually my favorite game - I don't play the main game at all. The app would help my ego - did I really need to invest time in that? - to visualize my statistics and compare myself with other players and YouTubers like the super-skilled Kripp. Here Kripp is playing Battlegrounds, so you can see what it is about:
Loading…
To use my app, you first take a screenshot/picture of your Battlegrounds perks stats screen - or from Kripp's screen if you want to find out how you compare to him. Then the app will extract the numbers, and boom, you can see your ranking with the 26 others players who successfully used my app.
bgstats.png
Try to beat me, I have been ranked first in the 1st/4th place ratio since launching the app,
.

My opinion of Flutter (for dev)

The app uses local storage, Firebase anonymous authentication, Firestore, Google Vision, Provider as state management solution, Sentry, Google Analytics...
Being a total beginner with Dart, and my code architecture is very messy. But I found the language to be good. I have no issues with Dart.
What disappointed me about Flutter (version 1.X):
the exceptions were not obvious enough to me to debug easily
building the layout ends up creating thousand of indentations - maybe that will force people to create child widgets. So it is a good thing in fact. But it did not force me to be good for this first project and I don't want to read my code anymore.
creating animations, if no widgets do it for you, is complicated,
.
updating the app and plugins started to feel painful, as it is in React Native, and that after three months only. So restraint yourself to Google's or big companies' widgets.
state management also feels like React, you have a lot of choices, and the latest state management recommendation from Google developers was already changing at the time I was coding.
Even though my app was small, when you have to rebuild the app, it takes a lot of time compared to developing a web app. Once again another problem of React Native/mobile development that you will still face with Flutter. No magic here.
Flutter Web was not in a stable version - so I did not try it. But the web platform is in my mind every time I want to use Flutter again.
Globally Flutter pains reminded me a lot of React Native pains. And as I was a beginner I did not experience the increased productivity that some people speak about.
The good thing about Flutter was the performance, it feels very snappy.
I would say it took me about 25 hours from design to publication on the Appstore. I did not publish the Android version as the Google Vision Android SDK does not seem as performant as the iOS one and I did not want to pay for the much better Google Vision cloud version.
To summarize, I will wait one or two more years to see if the Flutter ecosystem stabilizes. If they manage to pull off the promised mobile and web solution in a stable development environment, it will be a no-brainer for me, especially when looking at fabulous tools like
that are apparently moving toward Flutter.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.