IBM Says Server-Side Swift 'Ready for the Enterprise'
In announcing the general availability of the IBM Bluemix Runtime for Swift, the company deemed Apple's young programming language to be "ready for the enterprise."
That is, the open source language is ready for enterprise developers to create apps hooked into server-side Swift code to provide back-end functionality, along with other cloud-hosted development projects.
Ever since Swift was open sourced by Apple last year, IBM has been working to take the language from the client to the server to fit in with its plans for enterprise cloud development initiatives. The company formed a partnership with Apple and devoted developer resources to the project.
That project was made easier with the recent release of Swift 3.0, which community developers helped shape, with server-side support joining a list of language improvements.
Barely a week after that, IBM was ready with Swift 3.0-compatible, production-ready development tools.
"With the release of Swift 3.0 just seven days old, we are excited to introduce a production-ready Swift runtime on the IBM Cloud that is optimized for Kitura to unlock all the server-side capabilities now available in Swift 3.0 for building microservice APIs on the cloud," IBM MobileFirst exec Mike Gilfix announced in a blog post last week. "With this release, IBM has fully enabled enterprises to build next-generation apps in native Swift from end-to-end, client side to server side, on the IBM Cloud."
Gilfix said the company's Swift runtime and Swift-related tools serve three types of stakeholders: mobile developers, by providing access to cloud-based analytics and cognitive services; enterprise developers, by streamlining API creation and management; and development managers and CIOs, who might have a hard time finding developers with mobile and cloud development skills, which can now be repurposed for both client- and server-side development.
In another blog post, IBM's Patrick J. Bohrer last week described Swift 3.0 and the IBM Bluemix Runtime for Swift as two of three important milestones for unlocking Swift on the server, with the third being the brand-new Kitura 1.0 release. He said that Web framework "offers a seamless developer experience across client and server environments." The company hopes it will become the default enterprise-grade Swift framework for the cloud.
Bohrer said he and other IBM developers may be among the lucky few who get to work early on with a technology likely to enjoy company investments for a decade.
"Swift on the server shows the signs of being one of those technologies," he said, based on:
- Sound technical underpinnings: Swift is a modern, strongly-typed and compiled language that offers concise syntax, great performance and low memory usage. And Swift encourages developers to change and extend code with the confidence of knowing the language will help catch any errors along the way.
- Strategic relevance in meeting market demands: With Swift, developers are creating amazing new mobile applications that change the way we live and work. With Swift in the Cloud, mobile client developers gain much easier access to cloud-based cognitive, data, social and other services for enhancing user experiences.
- Developers having fun: This is due at least in part to Swift offering the advantages of a scripting language with the safety and performance advantages of a compiled language.
Delving into the nuts and bolts of the runtime that just went GA, Bohrer said it customizes and optimizes the Cloud Foundry buildpack -- also open source technology -- for creating server-based Swift apps and APIs to run in the IBM Bluemix cloud. That results in the capability to add critical system level dependencies with the libcurl3, openssl and libssl-dev libraries. Developers can also cache the latest Swift builds supported by Kitura and optimize Bluemix systems configurations, he said. Developers get started with the new Swift runtime by creating a new Cloud Foundry application and choosing the Swift option from a list of available runtimes.
Bohrer said upon the deployment of a Swift application to Bluemix Dedicated or Bluemix Local, the platform:
- Provides access to a Linux container.
- Loads the latest Swift binaries.
- Issues a command to build an application by using the Swift Package Manager function.
- Runs the application.
The release of the IBM Bluemix Runtime for Swift is the latest move by IBM to further server-side enterprise development with the language. Last December it announced a developerWorks sandbox for Swift and in February, while announcing the runtime beta, it also unveiled the Swift Package Catalog, which hosts new libraries, modules, and packages being created for use with the Swift Package Manager.
David Ramel is the editor of Visual Studio Magazine.