Beyond the code: The accelerating growth of the Swift ecosystem
There are efforts like the one to extend Swift to the server developers work through — pull request by pull request, merge by merge. However, unlocking the full potential of Swift as a modern programming language involves more than growing the cadence of open-source contributions; as important as this is, it also involves the development of a well-rounded ecosystem complete with innovative tools, implementations and support structures.
For certain, Swift moving into open source also opens the door to the development of a vibrant ecosystem. With the advent of the Swift 3.0 beta, the first release of Swift code by the community, we see the result of all our efforts to mature the language server side — and the community should be proud of our collective accomplishment; while there is still more to do, we’ve made a lot of progress on important technology issues like concurrency. We should also recognize the need to mature the ecosystem is as important, and six months into this effort, the ecosystem has rallied its collective energies and is more vibrant than anyone could have hoped.
Swift on the server
From IBM’s perspective, Swift on the server is already a global phenomenon. This month, the number of code runs in the popular IBM Swift Sandbox topped 1.5 million. If you are not familiar with the Sandbox, it’s a cloud environment IBM made public last December with the Swift.org launch; at that time, we declared we’d be participating in the new project specifically to help extend Swift to the server. We used the Sandbox to test our code and, thinking others might benefit as well, we shared access. This enabled developers, regardless of OS, who were interested in server-side Swift to give it a try without needing to stand up their own server.
Today, those 1.5 million code runs represent a Swift on the server community of developers across 133 countries — from Papua New Guinea to Greenland, from Austin to Bangkok — developers are using the Sandbox to learn Swift, try it on the server and share code and insights as they do.
Swift in the enterprise
The sandbox is just one measure of how rapidly the end-to-end Swift ecosystem is developing.
We introduced the Kitura Web Framework in February and continue to work with the open-source community to advance its capabilities. Our approach has been driven by the goal of providing a consistent client and server programming model that leverages common libdispatch for concurrency and Foundation framework APIs to streamline end-to-end development and avoid fragmentation. We are pleased to see some early implementers are working to increase robustness for enterprise use cases. We see many innovative web frameworks emerging on GitHub. What’s key here is the broad range of ideas; bringing Swift to the server breaks new ground, and the framework effort is a signal that a growing number of innovative developers are committed to making Swift a first-class language for cloud.
The emergence of server-side Swift packages are another area where we see the ecosystem rapidly expanding. Developers are already building great apps with Swift on the client; bringing Swift end-to-end requires developers have both client- and server-side packages; they know it, and they are sharing their growing number of libraries, modules and package.
Thousands of Swift packages
We launched the IBM Swift Package Catalog in February this year, and since then, it’s grown in both in features and content. It now highlights over 1,500 packages at the fingertips of today’s Swift developers. What’s more, these are packages that are Swift Package Manager compliant.
The Swift Package Manager is a tool for managing the distribution of Swift code, and it will be released with Swift 3. This tool will be integrated with the Swift build system to automate the process of downloading, compiling and linking dependencies. When we think about there being over 1,500 packages that are compliant with a capability that is still “beta,” we gain a sense of just how eager this community is to move forward, fast.
A community effort
The community is unlocking the full potential of Swift to create robust, integrated apps by bringing this modern language to life through these various packages. They are opening the door to the consumption of first-class application capabilities and cloud services any developer can leverage when building great apps with Swift — from AlamoFire to RxSwift, from Redis to CouchDB, and from location based services to object storage, Swift project developers have more function at their fingertips than ever before.
Swift is easy to learn — for both new and experienced developers looking to leverage the benefits of a modern language. But for many, bringing Swift end-to-end brings their coding into unfamiliar territory. Developers are responding by getting up to speed fast and helping others do the same at meetups around the world. A year ago, IBM Swift engineers were attending mobile and cloud meetups and focusing on client-side issues. Today, we also attend Swift meetups. The number and size of these local communities is growing fast, and they span the globe with large groups of developers gathering in Warsaw, Brooklyn, California and Austin to talk all things Swift. If you don’t have a meetup near you, check this Swift London out. Just recently, our UK team attended Swift London, a community organized by Morgan Evetts (@SwftLDN). One of the great things about this community is that they broadcast their events live on their YouTube channel; you can check out their catalog here.
And finally, formal training and events. More and more computer science programs are talking about end-to-end Swift. As more events are including Swift as a main component of their programs, others are dedicated to Swift, like the Try!Swift conferences where we hope to see you in September in New York.
As Phil Buckellew mentioned in his blog, IBM will be talking Swift across multiple events this week. In India, we are talking to a diverse group of developers in Bangalore about the Sandbox and Kitura. In Israel, we are talking to the mobile developer about the new Swift@IBM tools. Here in California, we’re helping sponsor #AltConf, where we will demonstrate our new IBM Cloud Tools for Swift, which bridge projects from client to server in a local environment. And of course, I hope you’ll join our session at WWDC this Friday.
A typical week in some ways. Atypical in others. It’s not every day you witness the first community-built release of the world’s fastest growing program language. To everyone out there who has been part of this first six months, thank you! Your innovation is inspiring. I look forward to what the next six months will bring and continuing our global collaboration to bring Swift to the cloud.