Year 1 Issue 11

Assembling the list for this week’s issues has been very hard. Never before I had seen such a number of interesting projects, both trending and new. I tried to favour variety, and I feel like apologizing to the projects that haven’t been highlighted, and their authors, so please have a careful look at the “Other Interesting Projects” at the bottom. Enjoy!

Parse-SDK-iOS-OSX

Language: Objective-C

Here it is. The long awaited native SDK for Parse. Not there are no excuses left not to give it a go on your next project.

Also note the amazing title of the first commit: (っ˘▽˘)っ ☁️ ⊂(◕。◕⊂)

Checkout ParseUI-iOS for a collection of a handy user interface components to be used with the SDK.

SwiftDataStructures

Language: Swift

Some commonly used data structures implemented in Swift. In particular Deque, Stack, List and Trie. Very instructive project.

SkyRadiusView

Language: Objective-C

An handy IBDesignable view with configurable and toggable corner radius.

Decodable

(Yet another) Swift JSON parser. Decodable is written in Swift 2, and has a nice API:

truct Repository {
    let name: String
    let language: String?
    let owner: User // Struct conforming to Decodable
    let defaultBranch: Branch // Struct NOT conforming to Decodable
}

extension Repository: Decodable {
    static func decode(j: AnyObject) throws -> Repository {
        return try Repository(
                    name: j => "name",
                    language: j => "language",
                    owner: j => "owner",
                    defaultBranch: Branch(name: j => "default_branch")
                )
    }
}

Of particularly interest the provided error type:

public enum DecodingError {
    public struct Info {
        var path: [String]
        var object: AnyObject?
        var rootObject: AnyObject? // Not implemented yet
    }

    case MissingKey(key: String, info: Info)
    case TypeMismatch(type: Any.Type, info: Info)
}

NaughtyKeyboard

The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device.

This is definitely a tool to keep in mind for the pre-release polishing stage.

NaughtyKeyboard Demo

PullToBounce

An animated pull to refresh component, with a bouncy effect. A very good idea to add a playful touch to your lists.

PullToBounce Demo

SwiftyDispatch

Language: Swift

A lightweight GDC wrapper. Look at this neat syntax:

// Create a concurrent queue
let queue = Queue("Concurrent", .Concurrent)

// asynchronously
queue.async {
  data = true
}

queue.apply(0.3) {
  // run after 0.3 seconds
}

// It handle semaphores too

let queue = Queue("sample")
let semaphore = Semaphore(0)
queue.after(1.0) {
  print "Hello"
  semaphore.signal
}
semaphore.wait // -> true

PennyPincher

Language: Objective-C

Penny Pincher is a fast template-based gesture recognizer, developed by Eugene Taranta and Joseph LaViola. The demo below explains what this library does better that I could:

PennyPincher Demo

Alamofire

Language: Swift

Elegant HTTP Networking in Swift, written by Mattt the author of AFNetworking and another bazillion of great libraries and tools.

actor-platform

Language: Objective-C

Actor is an instant messaging platform, and this is the code for the iOS client.

Other Interesting Projects

Just one more project to plug before leaving:

JxbLovelyLoging

Language: Objective-C

It really is lovely! 😍

Lovely Login Demo