The mobile industry is ever evolving and growing with a revolutionary pace. The developments and growth marked by this industry had revolutionized the way of living. People have grown more and more conscious while using apps and they don’t compromise when it comes to performance, speed and user experience. They need their apps to be fast loading, offering one heck of a user experience and also want them to be sophisticatedly dynamic.
This ever growing need of the users is what makes developers conscious, motivating them to learn, evolve and develop even better. And to develop better they have to code the best. So, the first question that comes in every developer’s mind is which programming language to choose for their next project!!
Before shedding some light on languages of apps, let us revisit the platform wars once again.
Well, not much of an improvement here. The Android-iOS platform war is still a stalemate with almost equal percentage of full-time developers’ preference for both of them. Android owes its loyalty and popularity to most of the developing nations of the world whereas iOS growth is attributed to the niche and premium masses of the developed world. No wonder iOS is a huge pro in the West. People from America & Europe have strong love for iOS. But it’s just the West we are talking about. Android is the king and owns the Rest of the World. Because of this bipolarity and stalemate situation, the world can now be called as Green & Blue beside the old school term East & West.
The positions in the platform wars are growing entrenched. Apple won’t risk strip-off its high-end market sales and moving down-market, especially when it is still able to increase its selling price, revenues and unit volumes. Android has moved enough down the market, to keep off any potential competition from below. Apart from the royalty from premium segment, it enjoys fairly the loyalty of all the rest of the population.
Well, this also somewhat simplifies the language question, isn’t it!!
Most of the platforms have their pet apps language and Android & iOS are no exceptions. So if you are clear with which platform you are choosing, you should at least be having a rough idea of which languages are you going to make use of.
iOS & Android: Language lock-in
A report by Developer Economics indicates developers’ platform priority and the primary languages used by each platform. As clearly indicated, major chunk of developers prioritize Android over iOS, but the gap is not that huge that it cannot be reversed. iOS has a fairly good 32% share in terms of priority. Developers are still more loyal towards Android despite the fact that it makes them fetch a little lesser money than developing for iOS.
What else this graph indicates is all the major platforms witness a language lock-in i.e. it’s just not about platform priority; language priority is tied with it.
What’s evident from above is, developers prefer Java over all other languages when they have to design and develop for Android, whereas they use Objective-C while making apps for iOS. The inverse is not feasible. As per the stats, nearly 60% work is done in Java for Android whereas more than 50% programming is done using Objective-C, which is primarily used for iOS programming only.
Android speak Java, iOS speak Objective-C
Java, developed by Sun Microsystems, is one of the most popular and most used languages for programming. It is an open source language and thus available all free-of-cost. Java gives immense support to Android, giving it an even better edge over others. It can be used both as an individual self-sustained program as well as applets and works well for financial sector, enterprise apps and software businesses.
One of the major reasons why Java is popular among developers is the speed of development with Java. Being familiar with Java for years now, they are able to build apps more rapidly for Android than for any other platform. According to a study conducted by Evans Data Corporation surveying 464 developers across the globe on Mobile Development, around 41% of developers said a usual android app finishes off in a month or less, contrary to 36% developers who favoured iOS for the same quick turnaround. A large majority of developers are well versed with Java and have a lot of experience in making apps using Java and so they can easily translate it to Android development.
As still a major chunk of developers build over Android than iOS thus undoubtedly Java tops the charts when talking of the most used primary language. Also it is the most popular language too while talking of mobile development followed by Objective-C (a primary language for iOS development).
Objective-C’s growth and popularity is majorly driven by the growing love for iOS. It has emerged as the primary language used by all developers to write applications for iOS and Mac. Objective-C, which is an object-oriented language for programming, is nothing but a thin added layer over C. The language and its rules are very unique and might confuse developers at first who are using Java. But as it is a superset to C, developers can sneak peek into C and its codes as a point of reference. It includes features like Smalltalk style messaging, runtime reflection and many more.
Objective-C, more popularly coined as an Apple-only language, wasn’t in the list until 2012 when the adoption of iOS boosted. Since then, it has become the new pro gaining popularity among expert developers, hobbyists and new age developers. The graph below from TIOBE Index clearly shows that Objective-C gained popularity in last few years only and the trend is positive and rising further.
Meteoric Rise of Swift
Year 2014 marked the introduction of Swift by Apple. It is an insightful and commanding novel language for making apps for iOS and Mac. Since the time of its launch, developers have fallen for it and started embracing Swift as it is much faster and efficient and gives real-time feedback. This language leverages itself on Objective-C and thus can seamlessly be incorporated into the existing code of the later. It gives the developers an edge to advancement and also the freedom and strength to create powerful revolutionary apps. It’s developer-friendly, easy to learn and easy to code, and hence is capable of creating affluent app experiences, along with time saving.
A survey conducted by Developer Economics this year has shown Swift gaining popularity at a meteoric pace. It was launched in the second half of 2014 and since then it already has 20% of mobile developers using it, with around 2% using it as a primary language. Considering that learning a new programming language requires a huge time investment by a developer, it would be unfair if we restrain from stating that the adoption levels for Swift have been extraordinary so far. Such an adoption rate has not been yet witnessed in case of any other programming language. This is an exemplary achievement for a language which is still in its not-so-mature state and is yet to evolve.
Developer Economics was also keen to find out from where all the Swift developers were coming!!
As per the DE report, the major rate of Swift adoption, which is 32% out of 48% of all developers, comes from iOS developers using Objective-C but not as a primary language; whereas out of those hard core Objective-C developers, from where everyone thought the majority of Swift adoption would come from, only 44% of 29% developers are using Swift. This shows that Swift seems to be capturing interests of developers who are using Objective-C as well as of developers who are not using Objective-C at all.
However, the rise of Swift doesn’t mark the end of Objective-C. Objective-C is rather an elegant language supporting Swift. It has worked its way well to have a 39% mindshare among developers. A majority of the iOS developers are still using Objective-C as their primary language whereas only 2% of them using Swift primarily. A lot of platform frameworks and constructive third party libraries have already been written in Objective-C making it necessary for developers to learn both the languages for next few years in order to become a successful iOS developer.
With the ever famous Java and the growing glory of Objective-C & Swift, now you know better which language do you want your app to speak.
Still confused!! We at Openxcell, with our skilled team of developers, can help you with your application development and make your apps speak louder and better. Interested! Put in a word here and we would be happy to help.