Learn to build Swift websites with real-world projects
This book is available for download with iBooks on your Mac or iOS device, and with iTunes on your computer. Books can be read with iBooks on your Mac or iOS device.
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 3: 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.