Understanding Mobile Development Platforms

XcodeIf 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 Android devices the IDE is Eclipse. Android uses the Java programming language and it’s not too hard to learn and become proficient at this language. Note that Java is NOT the same programming language as JavaScript!

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.

The big Kahuna for game development is Unity. This game engine has everything you will ever need to produce 2D or 3D games. Code written in this environment is written in C#, UnityScript which modelled after JavaScript, or Boo, a .NET language with similar syntax to Python. A great feature of this environment is you can build your output to all of the mobile devices and game environments including Xbox, PS4, Wii and more.  This is a fantastic and powerful platform used by many projects but there is a step learning curve.

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.

For cross platform mobile development, there are a few tool/environments that offer the promise of a single code base and deployment to multiple mobile device platforms. Cordova /Phone Gap is one. Here you would program your apps in CSS, HTML 5 and Javascript and then use set of device APIs to talk to various phone functions.

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.

Steve V

About

Steve is a Software Engineer and a musician. He has been programming computers for over 18 years and loves to talk shop about software development including mobile devices. Contact him now to find out how he can help you with your mobile development apps or projects. Click Here To Contact Steve

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Please wait...

Subscribe to Steves Newsletter

Keep informed on marketing and development techniques for mobile apps. Enter your email address and name below to be the first to know.