iOSアプリを作る際に効率はとても重要な要素です。
今回は私が今までにiOSアプリを作ってかなり便利だったライブラリを紹介します。
データ保存
RealmSwift
参考 Realm公式サイトrealm.ioRealmSwiftは簡単に大量のデータを高速で保存できるライブラリになります。
具体的にはRealmはNoSQLで大量のデータを処理するのに適しています。
暗号化やサーバを利用した同期処理などの機能も充実していてかなり使い勝手の良いライブラリです。
以下のソースコードを見ても分かる通り、データの塊をデータクラスとして扱います。
イメージ的にはデータクラスをそのまま保存してしまう感じです。
class Dog: Object {
@objc dynamic var name = ""
@objc dynamic var age = 0
}
let myDog = Dog()
myDog.name = "Rex"
myDog.age = 1
let realm = try! Realm()
let puppies = realm.objects(Dog.self).filter("age < 2")
puppies.count // => 0 because no dogs have been added to the Realm yet
try! realm.write {
realm.add(myDog)
}
もちろん無料で利用できます。
SwiftyUserDefaults
参考 Swiftyuserdefaultsgithub.comextensionでデータの型や名前を予め決めておくことで、かなり明確にUserDefaultsで保存するデータが何なのかを示すことができます。
extension DefaultsKeys {
static let username = DefaultsKey("username")
static let launchCount = DefaultsKey("launchCount")
}
GitHubのサンプルコードを見ていただくとわかるのですが、UserDefaultsがかなり簡単に扱うことができるようになります。
let username = Defaults[.username]
Defaults[.launchCount] += 1
Defaults[.libraries].append("SwiftyUserDefaults")
ちょっとしたとこですが、keyがenum型のように指定できるため補完も可能になっています。そのため開発でのストレスを軽減できるかもしれません。
データ処理系
Charts
参考 Chartsgithub.comデータからグラフやチャートをつくるライブラリです。
様々なグラフを作ることができ使いやすいです。
SwiftyJSON
参考 SwiftyJSONgithub.comSwift上でかなりシンプルにJSONデータを操作できます。
JSONファイルを扱うアプリではかなり重宝するライブラリです。
let json = JSON(data: dataFromNetworking)
// Getting a double from a JSON Array
let name = json[0].double
// Getting an array of string from a JSON Array
let arrayNames = json["users"].arrayValue.map({$0["name"].stringValue})
あとで紹介するAlamofireとの組み合わせが最高に良いです。
通信系
Alamofire
参考 Alamofiregithub.com言わずとしれた、Swiftで書かれたHTTP通信のライブラリです。
外部からのデータ取得等とても取り回しが良くなります。
さきほど紹介した、SwiftyJSONとの相性がよくセットで使用すると効率が上がります!
Alamofire.request(.GET, "https://.......")
.responseJSON { response in
guard let object = response.result.value else {
return
}
let json = JSON(object)
}
デザイン
Lottie-Swift
参考 Lottie公式airbnb.ioこのLottieは簡単にアニメーションをアプリに組み込むことができるライブラリです。
仕組みとしては、AdobeのAfterEffectsで作ったアニメーションをJsonで書き出し、そのファイルをLottie上で読み込むことでアプリ上でアニメーションを実行できます。
Gif等のアニメーションでは、スピードの調整や再生停止が難しかったりしますが、Lottieではコード一つで調整することが可能です。
また、他の人が作ったJsonファイルが無料公開されるサイトがあり、そこにあるファイルを使用できるようになっています。
CCライセンスでクレジットを明記すれば自由に使うことが可能です。
参考 LottieFileswww.lottiefiles.com
IGColorPicker
参考 IGColorPicker GitHubgithub.com使う機会としてはそんなにないと思うのですが、ユーザにカラーを選んでもらうときにはかなり便利なライブラリになります。
またUI自体のデザインを変更できたり様々なアプリに使うことができます。
ちなみに私の「かんたんカウンター」にこちらのライブラリを使用しています。
どんなUIになっているかどうかぜひチェックしてみてください。
参考 かんたんカウンターitunes.apple.com
BubbleTransition
参考 BubbleTransition GitHubgithub.com 画面遷移のときのアニメーションのライブラリです。このように円が広がるような感じで画面が遷移します。
色やボタンの位置なども変更できるので画面遷移のアニメーションにトリッキーなものを使いたい場合はかなりおすすめなライブラリです。
ちなみに私の「かんたんカウンター」にこちらのライブラリも使用しています。
どんなUIになっているかどうかぜひチェックしてみてください。
参考 かんたんカウンターitunes.apple.com
課金処理
SwiftyStoreKit
参考 SwiftyStoreKit GitHubgithub.comアプリの課金処理のプログラムをかなり簡単に記述できるライブラリとなります。
こちらのライブラリに関しては、ほぼコピペで実装できるように書かれた記事があります。ぜひこちらもどうぞ。
Swiftで簡単に実装できるアプリ内課金
コメントを残す