Server-Side Swift with IBM

Imagine it’s December of 2015. You’re a developer, and you’ve just heard the news that Apple has open sourced their Swift programming language. You’re probably excited, but also a little wary, a little curious; why would Apple get involved in open source software? This isn’t normal for a company that typically keeps its products under lock and key.

Fast forward to today. A great deal has happened since Apple’s fateful decision, and Swift is now contending as a server-side language to rival Javascript, Java, Go, and others. The implications are pretty significant. Swift, the same language that powers modern Apple applications, can now be used to build web servers, microservices, and even hobbyist electronics projects with single-board computers like the Raspberry Pi.

It’s pretty easy to understand Apple’s motivations—bridging Swift to the server is an opportunity to expand their reach and grow their developer community. But what does this all mean for you? Should you be excited about server-side Swift?

Yes, you should. You absolutely should.

Introducing Server-Side Swift with IBM

We’re so excited about the potential of server-side Swift, that we built a new course just to teach developers how to extend Swift beyond the realm of Apple devices and onto the server and the cloud. We’ve secured an amazing partner for the course, and we’re now very pleased to announce the launch of Server-Side Swift … with IBM!

Enroll in Server-Side Swift with IBM today!

Whether you’re an Apple developer, a full stack developer, or just getting getting started with app development, this course offers an opportunity to master server-side Swift, while gaining vital transferable skills that can be used for any server-side development.

“At the end of the day, we want to empower the developers. Levelling up skills, delivering great experiences; that’s what it’s all about. We’re going to see more tooling, more integration, more packages—this is a really exciting time. With Swift now being end-to-end, and this concept of your application being end-to-end, you can really take your skills to new levels, and we’re going to make it so that you can use these skills to deliver great applications.” —Patrick Bohrer, Distinguished Engineer, IBM Cloud, Application Runtimes and Frameworks, Swift@IBM

Server-Side Swift: The Basics

If you’re not familiar, or are just getting started with these terms, tools, and concepts, “Server-Side Swift” refers to the compilation and execution of the Swift programming language on Linux — the most predominate operating system used in cloud computing. The term also reflects that most Swift applications targeted for Linux will run as servers or will, at a minimum, be hosted on a cloud-based Linux system which itself can be referred to as a “server.” Using Swift in this capacity is consistent with the examples shown by Apple and IBM at their joint-presentation at WWDC 2016 only a year after the open-sourcing of Swift, which led to its porting to Linux in the first place. Multiple Swift frameworks and tools have since been created to simplify the process of creating server-side Swift applications.

Udacity and IBM: The Partnership

Udacity and IBM have partnered to create this course to help developers bridge the gap between “what you know” and “what you must learn” to become functional server-side (or full-stack) Swift developers. The course is designed to appeal to the traditional iOS developer as well as full stack developers who have heard about server-side Swift, and are curious about its potential as a server-side language. The program focuses heavily on practical skills, and building proficiency for using the tools which aid in creating server-side applications. One of our featured experts in the program is Pat Bohrer, the technical lead for server-side Swift at IBM. You’ll enjoy hearing him describe IBM’s journey with server-side Swift from initial adoption to improvement, and ultimately its use for enterprise applications. For IBM, through their partnership with Apple, they are well positioned to be an advocate for the adoption and spread of server-side Swift to the larger developer community, and their involvement in this course offers tremendous value to students.

“Swift on the server is a global phenomenon, and the ecosystem continues to expand rapidly. After working with Swift for app development we saw many benefits in bringing the language to the server and enabling end-to-end development. Now, through our partnership with Udacity, we have the opportunity to teach new generations of programmers the skills they’ll need to contribute to this amazing community, and to become professionals working in the field. This is a really exciting development.” —John Ponzo, IBM Fellow, VP and CTO, MobileFirst

Server-Side Swift with IBM: What You’ll Learn

When you complete the new server-side Swift course, you will be well prepared to develop and deploy Swift applications that run in the cloud. The skills you’ll gain will include the obvious writing of server-side Swift code, but also the use of industry-proven techniques and tools for providing environment parity between development and deployment systems, describing infrastructure as code, and provisioning resources in the cloud. Through learning these skills, you will be able to build server-side apps that can scale from small to large and serve as the backbone for client applications, and be able to participate in the development of the next server-side application for your company or client even if it isn’t written in Swift—this is testament to the real power of this course, which is learning the transferable development and deployment skills that are necessary for building modern applications.

Who Should Take Server-Side Swift with IBM?

As a server-side language, Swift appeals to different developers for different reasons

The iOS/Apple Developer. If you’ve been building apps recently, then you’ve seen Swift become the de-facto standard language for new Apple projects. And now that server-side Swift is a reality, Apple developers can extend the same language they use to build client/front-end apps (for iPhones, iPads, Apple Watch, etc.) to the server/back-end. It’s now entirely possible for a back-end written in Swift to power an Android application, website, game, etc. This makes iOS/Apple developers suddenly much more capable and certainly more valuable.

The “Traditional” Full Stack Developer. Any developer who has been building back-ends to power client apps in the past decade has probably been using languages like Javascript, Java, Go, or Python. So why Swift? Because Swift has something to offer that few back-end languages have—it’s natively compiled and it’s very safe, fast, and memory efficient. It is also extremely expressive and easy-to-use.

The New Developer. For new developers, your timing is perfect, because you’ve bypassed the tumultuous Swift language changes that occurred over the past two years. Now that Swift is a more stable language, it is a perfect time to jump on the bandwagon!

Enroll in the course today, and you’ll enjoy a feature-packed learning experience that is fun, informative, and rich with expert input from our partners at IBM. We can’t wait to see you in the classroom!

Enroll in Server-Side Swift with IBM today!

Jarrod Parkes
Jarrod Parkes
Jarrod Parkes is an iOS Course Developer at Udacity, and a proverbial “utility knife” for all things content. Jarrod has taught everything from 2D game physics to career prep, and he has no plans of slowing down. When not teaching, Jarrod enjoys playing softball, cooking with his wife, and spending time with his family in his hometown of Huntsville, AL.