関西モバイルアプリ研究会研究報告2 #関モバ
こんにちは。@cockscombです。5/20に株式会社はてなのセミナールームで「関西モバイルアプリ研究会 #2」を開催しました。
ここで先に次回の研究会をアナウンスしておきます。
次回予告
次回の関西モバイルアプリ研究会は6月17日(水)に行います。Google I/OやWWDCのすぐ後ということで、研究発表形式(LT)ではなく、みんなでAPI diffsを見ながらワイワイするディスカッション形式とさせていただきます。*1ディスカッションによってお互いの考察や知見を共有することで、モバイルアプリ開発の飛躍的発展を目指したいと思います。1年のうちで最も重要な、プラットフォーム毎に大きな変化が起きる時期ですから、皆さん奮ってご参加ください。
さて「関西モバイルアプリ研究会 #2」ですが、大変多くの研究員が参加してくださって、どの研究発表も大変興味深いものでした。以下に私見を交えて紹介します。
『Himotoki: A type-safe JSON decoding library』
by ikesyo
HimotokiはSwiftで使いやすいJSONのマッピングライブラリです。発表者のikesyoさんは、前回の関モバでObjectMapperという類似ライブラリを紹介してくださいました*2。その後さらに研究を進め、ご自身で書かれたライブラリを引っさげての登壇となりました。実際に使いやすそうです。この日のやりとりをきっかけに、独自の演算子なしでも使えるようにもなりました*3。
『TIPS of Material Design』
by takuji31
Material Designをアプリに採用するときのtipsでした。実際にアプリを作ろうとしたときに使えるサードパーティのライブラリが参考になります。
『iOSのCI as a Service事情』
by Posaune
主にCircle CIをご紹介いただきました。CIサーバーのセットアップやメンテナンスは面倒ですし、こういったサービスを利用するのは賢い選択ですね。ただしXcodeのバージョン問題が起きたりといった、実際的な問題にも触れられていて、悩みは尽きないものです。また関連する便利ツールも紹介されています。
『LeakCanaryでメモリリーク調査』
by nory_kaname
「プロの力が身につく Androidプログラミングの教科書」の著者でもあるnory_kanameさんによる、Square製ライブラリLeakCanaryの紹介です。いきなりの結論から始まるおもしろい研究発表でしたが、確かにLeakCanaryを使いたいと思えます。ほんの一行書き忘れただけで無用なメモリーを浪費することが起こり得るので、それを簡単にチェックできるのは精神にもよいですね。
『iOSのFileProtection』
by nakiwo
iOSにはセキュリティに関する多くの仕組みが備わっていますが、その中でも普段あまり目にしないFile Protectionの仕組みについて教えていただきました。Keychainのように端末のロック状態に合わせたいくつかのレベルで設定できるということでした。条件によって少し挙動が変わったりするのは難しいですね。
『Extensionのログを取ろう』
by itok
iOSのApp Extensionで効果的にログを取得する研究です。App Groupを共有して、CocoaLumberjackを用いて出力すると便利であるということでした。また、どのようなログを出力しておくと便利か、という質問に対して、匿名化した状態ではあるもののユーザーの行動フローが追えるようにしておくと、クラッシュなどの再現手順がわかりやすくなってよい、という返答をいただいて、参考になりました。
『かわいいKotlinでAndroidアプリをつくろう』
by gyro_s
最近流行しているKotlinについての発表です。Kotlinはモダンな言語機能を搭載したJVM言語であり、Android Studioから使いやすく、そして名前がかわいいとして話題です。実際にAndroidアプリを作ってみての考察は、Kotlinの採用を考えるのに参考になります。
『iOSアプリのコードレビューで最近気になるところ』
by yashigani
コードレビューについての研究発表でした。コードレビューと題しているものの、一般的な指針をまとめたようなかたちになっていますね。特にSwiftによる開発はまだ歴史が浅いので、手探り状態で進めながら得られた知見は有用です。
『SortedList』
by funnelbit
android.support.v7.util.SortedList
についての研究です。Support Libraryに追加されたSortedListは、要素の順序を一定のルールで維持できる配列様のクラスです。複数の様子の変更をバッチ化できるようになっていて、RecyclerView
で使いやすくなっています。
『iOSでの画像アップロード』
by cockscomb
iOSアプリからサーバーに画像をアップロードする際に必要そうな内容を、最新のAPIを用いて行う研究でした。iOSも長年のバージョンアップで大きく変化してきており、最新の知見は興味深いものです。
『NSURLConnection』
by niwatako
iOSから大量のファイルをダウンロードするという要件において、メモリの使用量が際限なく増大していく問題が発生したということで、これに対処する研究です。様々なAPIを比較し、結果としてキャッシュを切ることで解決したのがおもしろいところです。
『そこそこの品質のアプリを作る』
by みやけりょう
Androidアプリのクライアントワークで、クライアントとやりとりを重ねながら現実的な落し所を探っていく研究です。具体的な内容については言及を控えますが、胸に迫るような発表でした。
『Swift らしい API クライアント - APIKit を使う -』
by USAMI Kosuke
APIKitというライブラリを実際に利用した経験から、APIKitのメリットについてお話しくださいました。APIKitはishkawaさんによって開発されており*4、Swiftによって大きく拡張された表現力を活用し、型安全なAPIクライアントを書けるライブラリです。実際に安全であることのメリットが大きかった様子が伝わります。会場にはAPIKitにもコントリビュートしているikesyoさんがいたため盛り上がりました。
LTの発表資料はconnpassにもまとめられています。
ブログに感想などを書いている熱心な研究員もいました。見つけたものを掲載しておきます。
それでは、次回の関モバで会いましょう。
*1:プレリリースされたソフトウェアなど、各研究員が何らかの契約に基づいて取得した情報等については、各自が責任を持って管理してください。
*2:http://www.slideshare.net/syoikeda/objectmapperjson