Mobile programming languages comparison and review

Category: Android appsiPhone apps
0
Mobile programming languages comparison and review

Java, Obj-C, Swift or PhoneGap? Which one should I choose to develop mobile app?

Mobile app market is growing faster than ever. According to recent studies, the most popular device used to connect to the Internet is smartphone, so it’s no surprise that many software developers turn towards mobile apps. The very first question that comes to their mind must be “what programming language should I use?”.

Choose platform

First things first. Mobile device is a broad term and as you might suspect, they require different code. In fact, we can easily distinguish 4 main competitors in mobile app field:

  • Android
  • iOS
  • Windows Mobile
  • Blackberry

IDC: Smartphone OS Market Share 2015, 2014, 2013, and 2012 Chart

As you can see on the chart, in fact there are only two real players in the game with an obvious leader. Google’s Android or Apple’s iOS work on almost all mobile devices that people buy – Android to iOS ratio is almost 4:1. Surprisingly, when we examine operating system of devices browsing the Internet we will find out that results are much more equal.

chart

Android

If you want a native-app, the choice is simple: Java. It can be found on many different types of devices, from smartphones to personal computers. You can develop Android apps on Windows, Linux or OS X and the Java compiler converts the source code into bytecode. Google offers Android Developer Tools (ADT) bundle which includes the SDK (Software Development Kit), a version of the Eclipse IDE with the ADT plugins, and the Android Platform-tools with the Android emulator. Developing an Android app is more than just coding in Java, you need to understand how the Android UI is constructed (using XML), and how to access the different Android subsystems. Google has a series of tutorials about Android development. The Getting Started tutorial shows you the core principals of Android app development.

iOS

Since April 2015, iOS developers have the opportunity to pick one out of two programming languages: Objective-C and Swift. The former one’s syntax is more complicated and difficult for the beginners to learn. On the other hand, the latter one is a brand-new successor of Objective-C. Swift is ready for your next project — or addition into your current app — because Swift code works side-by-side with Obj-C. Swift code is easier to read. Its code more closely resembles natural English, in addition to other modern popular programming languages like Python. You no longer need semicolons to end lines or parenthesis to surround conditional expressions inside if/else statements.
Despite all these pros, learning Objective-C is still valuable. If someone were trying to work in iOS development industry, hiring managers will be looking for development experience in Objective-C to help maintain their existing apps. Almost every app in AppStore is written in it and it will take time for iOS developers to utterly switch to Swift. Also, when troubleshooting, most stackoverflow code is in Objective-C. Choosing the language isn’t the hardest part of learning. The real hurdle you need to get over when learning iOS development is learning Cocoa Touch framework; it features a lot of coding paradigms hardly found in other languages. All of these still occur in Swift! It uses the same framework. Yes, it might require less keystrokes to concatenate a string in Swift, but this isn’t what makes iOS development difficult – it’s learning how to effectively use Cocoa.
Learn Obj-C, then master Swift and use them both effectively at work – as far as I’m concerned, I believe it’s the best solution.


If you want to develop an app for both iOS and Android, consider using Corona SDK – a high level SDK built on LUA language. It’s far more easy to understand than Java (or Obj-C!). Hybrid apps may be developed by using: HTML5, CSS and JavaScript, then put inside a native container such as Adobe PhoneGap also known as Apache Cordova. They run the web application code and package it into an app. Both technologies: native and hybrid can create apps that are downloadable at Google Play or Apple iTunes AppStore. Keep in mind that while computing hybrid app might be easier, its speed and fluency is a serious drawback. Click here to read about pros and cons of using PhoneGap.

There are many tutorials on the web to learn foundations of e.g. computing games. Do not hesitate, look for a guide now and begin a journey!

Join the discussion

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>