Year 1 Issue 30
28 Dec 2015Hello all! I hope you spent a wonderful Christmas, and that you are getting some well deserved rest.
This is going to be the last issue of 2015, and I would like to say you all thank you.
This first year of The iOS Times has been great, both for this newsletter, and the iOS open source community in general. I can’t wait to see what 2016 has in store for us 🎁.
And now let’s get started with this week’s most interesting projects.
SwiftyUserDefaults
This library wraps the NSUserDefaults
adding APIs that allow you to consume it in a statically-typed way, and with subscript access as a bonus.
extension DefaultsKeys {
static let username = DefaultsKey<String?>("username")
static let launchCount = DefaultsKey<Int>("launchCount")
}
Defaults[.username] = "joe"
Defaults[.launchCount] // => 42
Then
Then is a interesting concept to simplify the init code of Swift’s computed properties. Go from this:
let label: UILabel = {
let label = UILabel()
label.textAlignment = .Center
label.textColor = .blackColor()
label.text = "Hello, World!"
return label
}()
To this:
let label = UILabel().then {
$0.textAlignment = .Center
$0.textColor = .blackColor()
$0.text = "Hello, World!"
}
Azkaban
Alcatraz it a CLI program to interact with Alcatraz, the Xcode package manager. Not only this tool will allow you to script your Xcode plugin setup, but is also an example of CLI written in Swift. Go have a look 🚀
BothamUI
This library provides a Model-View-Presenter framework implementation. Going outside our comfort zone and trying other design patterns other than the Apple’s flavoured Model-View-Controller is a great way to grow as developers, and I highly recommend looking into MVP and then trying out the implementation provided by BothamUI.
ReduxKit
ReduxKit is a Swift implementation of the Javascript Redux library, which promises to help you write applications that behave consistently, and are easy to test.
A lot of developer across different programming languages and platforms are preaching the benefits of Redux, it is another development methodology that is worth exploring.
open-source-ios-apps
I have linked open source apps many times in this newsletter. I am a big fan of looking into other people code and at the way they would architect things. As such I could not be more excited about this repo containing such a vast list of open source iOS apps.
Hodor
Hodor is a simple solution that allows you to change the application language without having to restart it. “Just like WeChat”.
It also gets extra points for the well chosen name 😁
The iOS Advent Calendar 🎅 - Days 21 to 24
- AnimatedGIFImageSerialization, a little
UIImage
category to enable animated GIFs rendering. - Result, simple, easy to use, and powerful type to model any kind of operation that can succeed or fail.
- Little UI Gems, a collection of UI libraries to delight your users.
- Wrap Up, in this final post of the 2015 iOS Advent Calendar we look back at the libraries seen in the series, and reflect on the pros and cons of using third parties frameworks.
In case you weren’t subscribed to the daily email list for The iOS Advent Calendar let me refresh my thank you for the support and positive feedbacks received during this journey.
Other Interesting Projects
- Chip8 CHIP-8 emulator and disassembler written in Swift
- WebShell Bundle web apps to native OS X app. Not sure I would advice towards this approach, but still interesting to look into.
- BrowserTV Turn your TV into a dashboard displaying any webpage
- Rainbow Colored console output for Swift developers
- RainbowNavigation UINavigationBar extensions and utilites
- OpenEmu Retro video game emulation for OS X
See you all in 2016! 🎉