Swift Has a Huge Gaming Problem, But Study Shows It’s Widely Used

Swift, the language developed at Apple and released in 2014, is nearing version 5 – and a level of settled-in maturity expected for a language that has the ability to work across platforms. But how well is it doing within its own ecosystem?

Engineer Andrew Madsen took a hard, objective look at the top 110 apps in the App store to decipher the popularity of Apple’s language. He ran those apps through a Python script he wrote, noting: “For an app to be considered to ‘use Swift,’ it must include libswiftCore.dylib in its Frameworks folder, and it must have at least one Objective-C compatible Swift class in the main executable.”

Madsen added: “Some apps don’t use Swift in the main executable but include dynamically linked frameworks that use Swift. For this analysis, those apps are not counted as using Swift, because I wanted to get an idea of how many apps themselves were being developed in Swift.”

His findings show 42 percent of the top 110 apps in the App Store use the language. We should note this doesn’t mean those apps were written entirely in Swift, just that they use it (based on Madsen’s qualifiers noted above). When he eliminated games from the mix, that number jumped to 57 percent.

This means 58 percent of apps are not using Swift (dropping to 43 percent when we exclude games entirely). Madsen acknowledges imperfections in his methodology, writing: “It will still count an app as using Swift if that app includes a staticly linked Swift library, even if the app’s own code doesn’t use Swift.”

He also published his raw data, showing which apps use Swift most, and which ignore it completely. The number of ‘zeroes’ in his GitHub Gist probably won’t surprise you; apps like Snapchat, Waze, YouTube, Amazon, Candy Crush Saga, and Facebook all skip right over the upstart language.

Some apps have a surprisingly large percentage of Swift-based code; WalMart for iOS uses 80 percent Swift, for example. Admitting his methodology doesn’t appreciate for Swift types that aren’t Objective-C classes, Madsen notes the script “determines the percentage of the app written in Swift by finding all the Objective-C exposed classes, and counting those written in Swift vs. those written in Objective-C.”

Microsoft Outlook is at 67 percent; so is Postmates. Tinder is 47 percent Swift. Starbucks? 35 percent. Hulu is 62 percent Swift, which is particularly interesting because Netflix is at zero percent (Prime Video is at 12 percent). LetGo won’t let go of Objective-C; it’s only at 41 percent Swift.

There are many apps with small percentages on Madsen’s list, but a troubling trend emerges on closer inspection. None of the games listed in the top 110 apps on the App Store use Swift at all. We identified about 15 games in the list, and while there’s some room for argument over whether we should include or exclude some titles, none of the games we found within the Gist were using the language in any way. (Curiously, 15 percent is the delta between “all apps” and “non-game apps” when appreciating Swift’s use in the iOS app ecosystem.)

Swift is gaining LSP and ABI stability, which are two pillars for its long-term viability. This could help the language with cross-platform apps, both for Apple’s incoming ‘Marzipan’ tooling and other platforms. Developers’ need for cross-platform compatibility is likely a cause behind its lack of adoption amongst top games; in an effort to write once and publish to multiple app stores, game developers have chosen languages and frameworks other than Swift.

Shortly after Swift’s launch, about ten percent of the top apps were utilizing the language. Considering 42 percent of iOS apps currently use it, that’s ten percent year-over-year growth within the iOS ecosystem. That’s notable, and impressive, especially when you consider that metric was reached without lynchpin features such as LSP and ABI stability. It’ll be interesting to see the percentages in another three years; we expect the number of top apps utilizing the language to rise steadily, but we’re also curious to see how much of the language they’re using, and whether large companies such as Amazon, Google, and Facebook begin using it in place of their own frameworks and languages such as React.

In addition, we wonder if Apple will tighten restrictions in the App Store for outside languages and frameworks. We’ve already seen what appears to be a shadow-war against React, and with privacy concerns coming to the forefront, we wouldn’t be surprised if more restrictions snapped into place.

One Response to “Swift Has a Huge Gaming Problem, But Study Shows It’s Widely Used”

well, by analogy (with microsoft’s developers ecosystem), if we look back to the 90s, early 90s and late 80s, developers were using c and c++. then microsoft came with basic and visual basic (for the very same reason, getting higher traction for the sunday programmers’ segment). reality shows that it did not really work. then java came along and ms freaked out that their platform supremacy is at jeopardy and tried to adopt it (that what they do, did from day one, will always do) and it did not really work all that well, then created c# (which is NOT a c derived language, but quite theft from java! everybody knows that, even Anders! dough). so is here and now, except that the theft is less obvious (talking about swift borrowing features from various other programming languages). acceptance-wise, however, the future of swift may the same (as the future of visual basic was once). just my 2++ cents

Salary Predictor

Estimated base salary using job title, location, and skills.

More About Dice Salary Predictions

Where does this estimate come from?

Dice predicts salary ranges based on the job title, location, and skills listed in
individual job descriptions. Our proprietary machine-learning algorithm uses more
than 600,000 data points to make its predictions. To get the most accurate
prediction of the salary you might earn, customize the prediction in your Dice
profile. Actual salary offered by employer may vary.

How was this salary estimate calculated?

Dice's predictive salary model is a proprietary machine-learning algorithm. Unlike
many other salary tools that require a critical mass of reported salaries for a
given combination of job title, location and experience, the Dice model can make
accurate predictions on even uncommon combinations of job factors. The model does
this by recognizing patterns in the more than 600,000 salary data points to infer
how much each factor - job title, location, experience, education, and skills - will
impact the salary.