From Corona to Flutter: My personal journey

First and foremost, I would like to clarify the following before you guys continue to read this post:

  1. This post is not to recommend you to switch from Corona to Flutter.

  2. I have only at most 3 weeks of experience with Flutter and I have using Corona for about 6-7 years.

  3. The apps I develop are mostly business apps.

I have wanting to learn Flutter for a while now (since late last year) but have been putting it off due to various reasons, one being I have renewed another year of subscription with Corona for the various plugins such as AdMob and Splash Screen thus putting my trust that this platform will continue to develop and be around.

In the first week of Dec, I decided I should not delay any further as my subscription is going to be due again soon in a few months time. My goal is to convert at least one of my Corona apps into a Flutter app.  After a week of reading several tutorials, I finally managed to get started on my app. I must admit the initial learning curve is pretty steep especially if you are impatient. For my case, I was hoping to use as little time as possible since it doesn’t add much value to my app portfolio in converting an existing app since the end user will not be able to tell the difference.

Once the initial steep learning curve is over, I am quite pleased with what I can do with Flutter. Here are some of the features I really like.

  1. Hot Reload

Similarly to Corona Simulator, any changes to the codes can be immediately reflected, this takes a step further as it is using the actual iOS simulator and Android emulator. This definitely make coding a lot easier.

  1. Superb documentation

They seems to have a dedicated team taking charge of documentation and with the latest update, you can even play around with the flutter code right within their documentation page. 

  1. Huge database of packages 

This is similar to Corona marketplace for plugins except everything is free and quite a few are managed by the Flutter team themselves.

  1. Active community

You can easily find solution to any issues you encountered as the community is growing fast and sharing culture is very strong.

  1. Plenty of widgets

If you are familiar with Flutter, you will know everything is about widgets and you can find almost everything you need to build your business app.

Of course, not all are rosy. The build process can be a pain especially if you have not done any native app development before. Corona definitely takes the win here by a landslide.

In conclusion, if you are looking to develop a business app, you should really give Flutter a look. I will update again on my progress of my app conversion but things are looking promising at the moment.

I have already been a strong supporter of Corona but things are not really looking good at the moment. There used to be a lot of excitements in the community, regular updates to blog posts, emails informing us of new plugins but all seem to be gone. There seems to be very little interest to engage the community and keep us excited. Even if there is no new feature update, wishing the community happy holidays on the blog should be something that I think would be nice. 

If anyone is interested, I can share specific details on how to convert some of the Corona features to Flutter based on my limited experience. :slight_smile:

Happy holidays!

1 Like

I really dont think people want to be updated on your progress with flutter development. I also dont personally care if a company sends a holiday greetings message to me but corona could communicate a bit more thats for sure.

I dont really understand your post’s reason. Your points 1-5 are same for flutter and corona, but you use them to say that flutter is better, but if you didnt want people to think flutter is better and to change to flutter, then why make the post? Also why woud you help others mobe away from corona if that wasnt the reason for your post? Haha :smiley:

Anyway, do what you want and what makes you happy, but this is just an odd post and be honest

I disagree that point 1-5 are the same for Corona. Flutter is definitely more superior in those area from what I can see now. I could not make a recommendation at this point of time because I am still new to Flutter and have not completed my conversion of the simplest Corona app I developed.  More issues might crop up and might be big enough to stop the conversion totally. This post is more for those that have considered Flutter but not yet take action to try. I am quite sure this is definitely not for you and am sorry to have wasted a minute of your time reading this post.

It can’t hurt to hear others’ experiences of various frameworks, and particularly in the context of being a heavy Corona user. Especially for those who do software development for a living. I use Xamarin, ASP.NET core and Unity as well as Corona (even had to do some native iOS in Obj-C the other day, bleugh), so it’s interesting to hear about Flutter as that was on my shortlist alongside Xamarin and a few others.

Frankly any new users are more likely to be put off by a public build that’s older than Pacman.

I have no experience with Flutter and I can’t really comment on it, but I do agree with Nick that Corona is due for a new public release. This particular issue is frequently pointed out, but no word yet as to what is being done about it.

Anyone who searches for “corona sdk” on Google finds the following information instantly: “Stable release: 2018.3326 / July 10, 2018; 17 months ago”. If I didn’t know anything about Corona, I would expect that it had been abandoned. Now, if someone is brave enough to still try Corona, they can’t even build for Android without downloading a new daily build. At this point this probably sounds like nagging, but Corona is due for a new public build, or rather, Corona needs it to let outside developers know that Corona is still alive and well.

People have to be more open minded to hear opinions about new technologies, but some things have to have better analysis to get out.

About Hot Reload I think it’s relative! For some it may be good to see in real time on the Android or iOS emulator, but have you seen how heavy and slow these emulators are? By contrast I love the super lightweight and productive Corona simulator.

