All courses below can also be delivered remotely if desired.
Getting Started with Vapor
Ranging from half day to three days, this is the definitive course to learn Vapor. You'll learn everything you need to build backends and APIs in Vapor.
This course includes:
- Routing and HTTP Basics
- Fluent, CRUD and Relationships
- Authentication
- Leaf and HTML
- Much, much more!
You can either follow the set curriculum or request a completely custom course to suit your needs.
Testing and Architecting Vapor Apps
Real-life applications are very different to the hello world ones we write when learning a new tool or framework. Enterprises and companies writing large projects want to be able to write testable, maintainable and clean code.
In this course you'll learn how to apply some of the fundamental software design patterns to your Vapor applications. You'll learn best practices, such as using hexagonal architecture and the repository pattern to abstract away your data layers and external dependencies.
This course also teaches you ways to write unit tests for your Vapor code. You'll see how to leverage the repository pattern to write unit tests that can be executed quickly without relying on an external database. You'll see how to write tests for all the business logic in your apps to give you confidence when refactoring code and adding new features.
Migrating from Kitura to Vapor
If you've been building server-side Swift apps with Kitura but now want to migrate to Vapor to make the most of the community, cutting edge technology and support, this is the course you need.
In this course you'll learn some of the basic concepts of Vapor and how they compare to Kitura. You'll see the differences between the two frameworks and what similarities they share. By the end of the course, you'll come away with a solid understanding of the differences and what you need to migrate your apps to Vapor.
Migrating from NodeJS to Vapor
If you've been learning how to build server applications using NodeJS but want a better language that has type safety, powerful generics and a compiler then look no further!
In this course you'll learn the fundamentals of Swift and see how it compares against JavaScript. You'll see how concepts and patterns in NodeJS translate across to Vapor and how you can convert your applications to Vapor.
Securing Your Vapor Apps
This course teaches you the basics of internet security and how to apply that to your Vapor applications. You'll learn how to perform a number of attacks against web applications in order to know how to secure them.
You'll learn:
- HTTPS and client-side validation
- SQL Injection
- CSRF
- Cross site scripting
BFFs for iOS with Swift
Most modern iOS apps use the same REST API that every other client uses. However, this can lead to poor user experiences as you might need hundreds of networks requests just to populate your homescreen. It also leads to a poor developer experience as you have to manage lots of different endpoints, parse and filter data and handle secrets, all in an app that is difficult to update.
In this course, you'll learn the backend for frontend pattern (BFF) and see how to create a small service, dedicated to just your application to offload all that data for you. This makes it easier to maintain, easier to push updates and easier to develop. Your iOS app just consumes this one API, getting the only data you need and leading to a better experience for your users.
Best of all, you can do this all in Swift! You'll learn how to create different endpoints for your app, handle secrets, consume external APIs and deploy the application into an environment that works with your company's existing backends.
Migrating from Perfect to Vapor
If you've been building server-side Swift apps using Perfect but want to start using Vapor, this course will teach you everything you need to know to migrate your apps and services.
In this course you'll see the similarities and differences between Vapor and Perfect and how you can migrate your applications to Vapor. You'll learn how to switch over to frameworks and drivers approved by the Swift Server Working Group to use the most battle-tested code for your apps.