Apparently, it’s that time of the year when the stream of new content related to server-side Swift is slowing down. Because of that I’m considering a switch to a fortnightly or monthly schedule for the newsletter.
In other news, Package Manager Version Pinning Swift evolution proposal was revised and returned for review, while a new Package Manager Product Definitions was submitted for review as well. You will also be able to use nested generics in Swift 3.1. Lastly, improved JSON serialization performance on Linux was recently merged.
Interesting overview of sometimes overlooked alternatives to protocols. It seems that after introduction of protocol extensions in Swift 2.0, protocol-oriented programming was somewhat overhyped. The bottom line is that you should use a tool that fits your problem.
IBM open-source BluePic, a photo and image sharing sample application that has a server component written in Swift with Kitura. Source code is available on GitHub.
If you’ve ever written password or email validation, you might be interested in how to write validation in a modular and composable way.
With regards to modularity and composability, functional programming allows you to achieve a lot with a few simple concepts. The article provides descriptions with examples for such concepts as first-class and higher order functions, functional purity and currying.
Turns out, enums with a backing type are actually syntactic sugar that
automatically adds conformance to
RawRepresentable protocol. Follow the link
to discover how you can add complex raw values to any type and also more details
We’re not too far away from visual programming with this…
Edge is an HTTP Server and TCP Client/Server framework written in Swift and inspired by Node.js. It runs on both OS X and Linux. Like Node.js, Edge uses an event-driven, non-blocking I/O model. In the same way that Node.js uses libuv to implement this model, Edge uses libdispatch.