I did not start my Mobile App development with xCode or Java. By a lucky chance, I got to know the powerful mobile library called Corona Lab featuring programming language Lua. I was amazed that this particular library can build the app in both IOS and Android systems including the most major and modern ones, such as iPhone 5, Galaxy S3 and etc. Secondly, the way to generate front-end components is also quite easy and simple. With the support of Object-Oriented programming concept, some front-end components can be easily reused; and some software design patterns may also be applied based on the actual software requirement.
Corona Lab is powerful with its stunning features in development; however, it still has a lot of potential to improve the performance and simplicity. For example, in the String library, a function to split the string into an array by a pattern could speed up the development. I also find it is quite difficult to have a standard scroll view class to be used in all different screens in mobile since we have to deal with lots of different resolution of mobile devices. It is like dealing with the web front-end development cross different browsers. I still try to find out what the best way to do this with my own scroll view class so that it can be called in any screen to host any required front-end components within it. Another issue I have with scroll view widget is that it seems impossible to dynamically update scrollHeight variable which controls its total scrollable height. What if we need to add more stuff in it when loading more components. One way to cheat is to load everything once and use front-end pagination technique; the other way is to reload scrollview object which is the worst case. I may need to do more search on it if I miss the better implementation method.
Another concern about building app is to update remote database. By using network request in Corona Lab, we can try to break down information into small pieces and use a gateway page from remote server to receive data and perform further database handling. My next major research is about data synchronization between app and remote server , which may involve quite a bit security problem and network stability issue. The built app is likely to crash in the middle of network request transaction if internet is gone. Some error handling class needs to be used to avoid such situation.
To continue to be amazed by Corona Lab, finding its shortcomings and keep learning its great feature conclude my beginning of Corona Lab learning.
Develop with joy 😉