In the previous part we covered web application development. We will continue to look at mobile app development in this part.
Mobile app development
Android is dominating in terms of numbers and it’s becoming an easier choice due to better tools , documentation and samples available.
IOS still has a lot of good paying users so having an app on this platform does help but is now a second choice for most new players.
Then there are other platforms. The cost to benefit ratio starts decreasing fast and as a developer is not viable to even focus on the top two.
Hybrid seems to be a right choice in many cases specially if you want to focus on faster deployment and have experience with web development.
Native is for more serious developers looking to develop advanced applications. People with java web application development have a good advantage in Android development.
Among hybrid, notable choices include ionic based on Cordova for flat apps, unity3d for gaming and 3d VR apps.
There are a few alternatives to ionic like onsenui, sencha etc but IONIC has progressed well in terms of more users chosing this framework and making more code available on github to play with.
Then there are many app generator programs which require little or no coding. These can only be useful in very limited number of scenarios where you do not plan to grow future features in your app. The simple reason for this is the more easy you make the frontend, more difficult it becomes to break out of its limited feature set, so unless the frontend app has been build over years with lots of contributions , it will not be as functional as you will need in complex apps.
Talking about web services, firebase is a good starter if you are focussing only on apps and do not want to indulge in developing complex web applications. Firebase gives you good free starter package , however the rates may look steeper than a private vps hosted solution if you grow larger.
Other Types of Apps
Mostof the hybrid choices mentioned above also let you deploy to destkop platform and is useful if making GUIs etc.