Building web apps in Swift lets you re-use the skills you've already mastered, while being faster and safer than other languages. This course teaches you everything you need to craft your own server-side APIs and websites, all using Swift.
100% Swift 4: Don't waste time with out of date tutorials – here you can learn smart, powerful, and expressive Swift the way it was meant to be written.
100% Practical: You learn Swift while you make real web apps, which means you get to apply your new skills immediately and see them work in context.
100% Coverage: Master sessions, databases, logging, templating, user authentication, and more – everything you need to build your own web apps.
100% Proven: I've taught thousands of people to build iOS apps, and I'll help you transfer your skills to the web and unleash Swift on your server.
Server-Side Swift teaches you Swift and web development through real-world projects. There's a comprehensive Swift introduction for beginners, but the rest of the book is focused on building real web apps and websites using Swift.
Server-Side Swift includes 12 projects in total: eight apps, and four technique projects that focus on specific APIs. The projects are:
1. Million Hairs: Get started coding server-side Swift by making a website using templates and routing.
2. CouchDB Poll: Learn how to build a voting API using CouchDB and JSON.
3. Routing: Route web requests the smart way, with route chaining and regular expressions.
4. Swift Fan Club: Build your own forum website while learning about CouchDB views, sessions, and encryption.
5. Meme Machine: Learn how to process image uploads and work with the filesystem.
6. Templates: Take a tour around the advanced features of the Stencil template engine.
7. Barkr: Build a microblogging API using MySQL and token-based authentication.
8. ASCII art: Learn to fetch and manipulate remote data, and serve the results using ajax.
9. Databases: Discover how MySQL can help keep your data organized, efficient, and safe.
10. Instant Coder: Add GitHub authentication to your site and let Kitura do all the hard work.
11. AppleFanatic: Build your own CMS with multiple Kitura servers, Markdown support, and more.
12. Testing: Learn how XCTest can help validate your back-end APIs in seconds.
While building projects, you'll learn all this and more:
- How to transfer your existing Swift knowledge to the server.
- Connecting to databases to read and write data, using CouchDB and MySQL.
- Creating server-side sessions for temporary storage.
- Building re-usable templates to separate your presentation from your logic.
- How to design, build, and test web APIs for your Swift apps.
- Authenticating users to create login screens.
Server-Side Swift follows the same approach I used with Hacking with Swift: small, standalone projects that teach individual techniques starting from scratch, so you end up with a huge library of finished projects you can develop further or use as the base for something entirely new.