5/20 Gotanda.mobile #1に参加してきました
自分の職場がある五反田で行われるしモバイルだしってことでGotanda.mobileに参加してきたので参加レポートを書きます。iOS畑の人なのでiOS以外の事に関するまとめはちょっと曖昧な部分も…?
Talk & LT
Talk 1. Full Kotlin をプロダクションで使い、リリースした話(@pine613さん)
- KotolinとはJavaを使いやすく発展させた言語
- メリット
- コードが短くなる
- null安全
- コレクションメソッドが充実
- デメリット
- コンパイル速度はSwiftより圧倒的に早い
- Javaとの相互運用ができる
私は業務上の都合で遅れて来たので聞けなかった発表です。Kotlinは最近流行ってきてますよね。Swiftと文法が似ていると言われているということもあり、一度は触ってみたい言語です。
LT 1. Application Architecture for Unity UI(@mattakさん)
- 会場でUnityを使ったことがある人は数人
- 書き捨てになっているコードを、アーキテクチャを採用してコードを読みやすくしたい
- が、検索や同胞に聞いてもアーキテクチャに関する詳しい情報は得られず→自分で作ろう
- UI関係はReduxを参考にすればいけそう。
- メリット
- 結合が疎になる
- 状態が1つになる
- 整理できる
- デメリット
- (単純なものだと特に)記述量が増す
- 無駄なObjectを作ってしまう
Unityってアーキテクチャという概念があまりないんですね。初めて知りました。いいかんじのOSSが出てくることを期待します…!
LT 2. UniversalLinkの挙動調べてみた(@YuhoTsuboiさん)
- アプリ内でUniversalLinkがWebViewを使って開かれた時は通常と同じように動作するのか→人柱に。
- UniversalLinkとは、該当のアプリがインストールされていればアプリ、されていなければWebページを開くという処理が1つのURLで行えるというもの。
- アプリをインストールしていない場合は普通にWebページが表示される。AppleはSmart App Bannerとの併用を推奨。
- アプリ内でWebViewを使って開いた場合は、アプリ起動はしないし、Smart App Bannerも表示されない。
- アプリのWebView内でUniversalLinkをタップした時は有効。同一ドメイン内での遷移ではアプリは開かない。
- じゃあサブドメイン…
UniversalLink仕込んでいてかつアプリがインストールされていれば無条件でアプリが開くなりSmart App Bannerが出てくるのかと思っていたのですが違かったんですね。勉強になりました。。。
LT 3. RxSwiftと愉快な仲間たち(@mihyaeru21さん)
- Unit = RxCocoaが提供する便利くん
- Driver
- メインスレッド処理に適している
- UIをリアクティブにするのに便利
- 安全性を高められる
- Variable
- valueプロパティを通じて最新の値にアクセスできる
- ObservableになるけどObserverにはならない
- ControlEvent / ControlProperty
- UIパーツのイベントをRxとつなぎ込みやすくする
- Cocoaのいろんなやつにrx_*が生えているから便利
最近の勉強会ではRxのLTが多くなってきたなと思います。まだ理解できていないので理解する努力をしたいところです。。。
LT 4. Android Emulator 2.0(@bl-liaさん)
- 今までのエミュレータ 「メタクソ遅い」→「割と遅い」
- Genymotion
- 動作が軽快
- 主要端末の解像度がプリセットされている
- Virtual Boxが必要
- ユーザ登録が必要
- Android Emulator 2.0
- めっちゃ速い(Genymotionと同等かそれ以上)
- スクリーンショット取れる
- 部分拡大できる
- ネットワーク悪くしてみることができる
- 電池残量変えられる
- 電話かけることもできる
- シンプルな動作確認ならエミュレータ、込み入ったことをしたいならGenymotionなど使い分けるといいかも。
Genymotionは以前使ったことがあってAndroidStudioでGenymotionを使えるようにするまで(Mac) - Qiitaという記事も書いたりもしました。でも今はエミュレータでここまで出来るようになってるんですね。。。見直しました。ちょっといじってみたいなと思いました。Twitterも盛り上がっていたので皆さんも同じ気持のはず…!
LT 5. Kotlinのlet/run/applyのちょっとした話(@yashims85さん)
www.slideshare.net
- Kotlinっぽくできるlet/run/applyについて説明
- let/run/applyはKotlinを導入するとどのクラスからも使用できるメソッド
- let
- メンバ変数のローカル化に使うと良い
- nullableのunwrapに使える
- run
- apply
- jsのcallやapplyとほぼ同じ
- プロパティを設定するのに便利
- コンテキストスイッチに使える
私はKotlinについては知識がほぼ皆無なので、Kotlinを勉強した時にまたこのスライドを見たいなと思いました。
runはイマイチ使いどころがわからないという話は聞いたので、一応ググってみたところ、以下の記事は見つかりました。そんなかんじです。
Kotlinでメソッド定義にrunを使う意義 - kmizuの日記
LT 6. みんな好きだろ、補完。ハードコードをなくすライブラリをつくってみました(@hirose_yudaiさん)
Qiita資料:まだハードコードで消耗してるの? ResourceKitで安全コーディング! - Qiita
- ResourceKit(自作ライブラリ)
- プロジェクトのリソースを安全に使用するためのライブラリ
- Typoでランタムエラーが発生する可能性を下げる
- 補完が効く
自分でライブラリを作れるってすごいですよね(しろめ
ハードコーティングはホントにいいことないのでそれが解消できるのは嬉しいですね!
LT 7. SpriteKitで遊んでみよう(@akatsuki174。つまり私)
Qiita資料:[UIKit × SpriteKit] パーティクルを使ったサンプル - Qiita
- SpriteKitとは
- パーティクル
- 型のレンダリング技術では再現が難しい、「高度に無秩序」なもの。
- デモでFire
例によってQiitaの記事に詳しめに書いてあるので興味がある方はそちらをご参照いただければと。簡単なことしか発表してませんが笑いも取れたしいいかなと思ってます。
LT 8. Firebaseのcrashを試してみる(@yamacraftさん)
Qiita資料:FirebaseのcrashとanalyticsをAndroidアプリで試してみる - Qiita
- crashの導入方法の説明
- ライブラリに追加するだけでOK
- クラッシュが発生したタイミングで、レポート送信用のServiceを作ってデータを送る
- 独自のログやクラッシュレポートを送信することができる
Firebaseは今話題ですよね(たぶん。ライブラリに追加するだけで後はよろしくやってくれるというのは便利ですね!
iOSでFirebaseのanalyticsを導入する方法は既にクラスメソッドさんがFirebase Analytics を iOS / Android アプリに導入する手順のまとめ | Developers.IOという記事を上げているので、こちら試せたらいいなと思っています。
LT 9. フロントエンドアーキテクチャ(@mizuki_rさん)
- Flux
恥ずかしながらFluxという言葉を知りませんでした。。。Fluxという概念は結構広まってきているようなので、これも今度勉強するものリストに追加したいと思います。
懇親会
会場では行われず、飲み屋にて行われました。全部で10人ちょいでしょうか。Android勢のほうがちょっと多かった気がします。あとはGotanda.jsがある地域というだけあって、jsに詳しい方が結構いらっしゃったと思います。
togetter
まとめました。ただ、Twitter以外にもslackの方でコメントが盛り上がっていたのでこれは一部だと思ってください。