Year 2 Issue 4
25 Jan 2016ReSwift
In the past weeks I linked both Swift-Flow and ReduxKit. Now the two projects have merged into ReSwift, and I can’t wait to see where the development will go. I feel there’s a lot of potential in this kind of application architecture, and it has been proven to be quite effective for the web. Looking forward to see real app examples, not just TODO lists built with ReSwift. Maybe you should build one and send me the link?
If you want to know more I recommend this talk by one of the authors.
MMNumberKeyboard
A great looking and simple to setup numeric keyboard for iPhone and iPad apps, with optional decimal point. Many app’s UX would benefit from a clearer numeric keyboard, I am going to use this library very soon.
Reusable
A Swift mixin to dequeue UITableViewCells
and UICollectionViewCells
in a type-safe way, without the need to manipulate their String-typed reuseIdentifiers
. Simply conform to Reusable
or NibReusable
.
I never liked having to define the resueIdentifier
s, specially when the string had to be duplicated between Storyboard and code. Reusable is going to be one of the few libraries I add to my projects by default.
More info about this library in this dedicated post written by its author.
vapor
A Laravel inspired web framework written in Swift.
Start a server like this:
import Vapor
let server = Server()
server.run()
Server pages like this:
Route.get("/") { request in
return View(path: "index.html")
}
Route.get("/issues", closure: IssueController().index)
Knuff
An open source Mac App to debug Push Notifications.
Knuff allows you to send push notifications by writing or loading JSON payloads from a file, grabs the push certificates from the keychain, automatically recognises whether you are in Debug or Production, and much more. Legend.
MenuItemKit
MenuItemKit simplifies the setup work for UIMenuItems
by adding two convenience init
allowing us to generates items with a string name or an image, and using a closure as the target action. Neat.
Zip
A framework for zipping and unzipping files. It aims to be simple and quick to use, and is built on top of minizip.
import Zip
do {
let filePath = NSBundle.mainBundle().URLForResource("file", withExtension: "zip")!
let unzipDirectory = try Zip.quickUnzipFile(filePath) // Unzip
let zipFilePath = try Zip.quickZipFiles([filePath], fileName: "archive") // Zip
}
catch {
print("Something went wrong")
}
FolioReaderKit
An ePub reader and parser framework for iOS. It comes with a lot of features from such as custom font and text size support, highlighting, themes, audio playback sync, and more… You can basically build an open source iBooks or Kindle with this library.
SwiftSafe
A library to simplify thread synchronization in Swift. At the moment two models are supported: CREW - Concurrent Read, Exclusive Write and EREW - Exclusive Read, Exclusive Write.
It might be that thread synchronization is not you bigger problem at the moment. Nevertheless it’s always good to be aware of the possible issue, so I’d recommend at least having a read through the README of project 😎
Other Interesting Projects
- OAStatusItemKit Simple framework to quickly build Mac status bar apps in Swift.
- APTargets Library to add the ability to configure
UIControl
s action using a closure. - TTReflect Unlock basic reflection ability for Swift’s
NSObject
s - Hookah Hookah is a functional library for Swift, inspired by lodash.