We are a small company that develop applications that have an app as the user interface. The backend is a Java server. We have an Android and an Iphone version of our apps and we have been struggling a bit with keeping them in synch functionality-wise and to keep a similar look-and-feel without interfering with the standards and best practices on each platform. Most of the app development is made by subcontractors.
Now we have opened up a dialogue with company that build apps using Corona, which is a framework for building apps in one place and generating Iphone and Android apps from there. They tell us it is so much faster and so easy and everything is great. The Corona Labs site tells me pretty much the same.
But i've seen these kind of product earlier in my career, so i am a bit skeptical. Also, i've seen the gap between what sales people say and what is the truth. I thought i'd ask the question here and hopefully get some input from those of you who know more about this. Please share what you know and what you think.
This is a very controversial topic and opinions can vary.
Disclaimer: This answer is for all of the generic "code once for all platform "solutions. I have used Corona in the past for OpenGL related work and it works well.
Assuming you are not making a game.....(game is another story since the user experience is similar and platform agnostic)
Personally, I'd say stay AWAY from these solutions if you are building anything that is complex.
Yes, you will only have to maintain one code base, but maintain two or three code base does NOT necessarily mean that more time is required, especially if you will make multiple apps and have common code between them.
The top five reasons not to use them that I can think top of my head are:
You will often run into problems that you won't know how to solve and there is a much smaller community with each framework.
You won't likely save time because you will have to code parts natively and you will have to learn the respective platform anyways.
The look and feel, as well as navigation on Android and iOS is different. (Example: just look at the leather header on iOS). Having code a few apps for both iOS and Android, personally I feel that it is impossible to have the same user experience for both platform. Example: Android have a back button.
Performance will likely vary a lot. (Especially those HTML5 based, see how Facebook just switched to Native?...note that Corona is NOT html5 based though)
You have to pay.
In summary, you won't save time AND money in the short term or the long term. :)
However, this industry is moving VERY fast right now, so they may become much better solutions in the next few years.
I think it is a trully terrible idea if you want to do a quality app. Not specifically Corona; but any code once run anywhere tool for mobile apps.
At least Corona is not based on html5 ; I don't have any bias against webapps but I simply don't know any good mobile app based on html5.
I think it could very easily lead to way more maintainability problems than if you were maintening two clean code bases.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With