С чего начать разработку mobile app?
Под iOS - XCode или AppCode - обе среды работают только в Mac OS X. Можно ставить в виртуалку, но это не правомерно с точки зрения лицензий Mac OS X.
Язык разработки - Objective C
Операционная система - Mac OS X.
Под Android - Eclipse + ADT.  Либо Android Studio. Для обоих сред требуется установленный SDK (ниже по странице) и JDK.
Язык разработки - Java.
Операционные системы - Linux, Windows, Mac OS X.
Для Windows Phone - Visual Studio 2012 (например) и SDK.
Язык разработки - .Net (C#, VB) C++.
Операционная система - Windows.
Существует масса так называемых кросс-платформенных фреймворков а-ля PhoneGap, Xamarin, Delphi и QT. Но все это считается плохим тоном и на требующих производительности приложениях вы отхватите тормоза. Развлечения ради и себя - можете пользоваться мобильными фреймворками. Для решений Enterprise класса лучше писать в родных средах и на родных для платформы языках.
Если приложение игровое - то вот я сейчас смотрю в сторону libGDX
Тормозит он или нет - решайте сами - благо игрушек на нем напросторах гуглестора и иосмагазина хватает. 
PhoneGap аки представитлье HTML5-направления - я бы не советовал, имхо - на мобилках рискует отхватывать тормоза, аки и всякий перегруженный джаваскриптами сайт при отображении на мобилке.
Позволю себе не согласиться с @SashaSkot насчет тормозов. Возьмем libGDX - если есть что-то нагруженное, требующее вычислений - выносите код в "нативную часть" и делайте это в родных классах созданных под конкретно эту платформу. Я например сейчас так стыкую libGDX и бакэнды для работы с блютусом.
Если взять Qt - то с ним ещё все круче - Qt по идеологии - компилится в бинарный код ориентированный под конкретное железо и конкретную ОС.  Под линухами одно, под иос дургое, под андроид тертье - но все из одних исходников и без значительного геморроя или адаптации. Под Андроид Qt компитился если у вас на борту стоит NDK - и на выходе в Андроид на исполнение попадает смесь бинарников и джава оболочек для них. Не могу сказать что это будет тормозить. Часто пользоваться готовым фреймворком выгоднее чем лабать свой велосипед в том числе и в плане производительности кода.