Links

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.

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.

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. 🙏

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.

Code

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.