New Course: Server Side Swift with Vapor

Tim Condon

Server Side Swift with Vapor

Have you ever wanted to write your own back-end services, but didn’t know where to start? Do you love Swift and wish you could use it everywhere?

If so, my new course, Server Side Swift with Vapor, is for you!

In this 30-video course, you’ll use Vapor, a server-side Swift web framework, to create a complex application that you can talk to via an API and a website. Let’s have a look at what’s inside.

Part 1: Getting Started with Vapor

In part one, you’ll build your first Vapor application.

  1. Introduction: Get acquainted with Vapor and review what you’ll be learning throughout this course.
  2. Hello, World: Create your first Vapor app by installing the Vapor toolbox and building your first routes.
  3. HTTP Basics: Find out how HTTP works, how requests and responses work, and learn about the different methods and status codes.
  4. Accepting Data: Learn how to accept data in your Vapor applications and parse it with Codable.
  5. Challenge: Create Your Own Routes: Challenge time! You will be tasked with creating your own routes, using all the skills learnt in the previous videos.
  6. Conclusion: Review what you have learnt in the section and see what will be coming up in the next section.

Part 2: Creating an API

In the second part, you’ll learn to create data models with Fluent.

  1. Introduction:  Let’s review what we are going to cover in this section and also learn about what Fluent is and how Async works and why it is important.
  2. Models and Fluent:  Create models using Fluent and configure your databases.
  3. Controllers and CRUD:  Learn how to create controllers to organise routes and how to save and retrieve models using Fluent.
  4. Finishing CRUD:  Retrieve individual models in Fluent using parameters and learn how to update and delete models using Fluent.
  5. Challenge: Users and Categories:  Time to put all of your new knowledge to the test and create your own models and controllers.
  6. Parent-Child Relationships:  Set up parent-child relationships in Fluent and how to query models for the parent-child relationships.
  7. Sibling Relationships:  Set up sibling relationships in Fluent and how to set up queries to retrieve model’s siblings.
  8. Fluent Queries:  Learn how to take advantage of Fluent to perform powerful queries on your databases.
  9. Persisting Data with MySQL:  Setup your Vapor application to use MySQL as a database, using Docker, so your data is persisted.
  10. Conclusion:  Review what you have learnt in the section and see what will be coming up in the next section.

Part 3: Templating with Leaf

Use Leaf to create powerful templates and build a web application in this part of the course.

  1. Introduction:  Let’s review what we are going to learn in the section and have a quick look at Leaf and why it is useful.
  2. Getting Started with Leaf:  Learn how to integrate Leaf into your application and start injecting data into Leaf templates.
  3. Powerful Templates:   Learn how to build powerful templates using for loops and if expressions to generate HTML.
  4. Embedding Templates:  Learn how to take full advantage of Leaf and embed templates in other templates to reduce duplication.
  5. Beautifying Our App:  Learn how to integrate the Bootstrap framework into our application to provide easy styling.
  6. Challenge: Users and Categories:  Put all of your Leaf skills to the test and create your own pages.
  7. Creating Acronyms:  Learn how to send data with web forms and accept the data back in our Vapor application to create models.
  8. Edit and Delete Acronyms:  Learn how to reuse templates to edit models and learn how to delete models on the web.
  9. Conclusion:  Review what you have learnt in this section and see what will be coming up in the next section.

Part 4: Authentication

Try out different kinds of authentication in the final part of the course.

  1. Introduction: Let’s review what we are going to learn in the section and have a quick look at the different types of Authentication and passwords.
  2. Passwords: Change your user models to allow authentication with passwords and create a token model.
  3. API Authentication: Protect APIs with authentication using both HTTP Basic Authentication and Token Authentication.
  4. Web Authentication: Protect web pages with authentication using sessions and cookies.
  5. Conclusion: Review what you have learnt in both this section and throughout the course.

We’re Writing a Book, Too!

We’re writing a book about using Vapor 3 that goes beyond what’s covered in this course. We’ve only started, but we’ve opened up pre orders so that you can get a sweet discount on the book and be among the first to receive the early-access digital edition of the book when it’s ready!

Pre-Order the Server Side Swift with Vapor Book

Where To Go From Here?

Want to check out the course? You can watch the entire first part for free!

The rest of the course is for raywenderlich.com subscribers only. Here’s how you can get access:

  • If you are a raywenderlich.com subscriber: The first three videos are ready for you today! The rest of the course will be released over the next few weeks. You can check out the course here.
  • If you are not a subscriber yet: What are you waiting for? Subscribe now to get access to our new Server Side Swift with Vapor course and our entire catalog of over 500 videos.

Stay tuned for more new and updated courses to come. I hope you enjoy the course! :]

Tim Condon

Vapor expert and mobile developer who has dabbled in everything from reverse engineering to embedded development. I guess I should describe myself as a full-stack developer!

Other Items of Interest

Save time.
Learn more with our video courses.

raywenderlich.com Weekly

Sign up to receive the latest tutorials from raywenderlich.com each week, and receive a free epic-length tutorial as a bonus!

Advertise with Us!

PragmaConf 2016 Come check out Alt U

Our Books

Our Team

Video Team

... 27 total!

iOS Team

... 82 total!

Android Team

... 44 total!

Unity Team

... 16 total!

Articles Team

... 4 total!

Resident Authors Team

... 32 total!

Podcast Team

... 4 total!

Recruitment Team

... 8 total!

Illustration Team

... 4 total!