Server-Side Development in Swift (3 Days)

A rapid introduction to server-side development in the Swift programming language.

This course will give you a hands-on introduction to working with popular server-side Swift frameworks such as IBM’s Kitura, Vapor, and PerfectlySoft’s Perfect. You’ll learn to use Xcode to develop Swift web applications, backend services, and REST APIs that can be built, tested, and debugged on both macOS and Linux, right from within Xcode.

Audience

Developers interested in learning to develop web applications and services in Swift

Prerequisites

You should have a basic knowledge of Swift, or have previously taken Swift Programming or the equivalent.

Upcoming Public Classes

Enroll early and save.

Course Overview

A rapid introduction to server-side Swift development that builds practical, hands-on knowledge from the ground up. You’ll learn how to do all of the following, and more:

  • Work around differences between swift-corelibs-foundation and Objective-C Foundation
  • Handle language bridging and interoperability issues with third-party libraries and frameworks
  • Manage concurrency with swift-corelibs-libdispatch (Grand Central Dispatch)
  • Develop and test server-side code in Xcode
  • Use the Swift Package Manager to perform macOS and Linux builds
  • Develop web applications, backend services, and REST APIs in Swift
  • Manage generation and consumption of JSON data
  • Manage URL routing, and HTTP requests, responses, and sessions
  • Implement data storage (relational, NoSQL, file-based, etc.)
  • Work with templating languages such as Markdown and Mustache
  • Work with microservices architectures

Course Outline

Developing in Xcode
Gain hands-on familiarity with using Xcode to edit, build, deploy, and debug server-side Swift codebases.
Working with the Swift Package Manager
Learn to use the Swift Package Manager to manage your app’s or service’s dependencies, perform macOS and Linux builds, and configure Xcode projects.
Deploying to Linux Clouds
Learn to use command line tools and Docker to containerize and deploy your web apps and services to third-party clouds, such as IBM Bluemix.
Swift Essentials
Get a quick review of key features of the Swift language, as well as commonly used APIs from the Swift Standard Library, the Foundation framework, and other libraries and frameworks. (Note: for a more comprehensive introduction to Swift, consider also taking the companion Swift Programming course.)
Unit Testing
Get practice writing XCUnit tests suites that you can run on both macOS and Linux.
Bridging and Interoperability
Learn how to fix or work around issues related to language bridging for third-party libraries and frameworks, and how to improve interoperability with Swift.
Developing REST Services
Learn the details of writing backend services and REST APIs in Swift, including the ins and outs of handling concurrency, generating and consuming JSON data, and managing URL routing. Discover great API design approaches and microservices architecture techniques.
Data Storage
Gain familiarity with various techniques for incorporating data stores into your apps and services, including using relational databases and ORMs, NoSQL databases, and file-based storage.
Developing Web Applications
Learn to use web application frameworks such as Kitura, Vapor, and Perfect to develop web apps, including using templating engines such as Mustache to generate dynamic content.

Request a Class

Your class, your way.

Don't see what you're looking for? Use the form below to request a class that's better suited to your location and schedule.

I'd like to arrange an onsite class.