Assume that the app will include a back end API and a back end data store, but that they need not necessarily be constructed with the same technology as the front end (the app on the mobile devices). By "technology", I mean programming language and/or framework and/or platform.
There are some good technologies for Android, iPhone or both. I have used these and I give you my answers in full detail. I would be glad to schedule a call with you to go through some of these if you are interested.
You can develop mobile apps with several great platforms and it depends on whether you develop for iPhone or Android.
The best mobile app platforms and languages that I have used are:
For Android, 2 great platforms and I have used them both:
You can see App Inventor at http://beta.appinventor.mit.edu - It was invented by Google and is now maintained by MIT. You can create both an API and a backend as it allows for both a local and web database. App Inventor is a plug and play platform and uses no code, just a set of blocks that you add logic to various components. It is very easy to use.
Basic for Android: http://www.basic4ppc.com/
This is a platform where developers use Visual Basic to create android apps. If you know Visual Basic, this is perfect for you.
Also, for Android, you can develop in Java and XML using the Eclipse IDE.
For iPhone, you can use good ole Objective C which is a language. There are not as many options for iOS as there are for Android, but Phonegap or HTML 5 may be a good bet if you do not want to learn Objective C.
If you want to use good old HTML 5, you can download Twitter Bootstrap or Foundation from Zurb which are both responsive frameworks.
I would be glad to take you through any of these if you are interested. If you'd like to schedule a call on the phone or Skype, I could show you how some of these technologies work.