読者です 読者をやめる 読者になる 読者になる

最近の進捗(2017-4-19)

最近の進捗

今年に入ってからいくつかライブラリを作っている。完成したらQiitaやこのblogにも紹介記事を書きたいと思っているのだけど、 なかなか他人におすすめできるレベルに持っていけない。なのでどんなものを作っているかだけでも紹介しようと思っている。

PrefKit

github.com

(進捗度: 70%)
これはSharedPrefのwrapperライブラリで、冗長な記述を省けるように設計した。使い方は以下の形式のInterfaceを用意するだけになっている。

@PrefSchema("SampleSchema")
interface SampleSchema {

    String WELCOME_DIALOG = "welcome_dialog";

    @PrefKey(WELCOME_DIALOG)
    void putWelcomeDialogFlag(boolean value);

    @PrefKey(WELCOME_DIALOG)
    boolean getWelcomeDialogFlag(boolean defaultValue);
}

このInterfaceをPrefkitというインスタンスに渡すと実装が返ってくる

PrefKit prefKit = new PrefKit(this);
SampleSchema sampleSchema = prefKit.create(SampleSchema.class);

作った背景

Retrofitの実装が好きでAPIClient意外に応用出来ないかなと考え試しに作ってみた。 他にはKVS-Schemaというライブラリにも影響を受けている。KVS-SchemaがAnnotationProcessingを使っているのに対して、こちらはリフレクションベースの実装になっている。 AnnotationProcessingを過度に利用する最近の雰囲気が嫌で小さな抵抗のつもりもある。

PrefEditor

github.com

(進捗度: 45%)
先週末ガッと作り始めたもの。
これはデバッグツールで、アプリ内のSharedPrefを変更できるActivityを提供している。基本機能は出来てるんだけどUIがまだ定まっていない。 今のところ一番モチベーションがあるので来週あたりには使ってもらえる形で提供したい。

作った背景

Macにつながっている環境だとSthethoでPrefの中身を覗いたり、書き換えたりするのだけどアプリ単体で出来ないことに課題を感じていた。 初回起動にのみ表示されるダイアログとか作ってると、確認作業がひたすら面倒なことがあって、デザイナーさんなど自分以外が確認する時に便利な仕組みがほしいと思っていた。

robotkit

github.com

(進捗度: 65%)
Android用ライブラリ・テンプレートジェネレーター

作った背景

上で紹介したもの以外にも10個くらいAndroidライブラリ作っているのだけど、初めにやるテンプレ作業が嫌で自動化した。robotkitについては一度このブログにも書いた。 gem install robotkit で入るのでぜひ使ってみてほしい。robotkitと打てばなんとなく使い方がわかるようになっている。

おわり

他にも作りたいものは結構あって例えばDependencyKit って名前の小さなDIコンテナライブラリも作っている。昔作ったライブラリで130starくらいのレポジトリはあるんだけど、今年はそれを超える500star 1000starあたりのライブラリを作っていきたい。