Books on software estimation will tell you how to estimate given feature set, use cases, etc. One thing you must consider carefully is on what mobile platform you really want your application to be deployed? Your answer to this question (Android, iOS, Linux variants, etc) will have a deep impact on the development frameworks available to you. This in turn might make some specific development much more easy/difficult given the facilities at your disposal.
Personally, I would start by:
Reviewing your use cases and feature set (mandatory, useful, nice to have)
Deciding on which platform(s) you want to deploy
Finally, look for the available frameworks and use the best that suits your needs.
Any estimation not going into the specifics of the features/framework/platform interrelations is sure to cause bad surprises in the software development "trenches".
Hope this simple method helps on the concrete side of your estimation project!