Technology

IBM’s Ambitious Mission to Forge Apple Swift Into a Cloud-Native Language

25 Feb 2016 12:17pm, by

While Apple originally created Swift to help developers more easily write software for Apple’s mobile devices, IBM now wants to extend the programming language, open sourced in December, to run on server-side environments as well.

IBM put Swift front and center at IBM’s InterConnect Conference 2016, held this week in Las Vegas.

There, the company previewed a number of new tools to broaden Swift’s potential appeal, including Kitura, an open source Swift framework for running server-side  Swift in OSX and Linux. IBM has set up what it hopes will be the canonical repository for Swift packages, called the Swift Package Catalog. The company’s engineers are also working on ways of helping Swift execute concurrent programming, work that will make the language more palatable for multicore programming.

IBM even made Swift the language of choice for its new OpenWhisk event-driven programming service.  Swift is already offered on the IBM Bluemix set of platform services, which is the home of the Swift Sandbox, a popular online IDE that can be used to quickly test Swift code.

All these efforts are “really about taking Swift to the cloud to use as a native cloud programming language,” said IBM’s vice president Michael Gilfix, who is leading the IBM effort to put Swift in front of more developers. “We certainly see this as a possibility to help the Swift community to simplify the creation of end-to-send applications, but Swift could also be used to build business logic, REST APIs and many other use cases.”

“This is a smart move for IBM and a win for all developers to have the ability to use their skills with Swift more broadly than just native iOS apps,” said Al Hilwa, program director for software development research at IDC, in a statement.

“The higher-level constructs that are in the language make it easier to do more complex programming in a much simpler way. We saw that as a huge productivity gain”–Michael Gilfix, IBM

Apple launched Swift in 2014 as an alternative to the increasingly cranky Objective-C, then the primary language used for building apps for Apple Macs and the company’s iOS-based portable devices. The language quickly amassed a user base of, last count, over 100,00 developers. Many of those apps were created in Swift.

“We have found Swift to be one of the most desired skills on both the customer and developer side,” explained Dave Messinger, community architect for programming competition site TopCoder, by e-mail. The company has built up a  community of over 1,200 participants who use Bluemix and over 10,000 who write iOS apps. “Companies are outsourcing Swift development because it is a hard skill to justify having internally when it is focused solely on mobile apps when the majority of resources are spent on more traditional enterprise skills.”

IBM itself is the largest development shop that uses Swift, Gilfix said. In 2014, IBM and Apple forged a partnership to create a new set of enterprise apps that could be used on the iPhone and iPads, helping to make those devices ready for the workplace. IBM started out using Objective-C for the task but quickly switched to Swift when it debuted.

With Swift, “When our architects looked at it, they thought it would be just a much more productive language,” Gilfix said. “It was substantially easier to train our developers and scale up our teams.”

One benefit of using Swift server-side is that it simplifies the process of developing iOS apps, as they almost always have back-end components. Having Swift on the back-end means the developer has one less language to learn. This has been one of the chief reasons for the success of Node.js, which has provided a way for JavaScript developers, originally a browser-wise language, to run on back-end servers.

“Traditionally if you want to be a full stack developer you had to learn Ruby, SQL, JavaScript, NoSQL, Java or your technology du jour. That is a lot of context switching as you develop your application,” Messinger wrote. “Bluemix will provide developers an easy to use environment where they build out their application from the front end to the back end in a consistent environment utilizing the same skills and libraries throughout. ”

But Swift could offer advantages even for those developers who aren’t building apps for Apple devices.

“The higher-level constructs that are in the language make it easier to do more complex programming in a much simpler way,” Gilfix said. “We saw that as a huge productivity gain.”

IBM is a sponsor of The New Stack.

Feature Image: Downtown Las Vegas

A newsletter digest of the week’s most important stories & analyses.