Routing with Codable – Decoding
We implement the decoder for our Codable-based routing system.
Episode 349 · Mar 31 2023
This collection takes a framework-independent look at how to use Swift on the server. We use the Swift Package Manager and Docker to set up our development environment, add a simple HTTP server, and build routing infrastructure on top. Lastly, we interface with PostgreSQL's C library for database access.
21 Episodes · 7h57min
We implement the decoder for our Codable-based routing system.
Episode 349 · Mar 31 2023
We build a routing system based on the Codable protocol, starting with encoding.
Episode 348 · Mar 24 2023
We implement a rule modifier protocol that's similar to SwiftUI's view modifier protocol.
Episode 347 · Mar 17 2023
We add a simple web server to test our library from the browser and add support for async code.
Episode 346 · Mar 10 2023
We add a user-extensible environment to loop custom values through the site tree.
Episode 345 · Mar 03 2023
We add helpers to construct static and dynamic paths.
Episode 344 · Feb 24 2023
We lay the foundation for a backend library inspired by SwiftUI.
Episode 343 · Feb 17 2023
We refactor our string interpolation code to allow concatenation of multiple interpolated SQL queries.
Episode 144 · Mar 22 2019
We use Swift 5's new string interpolation API to automatically insert placeholders in SQL queries.
Episode 143 · Mar 15 2019
Using a protocol-based approach, we show how we write tests for the Swift Talk backend.
Episode 142 · Mar 08 2019
We show a refactoring of the view code in the Swift Talk backend that allows us to pass around dependencies automatically using a functional pattern.
Episode 141 · Mar 01 2019
To finish up the team member signup, we use a CSRF-validated POST request and then write a test for what we've built.
Episode 140 · Feb 22 2019
We continue working on the team member signup feature, showing how we handle sessions and perform database queries.
Episode 139 · Feb 15 2019
We show our new Swift Talk backend built on top of SwiftNIO by implementing a new team member signup feature.
Episode 138 · Feb 08 2019
We add support for arrays by implementing an unkeyed decoding container and use custom decoding logic for dates and URLs.
Episode 116 · Aug 31 2018
We implement a custom XML decoder that allows us to decode responses from an XML API using Decodable.
Episode 115 · Aug 24 2018
We're using Swift's Mirror and Decodable APIs to generate database queries for structs in our Swift Talk backend project.
Episode 114 · Aug 17 2018
We extend our libpq wrapper to handle queries with properly escaped parameters. To achieve this, we have to dive deep into Swift's unsafe pointer APIs.
Episode 50 · May 19 2017
We implement a lightweight wrapper around the libpq C library.
Episode 48 · May 05 2017
We implement a type safe and Swift-like routing infrastructure that's pretty different from the common approach of most web frameworks.
Episode 45 · Apr 14 2017
We set up our development environment using the Swift package manager and Docker.
Episode 44 · Apr 07 2017