Developing mobile apps has never been an easy task. Creating a mobile app for iOS means owning strong programming skills about Objective-C or Swift and knowing their APIs. Android-based apps are not so different: you have to know Java and the Android Platform and its API.
The learning curve is not fast and it includes how to create nice and interactive user interfaces, connecting embedded features like GPS, camera, showing maps, images and so forth.