News

Swift Usage Declines as Devs Go Multiplatform for Mobile, Says Report

Programming with Swift is on the decline as mobile developers increasingly shift to multiplatform tools using C# (Xamarin) and JavaScript (Apache Cordova and Ionic), says the new report from the TIOBE Index, which measures language popularity.

TIOBE said traditional, cumbersome mobile app development using individual programming languages for each platform is on the way out. Cross-platform tools such as Xamarin and new JavaScript-based solutions are often used in enterprise development to save time, as developers can leverage one code base -- or most of one -- in projects for iOS and Android.

This month's programming language popularity index from TIOBE shows big drops in the rankings for Swift and Objective-C, the two languages used in iOS development.

Swift, just over three years old, was seen by many as the new darling of the iOS community after it was introduced and subsequently open sourced by Apple. It quickly gained momentum because of many perceived advantages over the staid Objective-C, but now the honeymoon is over, according to TIOBE.

"In the beginning of this year the programming language Swift peaked at a rating of 2.3 percent in the TIOBE index and even reached a top 10 position," the October report said. "But now it is back at position 16 and constantly declining month after month."

A Swift Decline
[Click on image for larger view.] A Swift Decline (source: TIOBE).

Swift fell four positions in the ranking (from 12th to 16th, a percentage difference of -0.34 percent) in the past year, while Objective-C fell from 10th to 17th with a -0.75 percent drop.

Meanwhile, maintaining their rankings were C# (4th), JavaScript (6th) and C++ (3rd) -- all used in Visual Studio tooling for cross-platform mobile development (JavaScript is used by the Apache Cordova project template in Visual Studio).

TIOBE attributes these developments to changing methodologies in the mobile development ecosystem.

"Until recently it was quite common to program Android apps in Java and iOS apps in Swift/Objective-C," TIOBE said in its October post. "This is quite cumbersome because you have to maintain two code bases that are doing almost the same. So frameworks for mobile hybrid apps were developed and now that they have grown mature these are becoming very popular.

"Market leaders in this area are Microsoft's Xamarin (C#), Apache's Cordova (JavaScript) and Ionic (JavaScript). The consequences of all of this are that languages such as C# and JavaScript are gaining popularity at the cost of languages such as Java and Swift."

This could be good news for Visual Studio developers (though TIOBE misclassified Xamarin in the hybrid category -- it actually produces native Android, iOS and Windows apps). The full-fledged Visual Studio IDE has the aforementioned Xamarin (C#), Apache Cordova (JavaScript) project types, while the cross-platform, open source Visual Studio Code editor is becoming a favorite tool for using React Native (JavaScript) to code fully native iOS and Android apps.

October TIOBE Index
[Click on image for larger view.] October TIOBE Index (source: TIOBE).

In other TIOBE Index news this month, Java suffered a whopping -6.37 percent year-over-year change, but still managed to retain its No. 1 position, where it has practically lived permanently for some 15 years. The big movers on the plus side were Delphi/Object Pascal (jumping from 15th to 11th), and Scratch, moving up nine slots to No. 14.

Here's the standard boilerplate text TIOBE provides with every report to explain its methodology and purpose:

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.

About the Author

David Ramel is an editor and writer for Converge360.