Server-Side Swift
A newsletter with the best links related to server-side Swift and cross-platform developer tools.
No spam. We'll never share your email address and you can opt out at any time.

Swift.org - Server APIs Project

Definitely a great initiative to unify all the duplicated libraries we currently have for URL parsing, HTTP parsing, encryption etc. As an example, I had a problem this week trying to use a Swift library with Foundation’s URL type from Vapor with it’s own URI type. Wasn’t fun, but is understandable, as Foundation didn’t seem to be stable enough at the time when Vapor’s libraries were developed. Looking forward to improvements in this area.

Here are accompanying blog posts by Chris Bailey and John Ponzo.

Full-Stack Swift - Part 2 by Milan Stevanovic

I’ve linked to the first part in the previous issue, this time Milan provides sample code for an iOS app that communicates with a backend written in Swift through Protocol Buffers.

CocoaPods on Linux. 100% of Tests Passing by Samuel Giddins

This change was also released today as a part of 1.2.0.beta.1. Personally, would definitely try it when more libraries for Linux support it. SwiftPM’s lack of version pinning (still work in progress) gets somewhat problematic as soon you have something to deploy to production. Fortunately, this so much needed feature works perfectly well with CocoaPods.

Swift on Linux by Ash Furrow

Short and nice post about setting up a Swift development image with Docker.

Whole-Module Optimization in Swift 3 by Erik Eckstein

Interesting post about performance implications of separating your code into modules and keeping stuff together in one module. I hope that cross-module optimization isn’t impossible and we will see it implemented in Swift relatively soon. 🙏

Linux Performance by Brendan Gregg

I didn’t realize that application performance can depend on so many things, until I saw this most comprehensive compilation of different instrumentation tools.

Swift ORM: “StORM” by PerfectlySoft

A new ORM from Perfect that supports SQLite, Postgres and MySQL and is in an early stage of development at the moment.

Parsing JSON is a Minefield 💣 by Nicolas Seriot

JSON is the de facto standard when it comes to (un)serialising and exchanging data in web and mobile programming. But how well do you really know JSON? We’ll read the specifications and write test cases together. We’ll test common JSON libraries against our test cases. I’ll show that JSON is not the easy, idealised format as many do believe. Indeed, I did not find two libraries that exhibit the very same behaviour. Moreover, I found that edge cases and maliciously crafted payloads can cause bugs, crashes and denial of services, mainly because JSON libraries rely on specifications that have evolved over time and that left many details loosely specified or not specified at all.

JSONShootout by Bart Whiteley

Yet another link about JSON, this time it’s a comparison of JSON and object mapping libraries performance. It also features sample code for most of the compared libraries.

Code

GraphQLSwift by Paulo Faria

Finally, there is a GraphQL implementation for Linux 🎉

AlexaSkillsKit: Develop Custom Alexa Skills by Claus Höfele

AlexaSkillsKit is a Swift library that allows you to develop custom skills for Amazon Alexa, the voice service that powers Echo. It takes care of parsing JSON requests from Amazon, generating the proper responses and providing convenience methods to handle all other features that Alexa offers.

AlexaSkillsKit has been inspired by alexa-app, SwiftOnLambda and alexa-skills-kit-java.

grpc-swift by Tim Burks

This is an official implementation of gRPC developed under gRPC GitHub organization by a Google employee.

Lastly…

Pizza Man 🍕

Share this Issue