Swift 4 is here, and we’re excited to be incorporating the changes into our growing Swift curriculum. Swift 4 improves the standard library, provides source code compatibility with Swift 3, and continues to unify foundation frameworks across Apple operating systems and Linux. Today, we’re announcing the first of many curriculum improvements: an updated Server-Side Swift course built in collaboration with IBM and Hashicorp! We’ve added two new lessons, a host of supporting videos, and interviews with industry experts like Nic Jackson of Hashicorp and Mohammad Azam of The Iron Yard.

The Course

In the course, developers will learn by doing—building the server-side components for “Game Night!”, an iOS app for connecting people who want to play board games together.

Server-Side Swift 1

Game Night! connects users to play board games with friends in their local area.

A key focus in the course is microservices. Microservices are specialized server-side components that perform specific functions like user authentication or push notifications. In contrast to large monolithic projects, microservices are independent and modular by design, and are much easier to scale as a result. For example, if a microservice for creating board game events needs to grow to support a surging user base, then it can do so without affecting other microservices.

Server-side Swift 4

Game Night! is powered by a team of Swift microservices.

To give you an idea of what to expect in the course, take a look at the activities microservice for our sample app. It gives Game Night! users the ability to create and modify activities or board games. To build the activities microservice, you will learn how to use IBM’s Kitura, MySQL database, and Swift in unison. For example, the following snippet creates a new activity (Risk) for the Game Night! app and stores it into a MySQL database. Before server-side Swift, this wasn’t even possible!

Server-side Swift 5

Passwordless Login

Another awesome addition to the course involves Facebook’s Account Kit. With Account Kit, users don’t need to remember a password, they simply use their phone number for login. This is becoming an increasingly popular way to handle mobile login, and in the new lessons, developers will build a passwordless login system for the users microservice.

Server-side Swift 2

With Facebook’s Account Kit, users can login using their mobile number.

Launching into the Cloud with Server-Side Swift

As any developer knows, launching a new product is one of the most exciting parts of working in tech. Launches are an opportunity to admire your hard work, high-five teammates, and hear customer feedback. It shouldn’t be a time when you stress over potential bugs or crashes.

Alleviating launch stress is part experience and part preparation; when it comes to launching a microservice-based app, preparation takes center stage.

As developers will learn in the course, one of the challenges with microservices is ensuring the development environment mimics the deployment environment as closely as possible. This reduces deployment complexity and the possibility of unforeseen deployment errors. One of the best ways to achieve environment parity is by explicitly defining each element in an environment using “infrastructure as code.” The industry-standard tool for infrastructure as code is Terraform by Hashicorp, and we are beyond excited to teach the basics of Terraform in the course.

~

We can’t wait for you to join us in this next installment of server-side Swift. Enroll in the course today, and learn how to build a modern iOS application using Swift microservices!

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.