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.

Yet another week, yet another Swift 3.0.1 preview, this time it’s Preview 3. Swift Evolution status page was also refined with more versions added to corresponding proposals. As for Linux-specific stuff, there is a compiler PR to support static linking from Simon Evans with a corresponding Swift Jira issue. Please vote it up if you would like to see working Swift executables that can be freely copied to any Linux box.

Logging in Server-Side Swift by Sebastian Kreutzberger

Here Sebastian describes his experience with porting SwiftyBeaver library to Linux, adding Vapor support to it and also rewriting SwiftyBeaver website with Vapor.

Contributing to the Server-Side Swift World by Petr Pavlik

An article covering the basics of writing a simple cross-platform library that supports both Linux and macOS, adding tests and setting it up with Travis.

Using Swift with gRPC by Nathan Borror

Yet another attack on REST dominance, in addition to GraphQL I’ve mentioned in the previous issue. gRPC just got basic Swift support thanks to Apple’s swift-protobuf library and Nathan’s swift-grpc.

Optional Non-Escaping Closures by Ole Begemann

Quite important article that clarifies behaviour of escaping closures that was changed in Swift 3.0. You might also be interested in reading this article first.

Linux Benchmarks for Server-Side Swift vs Node.js by Ryan Collins

The most comprehensive benchmark of server-side Swift frameworks is back. 🎉 The main change is that it was reproduced on Linux.

Distribution Tests by Daniel Duan

We all want our code to be well-tested, preferrably automatically. When you write a cross-platform library, you also need to support multiple package managers. This article describes a template that can be used for testing builds of your library with CocoaPods, Carthage and SwiftPM simultaneously.

What Even is a Container: Namespaces and Cgroups by Julia Evans

Since I started developing with Swift for Linux, I find Docker containers incredibly useful for deployment and infrastructure setup. This article is the best explanation I’ve seen of what a container is and how does it work.

Mastering Swift: Essential Details About Strings by Dmitri Pavlutin

A thorough article about Swift’s String API and Unicode support, up to date with Swift 3.0.

Unit Testing Vapor by Stephen Seaton-Blanchard

A short example of a Vapor application with unit-tests, covers a few differences in XCTest that need a special treatment on Linux when compared to macOS.

Code

Vapor 1.1

New release of Vapor with fixes for TLS, improved configuration, more flexible Provider API and other improvements.

VaporJWT

VaporJWT is a library for JSON Web Tokens (JWT) designed with the following goals in mind:

  • clean API
  • native to Vapor
  • many features
  • highly extensible

Noze 0.5.0 - Evented I/O Streams for Swift

Noze.io is an attempt to carry over the Node.js ideas into pure Swift. It uses libdispatch for event-driven, non-blocking I/O. Noze.io is built around type-safe back-pressure aware pull-streams (using Swift generics) operating on batches of items.

Lastly…

Happiness Can Be Photographed 📸

Share this Issue