2018年12月21日firebaseを使って匿名型チャットmimichaを作ったのでどんな感じに作ったかを紹介こんにちは。大体iOSとかインフラ周り開発担当のもぐめっとです。匿名シェアチャットアプリ」をリリースしました。そこで、構成やプッシュ通知の送り方とか、どんな感じで作っているのかの概要を説明していこうと思います。21日目は@flatfisherさんの、Codelabで学ぶFirebaseとその先でした。匿名型チャットmimichaを作った際に使ったAndroidライブラリ14選どーも、Teccoです。iOSの記事が書いてあったので、無言の圧力で今書いています。Firebase関連は重複するので省略いたしますので、以下をみていただければ。匿名型チャットmimichaを作った際に使ったiOSライブラリ19選mimichaで使ってるライブラリ群ChatKit名前の通りチャットぽいUIが作れるもの。カスタマイズもけっこうできるんですが、カスタマイズしまくるとそもそも自前で作った方が良かったかもってなるので、あまりにもいじる場合は自前で作っちゃっても良いかもです。自動で挿入される日付のItemも一つのlistItemとしてカウントされてしまうので、そこらへんをいじるときには注意が必要です。Picassoみんな大好きPicassoimageUrl指定すれば良い感じで表示とかしてくれるライブラリで、Glideさんとよく比較される永遠のライバル。実際はImageViewのextensionとしてメソッドを生やして、内部でPicassoを使ってます。MoshiJsonをParseするためのライブラリこれもよくgsonと比較されるが、おおざっぱに言うとgsonの改良版みたいなもので、Kotlinとの相性も良いので、gson大好き!って感じじゃなければMoshiでいいかな、と思います、たぶん。ImageView丸いImageViewにしたいときに使うやつSNSやチャットだとImageViewを丸くしたいっていう要望がよくあるのでそうゆうときに使える。xmlでImageViewのbackgroundを指定すればできるんだけど、動的に読み込んだりする時に丸のままいろいろいじったりできる(雑な説明)ので便利。ImageViewこれもよくある角丸にしたいときに使うやつこれも上記と一緒で角丸でいろいろ簡単にいじれるので、自前で作るよりだいぶ楽です。FancybuttonsAndroidのButtonはダサいのでそれっぽいボタンを作れるやつxmlでいろいろいじれるので、大体望むButtonはxmlで完結できるかと思います。Rippleエフェクトも対応しているので安心して使いましょう。BubbleView吹き出しっぽいViewこれもググったらxmlで自前でできますが、それを簡単にできるので吹き出し使いたい場合は入れておくと楽なので導入しちゃいましょう。AnimationsメジャーなAnimationが簡単に書けるライブラリmimichaでいうと、何の意味もないですがフクロウ君をタップするとプルプル震えるようにしてます。実装はカスタムビューで震えるImageViewを作って、それを配置することで使い回せるようにはしてます。MaterialShowcaseViewチュートリアルで使えるライブラリViewを指定するだけなのでとても簡単で、スポットライトを当てつつdescriptionを追加できる説明用のライブラリ。ライフサイクル的にViewが死んでる時に発動させてしまうと落ちるので、通信処理後のViewなんかで使いたいときとかは、少しだけ慎重に実装してあげましょう。Retrofit2APIを楽に書かせてくれるライブラリiOSのAlamofireみたいな存在ですね。有名すぎてググれば大量に情報が出てくるライブラリなので説明は割愛します。OkHttp3Http通信をスマートにできるやつこちらもRetrofitと同様有名なので特段の説明は省きますが、logging-interceptorを使うと良い感じでログれるので、開発時には入れておくと捗ります。Programmingを実現するライブラリmimichaは全てKotlinなのでRxKotlinでも良かったんですが、なんとなく今回はこっち使いました。(次回はRxKotlin使うと思いますRxAndroidも併用してます。DispatcherAndroidのいろんなPermissionをまとまり良く書けるライブラリPermissionが断られた場合なども、分けてきれいに書くことができるのでとても重宝します。バージョンアップによってメソッド名や仕様がけっこう変更されているので、昔から使ってる人は最新版のREADMEちゃんと読んで実装しましょう。PhotoViewImageViewの画像を良い感じに全画面表示できるやつダブルタップで縮小・拡大や、ピンチインピンチアウトも標準でついているので、割とそのまま使えます。ViewのVisibility操作で出し分けたり、DialogFragment使って出したりすればそれだけで十分使えます。おわりに世界にはたくさんのライブラリがあり、その恩恵は計り知れないです。パフォーマンスの関係で自前で実装したほうが良いという場合などもありますが、せっかく先人が作ってくれた便利なものはじゃんじゃん使っていきましょう。匿名型チャットmimichaを作った際に使ったiOSライブラリ19選こんにちは。iOS開発者のもぐめっとです。匿名シェアチャットアプリ」をリリースしました。そこで使った技術やハマった箇所諸々を紹介します。2018年8月18日はじめに開発者ブログを開始します!現在はAndroidはKotlin、iOSはSwift、WebはNuxt.js、サーバはFirebaseあたりを中心に開発しています。細かいところや、詰まったところなんかを残していきたいと思ってるのでよろしくお願いいたします。