いよいよ最終日を迎えました。
- 目標:
端末を振ると起動するデバッグツールの作成
- 最終日の進捗、3日間の成果:
設計の見直しによって余分な部分をリファクタ - SharedPreferenceの保存先のファイル一覧を取得、各KeyValueの読み込みと編集ができるようになった。バグ修正を行い、現在はアルファリリースをしている。
- 3日間での学び:
自分が一番進捗が遅かったため、ハードな生活となってしまったが普段の実装では使わない部分まで触れることができた。試行錯誤の部分が大きく、断念した機能があるがそこに時間を費やし過ぎてしまった。いつもと違う環境で開発を行っていたせいか、集中できる環境で開発できてよかった。
- 今後の進め方:
追加機能の実装
- リンク:
・まーてぃ
- 目標:
・履歴閲覧及び履歴へのジャンプ機能があるUINavigationViewControllerの作成
・Blur画像を容易に扱えるUIImageViewの作成
- 最終日の進捗、3日間の成果:
UIImageViewのサブクラスでBlur画像を生成したり、アニメーションを行う実装をした。3日間で目標としていたものをどちらもリリースすることができた。
- 3日間での学び:
1つのUIImageView上で画像の切り替えなどを独自に行う場合は、CALayerを有効的に使うことでそれぞれの画像に対して反映したいアニメーションなど実装できることがわかった。UIImageViewに限らずUIViewのサブクラス上では有効な方法かもしれない。人の動きが少ない場所で開発ができたので、集中して作業することができた。
- 今後の進め方:
機能の向上
- リンク:
https://github.com/szk-atmosphere/SAHistoryNavigationViewController
・へいへい
- 目標:
Android開発で使える簡易アノテーションライブラリの作成
- 最終日の進捗、3日間の成果:
@Revealでメソッドの実行時間を計測できるライブラリの作成し、Bintray jCenterに公開をした。MavenCentralに公開するためのパーミッション申請している。
- 3日間での学び:
アノテーションの定義の仕方から、AspectJ, Annotation Processing, JavaPoet, ライブラリ公開方法など今までやったことなかったことに対する知識を、実際に手を動かしながら得ることができました。周りの優秀な同期、後輩に囲まれ刺激され集中して取り組めたので、最終的にライブラリを公開しgradleで記述して使えるところまでもっていけたのは自信につながりました。
- 今後の進め方:
・今回は使わなかったAnnotation Processingも用いた機能の追加や他デバッグライブラリとの差別化をしていきたい
・MavenCentralへの公開完了 - Annotation Processingを用いた機能追加
・他既存デバッグライブラリとの差別化の機能追加
- リンク:
・ひにぶく
- 目標:
テキストではなく画像、動画を中心とした新しいTwitterフィードUIの研究
- 最終日の進捗、3日間の成果:
画像、GIFの自動プレビューの実装とGyazo、InstagramのSNS対応をし、タイムラインとして使える最低限の機能の実装を行った。
- 3日間での学び:
YoutubeやVineなどはAPIが非公開で扱いにくいと感じた。キーワードを選べばTwitterはテキスト以外のコンテンツもあふれていることに気づいた。UICollectionViewを初めて使ったのでとても勉強になった。
- 今後の進め方:
リプライ、お気に入り、RTの機能を実装をし、ライブラリを使う人がTwitterのAPIを直接扱わなくてもいいように隠蔽する。このライブラリを使ったアプリをひとつ完成させたい。
- リンク:
・(川)
- 目標:
利用されていないプログラムを検索し、Intellij IDEAとAndroidStudio上でハイライトする Find No Usagesプラグインを作成する
- 最終日の進捗、3日間の成果:
Intellij Pluginのベース作成 ファイルの取得、未使用ファイルの検索と列挙まで終了し進捗は4割程度。
- 3日間での学び:
いつもと違い、開発するひとのことを考えて設計する難しさを感じた。ドキュメントが無い中での開発方法を学べた。
- 今後の進め方:
4月中に最初に決めていた実装を終わらせる マイルストーンを置いて計画的に 適宜、記事を公開していく
- リンク:
・ばっしー
- 目標:
Pathライクなアラートをつくる なめらかなインタラクションの実現
- 最終日の進捗、3日間の成果:
なめらかなインタラクションの実現をし、オリジナルアラートを表示も可能となった。独自のViewも同様のインタラクションで表示が可能になっている。
- 3日間での学び:
UIDynamicの理解を深めることができた。UIWindowに対してのViewの操作をはじめて行った。
- 今後の進め方:
・READMEを更新
・インタラクションのバリエーションを増やす
・リファクタリング
- リンク:
・ぎあ
- 目標:
複数アップロード・ダウンロードタスクを並列・連続の実装を簡易化できるライブラリ(シングルのタスクだけではなくタスクグループのプログレスをトラキング可能であり,バックグランドも対応する)
- 最終日の進捗、3日間の成果:
アップロード・ダウンロードができ、並列と連続タスクをカッコよく書けるインタフェースを設計・実装できた 。またバックグランド対応もできた。プログレスのトラキングも実装でき、基本的な機能が完成したのでリリースを行った。
- 3日間の学び:
アップロードとダウンロードの仕組みを理解できました。 SwiftのOperatorのカスタマイズの楽しいさ感じた。
- 今後の進め方:
前のタスクから次のタスクにデータ送るの際の簡単化を行い、Retry, Validateなどを実装 する。リファクタリングやバグ対応も行う。
- リンク:
・かめらーまん
- 目標:
Android Wearの通信の簡易化
- 最終日の進捗、3日間の成果:
当初の目標通りwearとhandheld間の通信を簡略化する libraryを作成することが出来た。 とりあえず完成という形にはもっていったが、 Data Apiを使用した通信のpayloadを毎回buildしているので、 更新という形に出来るようにする。
- 3日間の学び:
合宿形式で3日間朝から夜まで開発した経験が無かったのでとてもいい経験になった。 人と場所の環境に恵まれ、効率よく開発する事が出来た。 初めてライブラリを公開したので、readme等の書き方からmavenの登録方法まで 今後使える知識が得られたのは大きい。 自分で作成したアプリで使用しているコードもライブラリで公開できると良い。
- 今後の進め方:
Mavenに登録し、Gradleでimport出来るようにする。
- リンク:
・きむにぃ
- 目標:
Shared Element Transitionの4系での動作を理解・実装をし、世界にコードを公開し後悔する経験を積む
- 最終日の進捗、3日間の成果:
・Shared Element Transitionの4系での動作を理解・実装 → サンプルプロジェクトで動作確認が済んでいる。(動作環境がなかったため、所属チームのアプリでの動作確認は会社に戻ってから)
・世界にコードを公開し後悔する経験を積む → サンプルコードを公開した(ライブラリ化したものはトラブルにより公開できていない) → 後悔しているところはチェックリスト化したので今後修正予定
- 3日間の学び:
巨人の肩に乗ることの重要性(自分で歩み進むことだけに執着せず、周りや遠くを見渡すことも重要) → 近くに巨人たちがいてくれることへの感謝(今回の合宿のメンバーの方々から本当に多くのことを学ばせていただきました。 改めて感謝します。今後共よろしくお願いいたします。)
- 今後の進め方:
所属チームのアプリへの4系版Shared Element Transitionを適用 → ライブラリ化し、公開
- リンク:
https://github.com/Rake-Kharton/SharedElementTransitionCompat
無事に各々のGithubリポジトリにて、今回の合宿の成果物を公開することができました。アルファリリースやベータリリースも多いため、今後も引き続き開発を行って行く予定です。
また合宿の目的は
"2泊3日でGithubでもスターを獲得できるようなライブラリを作成する"
なので、今後も各リポジトリのスター数を良きタイミングで投稿いたします。
この度合宿を開催するに当たって許可をくださった部門長、宿や交通機関の手配をしていただいた人事の方々に心より感謝いたします。
2コメント
2015.03.30 23:40
2015.03.30 14:43