Ever since Swift was first announced, raywenderlich.com has been a massive supporter of the language. Swift is modern, clean, fun, and it’s the best way to develop not just iOS apps, but server-side APIs and web apps as well!
That’s why raywenderlich.com is super excited to announce something we’ve been working on secretly for the last few months.
Is it a bird? Is it a plane? No! It’s the Server-Side Swift Celebration!
As part of the Server-Side Swift Celebration we’re announcing our lineup of new and updated server-side Swift books and video courses — and we’ve wrapped them up in a time-limited bundle that you can get at a massive discount.
We’re running this celebration for two weeks, and we have a lot to cover in those few days! Here’s a quick overview of what’s in store:
Why Server-Side Swift?
Developing for Swift on the server is a much different deal than developing for iOS; you have to understand server deployment, testing against your API, supporting multiple client platforms, as well as try to learn about all of the great server-side Swift frameworks out there.
You can now use Swift natively on macOS, Linux or even Windows for your server-side application development. With frameworks such as Vapor and Kitura, you can quickly build production-ready Swift web apps that can connect to databases, utilize templating for pages, pass messages via websockets, and deploy to various cloud-based solutions with ease. It’s a brave new Swift world out there!
We think that Swift on the server is one of the most exciting things to happen with Swift in the last few years, so it deserves its own curated space on the site.
New Server-Side Swift Section on raywenderlich.com
Just like our iOS, Android, Unity and Unreal Engine sections on the site, we now have a brand-new section of raywenderlich.com dedicated to everything to do with server-side Swift!
This new section of raywenderlich.com is your one-stop shop for all the latest and greatest tutorials and articles to help you stay on top of everything you need to know about using Swift on the server.
And to give our new Server-Side Swift section a balanced view, we’ve brought in two heavyweights as Team Leads for this new server-side Swift community. They’re here to bring you hard-won and battle-tested advice from the server-side Swift frontlines:
Tim Condon — heading up the Vapor side of our content.
David Okun — handling everything Kitura.
We want to support the growing server-side Swift community as best we can, so Tim and David will work with our Server-Side Swift team to develop lots of new content for our Server-Side Swift section over time.
Now — on to everything we’re launching with the Server-Side Swift Celebration!
New Server-Side Swift Books
To lead off the Server-Side Swift Celebration, we are featuring our two best books on server-side Swift development: our newest book, Server Side Swift with Kitura, and our newly updated book, Server Side Swift with Vapor, Second Edition!
1) Server Side Swift with Kitura
Server Side Swift with Kitura will walk you through the development of EmojiJournal, a social network focused on your feelings. You’ll learn how REST works, how to document your API, how to set up an ORM and user authentication, and even how to create a web front-end as well as an iOS front-end. You’ll also learn about how to use powerful deployment tools to manage and run your API in any popular cloud that you choose!
This book is for any developer who has had some exposure to Swift and wants to learn how to use those skills to write code that operates on the server.
Here’s a short, non-exhaustive list of what’s covered in the book:
- KueryORM: Learn how to map your Swift API to PostgreSQL, a very popular database.
- The OpenAPI Spec: Learn how to self-document your API, and to provide a tool for rapidly testing and iterating on it.
- Stencil: Use an open-source templating tool to create a web-app for your Swift app on the server.
- Authentication: Protect your Swift API from unwanted requests and learn how to apply multiple different types of protection.
- Security: Demystify the world of TLS and learn how to secure communications to and from your server.
- Deployment: Localhost isn’t enough — push your server to production with Docker & Kubernetes.
- And much, much more!
Server Side Swift with Kitura is 100% complete and available today — and it’s on sale as part of our Server Side Swift Super Bundle.
Server Side Swift with Kitura Authors
Of course, our Server Side Swift with Kitura book would be nothing without the efforts from the hard-working authors on this book:
Chris Bailey is a co-author of this book. Chris is a software developer and architect at IBM. He’s been working on programming languages and web frameworks longer than it’s polite to discuss. Somewhere along that journey, he got got involved in the very early days of Swift on Linux and became the chief architect for the Kitura web framework.
David Okun is a co-author of this book. He is a mobile software developer turned developer advocate for IBM in Austin, TX. David has been primarily focused on iOS mobile software, but is also interested in Swift on the Server, and other web technologies such as Node.js.
2) Server Side Swift with Vapor, Second Edition
Our Server Side Swift with Vapor book introduces you to the world of server development with the added bonus of using Swift. You’ll learn how to build APIs, web sites, databases, application servers and use Vapor’s very own Vapor Cloud to host your solutions off-site. You’ll use many of Vapor’s modules such as Fluent, Vapor’s ORM, and Leaf, the templating engine for building web pages.
The Second Edition of this book has been updated with four new chapters:
- Chapter 23: GitHub Authentication: Learn how to use OAuth 2.0 to delegate authentication to GitHub, so users can log in with their GitHub accounts instead.
- Chapter 24: Password Reset and Emails: Discover how to integrate an email service to send emails to users. You’ll also learn how to use emails to reset user passwords, which is a common operation in most web applications.
- Chapter 25: Adding Profile Pictures: Send files in requests and handle them in your Vapor application. You’ll use this knowledge to allow users to upload profile pictures in the web application.
- Chapter 30: Deploying with Vapor Cloud: Vapor Cloud is the Vapor team’s own solution to hosting your Vapor applications. In this chapter, you’ll learn how to deploy a Vapor application with Postgres on Vapor Cloud.
Here’s a sneak peek of what’s inside:
- HTTP: Learn the basics of how to make requests to and from servers.
- Fluent: Learn how to use Fluent to save and manage your models in databases.
- Controllers: Learn how to use controllers to route your requests and responses.
- Leaf: Learn how Vapor’s Leaf module and its templating language allow you to build dynamic web sites directly.
- Middleware: Learn how built-in Vapor modules can assist with common tasks such as validating users, settings required response headers, serving static files and more.
- And much, much more!
Server Side Swift with Vapor, Second Edition, is 100% complete and available today — and it’s on sale as part of our Server Side Swift Super Bundle.
Server Side Swift with Vapor Authors
Here are the hard-working authors who have contributed to Server Side Swift with Vapor:
Tim Condon is a software engineer who has worked in most areas of the industry, including security, back-end, front-end and mobile! He is the founder of Broken Hands, a company specializing in Vapor and also currently works for the BBC on their mobile team. On Twitter, he can be found sporadically tweeting as @0xTim. You can find more about him at www.brokenhands.io.
Tanner Nelson is an American software engineer based in New York City. He started programming in elementary school and went on to study Computer Science at New York University. Tanner created Vapor in 2016 and now works full time maintaining the core framework and the dozens of packages around it.
Jonas Schwartz had a long career as a backend and server operations developer, before he teamed up with Tanner and Logan in 2017. He came onboard after talks about building a cloud platform. Since then, his focus has been on making hosting easy and more scalable for Vapor applications.
Logan Wright began his career as an iOS Developer working on many categories of applications from navigation, to customized bluetooth communication protocols. Always a major supporter of OSS, Logan met Tanner through the Vapor project. Eventually, that grew into a full-time position and the community as we know it today.
Server-Side Swift Video Courses and Screencasts
Next in the Server-Side Swift Celebration is a curated collection of new and updated video courses and screencasts for raywenderlich.com subscribers!
These courses and screencasts are designed to get you up to speed on working with Swift on the server. And because there’s more to working with Swift on the Server than just using the frameworks, we’ve curated other video courses that will help you become a server-side Swift master, including working on the command line, using Git, working with the Swift language and more!
Here’s just a taste of some of the courses you’ll have access to as a raywenderlich.com subscriber:
1) Server Side Swift with Vapor
In this course, you’ll discover Vapor, the server-side Swift web framework, learning everything you need to build powerful APIs and websites in Swift.
2) Server Side Swift with Kitura
Learn how to build robust full-stack applications using Swift and Kitura, template your pages, working with CouchDB, building routes, and more.
3) Deploying to Vapor Cloud 2
In this screencast, you’ll earn how to deploy your Vapor app to Vapor Cloud 2, and take advantage of the free database tier in the new version of their cloud service!
4) Deploying Server-Side Apps with Docker
Docker makes it easier to create, deploy, and run applications by using containers. In this featured session from RWDevCOn 2017, you’ll learn how to package up your server-side Swift app as a custom Docker image, and leverage Docker Compose to take that image and create a container that can be used for both local development and in production.
5) Command Line Basics
A command line course for beginners! Explore the basics like manipulating files and directories, navigation and tips and tricks to make your experience on the command line a little smoother.
6) Beginning and Mastering Git
In this two-course set, you’ll learn everything from cloning and creating repos, through committing and ignoring files, to managing remotes and pull requests. You’ll then use that solid foundation and build upon it with a focus on fixing real-world problems, as you take a multi-user Git repository and work through the final steps of releasing a software product.
And there are other video courses and screencasts to complement your server-side Swift learnings, including Data Structures and Algorithms in Swift, What’s New In Swift 5, Serialization in Swift, and more!
How to Get the Courses
Want to get access to these and other great video courses?
This curated selection of courses is already included in your raywenderlich.com subscription. Don’t have a subscription? You get one month included as part of the Server Side Swift Super Bundle, so it’s a great way to see what you’ve been missing from our video course catalog!
These courses are designed as companions to the Server Side with Kitura and Server Side Swift with Vapor books. We recommend you work through the video courses first, and refer back to the books for review, or to advance your knowledge of working with Swift on the server.
Server-Side Swift Tutorials
We’ll also be releasing a pile of new and updated server-side Swift tutorials over the coming week, to help you learn more about topics like deployment, testing, templating web pages, async on the server and more!
- 1) Getting Started with Vapor: Get started quickly with serverside Swift using Vapor, and build your first Vapor web app in Swift!. Available today.
- 2) Kitura: Getting Started with Server-Side Swift: Do you wish your iOS skills worked on the backend? This Kitura tutorial will teach you to create RESTful APIs written entirely in Swift. Available today.
- 3) Vapor vs. Kitura: Choosing a Server-Side Swift Framework: If you’re coming from iOS development and considering server-side Swift, one of the first questions you’ll likely ask: “Which framework should I choose, and why?” In this post, we’ll compare the two most popular server-side Swift frameworks: Vapor and Kitura. Available today.
- 4) Vapor: Persisting Models with Fluent: The Fluent ORM lets you use any number of database engines in your Vapor app. Learn how to persist your models in your server-side Swift apps using Vapor! Available Tuesday, Feb 26.
- 5) Kitura and the BFF Pattern: In this article, learn what high-level issues Kitura solves with server-side Swift, and what the BFF pattern is all about! Available Tuesday, Feb 26.
- 6) Vapor: Templating with Leaf: Create a website-based client against your Vapor API, and along the way you’ll learn how to use Leaf to create dynamic websites in Vapor applications! Available Wednesday, Feb 27.
- 7) Vapor: Beautifying Pages: learn how to use the Bootstrap framework to add styling to your pages. Available Wednesday, Feb 27.
- 8) Kitura Stencil Tutorial: How to make Websites with Swift: In this tutorial on building websites with the Stencil Swift templating library you’ll discover how a web-based front-end is structured, and see how to template your site. Available Wednesday, Feb 27.
- 9) A Simple (!) Guide to Async on the Server: An important topic in server-side Swift is asynchronous programming. This tutorial teaches you how to work with two important aspects of async programming: futures and promises.
- 8) Testing Your Vapor App: Use a pre-built Vapor application to learn both how to test your server-side Swift Vapor apps on macOS and also best practices to simplify your test code. Available Thursday, Feb 28.
- 10) Testing on Linux: In this tutorial, you’ll test your server-side Swift apps on Linux, learning the differences between testing on macOS and Linux, and how to use Docker and Docker Compose. Available Thursday, Feb 28.
- 11) The OpenAPI Spec with Kitura: Getting Started: Get started with the OpenAPI spec in this server-side Swift tutorial on using the Swagger API with Kitura to generate an SDK for your iOS app! Available Thursday, Feb 28.
- 12) Deploying a Kitura App: Kitura servers built in Swift are pretty cool, but it’s even cooler to deploy them in the cloud! See how to build a Docker image, then deploy to Kubernetes.
- 13) Deploying to Vapor Cloud 2: Learn how to deploy your Vapor app to Vapor Cloud 2, and take advantage of the free database tier in the new version of their Cloud service! Available Friday, March 1.
Server Side Swift Super Bundle
To celebrate the launch of our new server-side Swift books, courses, and screencasts, we are offering a special bundle where you can get everything we’ve covered in this post — at a big discount!
Our time-limited Server Side Swift Super Bundle includes:
- Server Side Swift with Kitura ($59.99 value): Gives you access to our new Server Side Swift with Kitura book, which teaches you how to build and deploy a fully featured web API, and how to build iOS and web clients to work with your Kitura backend! PDF/ePub format, all source code included.
- Server Side Swift with Vapor, Second Edition ($59.99 value): Gives you access to our new Server Side Swift with Vapor, Second Edition, book, which starts with the basics of Vapor, then walks you through creating APIs and web backends; creating and configuring databases; deploying to Heroku, AWS, or Docker; testing your creations and more! PDF/ePub format, all source code included.
- The first month of a raywenderlich.com subscription ($19.99 value): Gives you access to all video courses and screencasts mentioned above, as well as full access to our complete library of other development video courses and screencasts, including any new courses and screencasts we release in the future!
The bundle price of $99.99 includes the first month of your subscription, which will continue at $19.99/month thereafter. You are free to cancel your subscription at any time and keep the books. This bundle gives you over 25% off all featured products in our Server-Side Swift Celebration!
The Server Side Swift Super Bundle is only available for the next two weeks, so be sure to take full advantage of it before it’s over.
Already a subscriber? Existing subscribers will enjoy a $20 discount on the bundle that will get you both books added to your collection. It’s our way of thanking subscribers for supporting what we do here at raywenderlich.com.
Already purchased one of these books? If you’ve purchased the pre-sale Kitura book or the first-edition Server Side Swift with Vapor book within the last 30 days and really want to take advantage of the bundle with the subscription, get in touch with our support team at [email protected] and they’ll take care of you.
Server-Side Swift Celebration Giveaway
As a final celebration, we’re going to give away three free Server Side Swift Super Bundles to some lucky readers!
To enter the giveaway, simply comment on this post and answer the following question:
Why are you interested in our new server-side Swift books, courses and screencasts?
We will select three winners at random who answer this question before next Friday, March 8. Good luck!
Where to Go From Here?
Swift has become a powerful language for server-side development on macOS, Linux and even Windows! Now is the time to join the exciting server-side Swift revolution and learn how to master frameworks such as Vapor and Kitura to build production-ready websites and web APIs and deploy them to cloud-based platforms with ease.
To recap, here’s the schedule for our two-week Server-Side Swift Celebration:
- February 25: Server-Side Swift site launch; Vapor and Kitura book launch; Getting Started with Vapor, Kitura: Getting Started with ServerSide Swift, and Vapor vs. Kitura: Choosing a Server-Side Swift Framework tutorials.
- February 26: Server Side Swift with Vapor updated video course; Vapor: Persisting Models with Fluent and Kitura and the BFF Pattern tutorials.
- February 27: Vapor: Templating with Leaf, Vapor: Beautifying Pages, and Kitura Stencil: How to Build Websites with Swift tutorials.
- February 28: A Simple (!) Guide to Async on the Server, Testing a Vapor App, Testing in In Linux, and The OpenAPI Specification tutorials.
- March 1: Deploying a Kitura App, Deploying to Vapor Cloud 2 tutorials, and the Deploying to Vapor Cloud 2 screencast!
And once you’ve had an extra week to consume all that good stuff, we’ll announce the winners of the Server Side Swift Celebration Giveaway on Friday, March 8, which is also the last day for the discount on this bundle!
Questions about the Server-Side Swift Celebration, or the Server Side Swift Super Bundle? We’ve got a handy FAQ right here to help you out:
If you’ve been looking to learn more about using Swift on the server — or level up your existing skills – there’s no better way to learn than these new books, tutorials, courses and screencasts.
And this is only the beginning! We’re committed to creating more new tutorials, courses, and screencasts on server-side Swift development, with the goal of becoming the “go-to” community for everything related to server-side Swift.
And — don’t forget to grab the Server Side Swift Super Bundle today, before the deal is over!