Year 2 Issue 2
11 Jan 2016Hello all! At this time we should all be back to work after the holidays and ready to rock. This week’s issue offers you plenty of inspiration to kickstart your 2016 in the best possible way.
I’d like to remind you that you can help shape The iOS Times to be more useful and valuable for you by taking this survey. It won’t take you more than two minutes, and I’ll be very grateful 🙏
Now let’s get started with this week’s newest and most interesting projects 🚀
Delta
Delta helps you centralise your state storage and management, and provides an easy way to subscribe to its changes. Like other libraries that we’ve seen in the past weeks Delta is inspired by Flux and Redux.
Delta has been developed by the guys at thoughtbot, who have a history for crafting great open source libraries. There is also an example app using Delta, so that you can see it in action.
Refactorator
It is quite disappointing that Xcode still doesn’t provide any decent refactoring tool for Swift code. This Xcode plugin tries to help us by providing an advanced renaming feature, all across the project. I don’t know about you, but I end up renaming classes and other types many times during the lifecycle of a projects, so I’m very grateful to John Holdsworth for sharing this with the community.
Sugar
Sugar is “something sweet that goes great with your Cocoa”, a collection of useful utilities to sweeten your Swift writing and reading experience. For example:
let appName = Application.name // CFBundleDisplayName : String
let appVersion = Application.version // CFBundleShortVersionString : String
if !Simulator.isRunning {
// add device specific operations here
}
if UITesting.isRunning {
// tests are running
} else {
// everything is fine, move along
}
All these extensions are definitely handy, but I’d suggest importing the framework only if you are sure you need a number of them. It might not be the best idea to import many lines of code and functionalities only to use one of those in a handful of places in the codebase.
Every.swift
A simple Swift wrapper for NSTimer
:
self.every(3.seconds) {
print("hello")
// return `true`to continue, `false` to exit
return true
}
The library has a list of TODOs, why don’t you check it out and see if you can help? 👍
STLoadingGroup
After all those snippets of code here’s some eye candies. STLoadingGroup is a collection of nice simple loading animations you can drop in your UIs.
Periscope-VideoViewController
A view controller for videos with a fast rewind control like Periscope. You can see an animated demo here.
DOMContentLoadedDelegate
By conforming to DOMContentLoadedDelegate
and implementing the DOMContentLoaded:
method you will be able to access DOM elements without having to wait for all the resources to be loaded.
Chirp
This AVFoundation wrapper will make preparing, playing and removing sounds a one liner task.
Chirp.sharedManager.prepareSound("ding.mp3")
Chirp.sharedManager.playSound("ding.mp3")
Chirp.sharedManager.removeSound("ding.mp3")
KMNavigationBarTransition
Drop-in library that will make transition between different styles of navigation bar smoother, without having to write any extra code!
ElasticTransition
Modal transition that simulates an elastic drag, with fine grained configuration.
MVVMReactiveCocoa
Open source GitBucket client app built with ReactiveCocoa and MVVM, and a lot of other useful and interesting libraries. It’s all Objective-C but you shouldn’t discriminate and forget where we came from.
Other Interesting Projects
- scale Measurement units definitions and conversion for Swift.
let time = 5.day + 2.hour
- PMKVObserver Type-safe KVO wrapper
- PencilCup CoreGraphics sugar for Swift developers
- blog.swift Swift static site generator