If you want to start developing or you are working with a developer to start on a new on a mobile application it will help if you knew a little about the native development platforms that are the standards for the device types you are targeting. There are also other cross platform techniques and platforms that allow developers have a single code base and deploy to multiple device types which we will also cover here. Finally I will talk a bit about game platforms and what is available there.
For iPhone and iPad development Apple has provided us the Xcode IDE (Integrated Developer Environment). Within Xcode mobile applications can be developed in Objective C or the fairly new Swift programming language. Since Swift is new, it is evolving and improving. In my opinion if you plan on developing apps for iOS then do it with Swift, Objective C is much harder to learn and understand.
For the Windows phone devices Microsoft has provided us with the Visual Studio IDE. The Windows phone apps can be programed in C#, Visual Basic or C++. One note is you need to be running Windows 8 on your box to program Windows phone apps. C# is the preference for most developers in this environment and it is a mature language and easy to learn and develop with.
For game development Apple has included in Xcode a Spite Kit which includes graphics rendering and an animation infrastructure. Sprite Kit also provides other functionality that is useful for games, including basic sound playback support and physics simulation.
Another game development engine is Multimedia Fusion 2. Multimedia Fusion 2 is a very powerful visual programming environment. What is nice about this engine is that it allows developers to concentrate on the design and game play. A developer using this platform will not have code for hours to move a sprite on the screen.
Another cross platform environment is Xamarin.Forms. This is a framework that allows developers to create cross platform user interfaces. It provides its own abstraction for the user interface that will be rendered using native controls on iOS, Android, or Windows Phone.
There are many opinions on what to use for your mobile development. Personally I would recommend that you use the native languages for application development (Swift for iOS, Java for Android, C# for Windows phones). Furthermore if you are developing a game then evaluate Sprite Kit, Unity and Multimedia Fusion 2 and pick the one that best matches what you want to learn and or work with a developer to accomplish.
I hope you found this post useful, as always please let me know what your thoughts are about this topic.