Documentation I love Corona’s, for me it’s the best there is.

About plugin packages I agree, Flutter is bigger and a lot of free because the whole Flutter ecosystem is open source.

The issue of widgets I find very complicated at the beginning of learning and laborious also when learning, I find Corona more productive and clean using Lua code.

From all points, really what I most agree on is the standing community, the main problem of Corona’s evolution is the community.

I can also add Corona to take advantage of cleaner and easier to learn Code, build smaller app, generate desktop apps, kindle, tv, mobile etc … With lua you can use web frameworks, iOT etc … Flutter You still have a lot in beta.

I still think Corona is better for both Business Apps and Games!

Thanks for sharing your thoughts! 

For hot reload, other than the initial one time launch of the simulator/emulator, UI update is almost instantaneous for my case. An additional advantage is that it maintains the current state.  I love Corona documentation as well and I agree it is pretty good but Flutter is definitely there with it.

Agree that it can be quite daunting at the start looking at Dart codes.  Actually this is one of the reasons I gave up last year when I tried to look at some of the Flutter samples without learning the basics first. But as I have mentioned in my post, once you understand their language/framework paradigm, things really get intuitive.  :)

Just a quick update here. It has been fun thus far working on Flutter except I encountered a huge hurdle this past week trying to add two plugins into my app, namely OneSignal and AdMob. The configuration for OneSignal is a pain as the documentation is slightly outdated and took me more than a day to get it t work. The positive is that I am now able to send image push notification. As for AdMob, the first plugin I tried is giving me many crashes in Android devices. The second official Firebase AdMob plugin is more stable except it does not behave well for smart banner. I still trying to find a solution to this. 

At this point of time, you can’t help but miss the ease of Corona plugins. :slight_smile:

Funny! In my case, I had problems with the Admob plugin with Corona, it seems like a lot to configure and from time to time the necessary plugins get corrupted! (After a couple of days I got it), I haven’t tested Admob on Flutter yet, but if you’re reporting this on Flutter, it may be that this problem is in the complicated way Admob does to work across platforms.

What kind of configuration issues you are facing with Corona Admob plugin? It should be pretty straightforward to implement as there is really not much you can configure. Of course, recently there are some issues with the plugin such as black screen for interstitial ad and it is also quite outdated, lacking some of the newer features like native ads and adaptive banner.

As for Flutter, I am not quite sure what is the issue yet. For example, for one plugin, it will cause crashes when the Android app exit. For another plugin, the smart banner will return banner with height 32 in iOS portrait mode though the correct value should be 50.

In the implementation in the config file, there are several plugins that are required to download, and this is where problems occur. I stopped coding a bit in Corona, just to study flutter, but I just want to create two apps on each platform to see which one pays off the most.

This is the same with Flutter. Outside the standard interface design and business logic, you probably need to download plugins (packages in the case of Flutter) to access any native features.  May I know if you are mostly working on business apps?

I am unemployed, I love programming, but I only develop by hobby. I use Corona to create business apps, I haven’t created any games yet.

I mainly create business apps as well. I think you should give Flutter a try as it has more built-in widgets that are suitable for business apps. That said, if you have not done any native development before, you may find it difficult in the initial setup. You will need to edit some of the native configuration files to get some the packages to work.  For Corona, you can  have zero knowledge on native SDKs and still get a binary for App Store submission.  :)

I’m already moving with Flutter, including I’m redoing some apps that I got Corona for Flutter and draw my conclusions, I would never start a debate without trying the technology and talk about something I didn’t even test, what I’m impressed with is “hardening” Flutter, in my opinion he has the same bottlenecks and problems that every cross or hybrid framework has, the difference is that is being supported by Google. honestly I don’t see productivity in the dart, the code is horrible to read when you get a bigger app, even scare! But the worst is the unnecessary fight with React Native, at least here in Brazil the guys just have to kill themselves in the street.

Ahhhh, and I use Swift as my favorite language.

Have you started incorporating AdMob for Flutter?

Not yet, as I said, I’m still getting my Corona Flutter apps, but just to learn! I’m still understanding the design part, how widgets work, especially alignment widgets. After that I will try to incorporate services such as Admob for example.

This thread feels more and more like a Flutter support thread and not the comparison of an experience pros/cons of both systems (which was gray area to begin with). 

Please be considerate and not discuss or encourage other platforms.

Rob

I am a newbie pls let me know which one is better?

Like asking which one is better: unity or unreal, jeans and t-shirt or suit and tie.

They are entirely different tools. For games, flutter isnt even an option. For super UI heavy non game apps, if you are good with DART then prolly look into flutter. If you are good with Lua or dont know any prpgramming then definitely corona.

Which one is better? Pc or mac? Linux.