Year 2 Issue 11
14 Mar 2016Express
This new web framework developed by Crossroad Labs in inspired by Node.js Express and provide the same simplicity. You can easily define a new endpoint like this:
app.get("/hello") { request in
// ...
}
In the body of the closure you can do all sorts of computation, and return the result as a JSON content or as an instruction to render HTML, with support out of the box for the Stencil template language.
Have a look at the project’s roadmap and see if you can contribute
NetworkKit
A simple “all-in-one” networking and parsing framework:
NKHTTPRequest.GET(
"https://hacker-news.firebaseio.com/v0/item/11245652.json",
auth: NKOauth(consumerKey: "consumerKey", consumerSecret: "consumerSecret"),
params: ["print": "pretty"],
success: { data in
var item: NKEItem?
item <-- data
},
failure: { error in
print(error.message)
})
I am personally not a fan of tools that do too much for me, but one thing is for sure, once you buy into their way of doing things you can achieve great results with very little code and setup.
navigation-stack
This UINavigationController
subclass features a visualisation of its navigation stack as a stack of the individual screens, very similar to the iOS app switcher.
Log
A Swift “logging” framework with customizable themes and formatters, and different logging levels.
Log.trace("Called!!!")
Log.debug("Who is self:", self)
Log.info(some, objects, here)
Log.warning(one, two, three, separator: " - ")
Log.error(error, terminator: "😱😱😱\n")
SubtleVolume
This little library allows you replace the built-in volume popup with a more subtle way to display the volume when the user changes it with the volume rocker.
Fuzzer
The project’s README is not very clear about the purpose of this tool, but once you read the companion blogpost everything makes sense.
This tool is meant to help building applications that are robust against unstable web APIs. We’ve all been in a project where the API payload changed on us, without anyone being notified about it, and with the app crashing or misbehaving. Fuzzer provides a way to mutate the dictionaries received from the network and fed to your parsing logic, so that you can write unit tests to validate how robust your app is when the API responses are not what’s expected.
This library is an example of “mutation testing” something I consider very interesting, and wish more team setup in their CIs as nightly jobs.
GoOutside
An Xcode plugin to track how much time you have spent waiting for Xcode to build 😁.
Cichlid
Another Xcode plugin, this one will automatically delete the derived data folder when cleaning, as opposed to manually do it with the “Clean Build Folder” command Shift Alt Cmd K
.
GrandCentralBoard
A configurable dashboard app for your Apple TV.
- RxPagination A demo project showing a FRP and protocol oriented implementation of networking and pagination
- FaceProGame An open source iOS SpriteKit game to “build faces”