firebaseを使って匿名型チャットmimichaを作ったのでどんな感じに作ったかを紹介

mimicha

こんにちは。
大体iOSとかインフラ周り開発担当のもぐめっとです。

この度firebaseを使ったサービス第一弾として、「mimicha – 匿名シェアチャットアプリ」をリリースしました。

そこで、構成やプッシュ通知の送り方とか、どんな感じで作っているのかの概要を説明していこうと思います。

※本記事はFirebase Advent Calendar2018 22日目の記事です。

21日目は@flatfisherさんの、Codelabで学ぶFirebaseとその先でした。

“firebaseを使って匿名型チャットmimichaを作ったのでどんな感じに作ったかを紹介” の続きを読む

匿名型チャットmimichaを作った際に使ったAndroidライブラリ14選

mimicha

どーも、Teccoです。

iOSの記事が書いてあったので、無言の圧力で今書いています。

Firebase関連は重複するので省略いたしますので、以下をみていただければ。

匿名型チャットmimichaを作った際に使ったiOSライブラリ19選

 

mimichaで使ってるライブラリ群

mimicha

ChatKit

名前の通りチャットぽいUIが作れるもの。

カスタマイズもけっこうできるんですが、カスタマイズしまくるとそもそも自前で作った方が良かったかもってなるので、あまりにもいじる場合は自前で作っちゃっても良いかもです。

自動で挿入される日付のItemも一つのlistItemとしてカウントされてしまうので、そこらへんをいじるときには注意が必要です。

 

Picasso

みんな大好きPicasso

imageUrl指定すれば良い感じで表示とかしてくれるライブラリで、Glideさんとよく比較される永遠のライバル。

実際はImageViewのextensionとしてメソッドを生やして、内部でPicassoを使ってます。

 

Moshi

JsonをParseするためのライブラリ

これもよくgsonと比較されるが、おおざっぱに言うとgsonの改良版みたいなもので、Kotlinとの相性も良いので、gson大好き!って感じじゃなければMoshiでいいかな、と思います、たぶん。

 

Circle ImageView

丸いImageViewにしたいときに使うやつ

SNSやチャットだとImageViewを丸くしたいっていう要望がよくあるのでそうゆうときに使える。

もちろんxmlでImageViewのbackgroundを指定すればできるんだけど、動的に読み込んだりする時に丸のままいろいろいじったりできる(雑な説明)ので便利。

 

Rounded ImageView

これもよくある角丸にしたいときに使うやつ

これも上記と一緒で角丸でいろいろ簡単にいじれるので、自前で作るよりだいぶ楽です。楽していきましょう。

 

Fancybuttons

AndroidのButtonはダサいのでそれっぽいボタンを作れるやつ

xmlでいろいろいじれるので、大体望むButtonはxmlで完結できるかと思います。

もちろん、Rippleエフェクトも対応しているので安心して使いましょう。

 

BubbleView

吹き出しっぽいView

これもググったらxmlで自前でできますが、それを簡単にできるので吹き出し使いたい場合は入れておくと楽なので導入しちゃいましょう。

 

Android View Animations

メジャーなAnimationが簡単に書けるライブラリ

mimichaでいうと、何の意味もないですがフクロウ君をタップするとプルプル震えるようにしてます。

実装はカスタムビューで震えるImageViewを作って、それを配置することで使い回せるようにはしてます。

 

MaterialShowcaseView

チュートリアルで使えるライブラリ

Viewを指定するだけなのでとても簡単で、スポットライトを当てつつdescriptionを追加できる説明用のライブラリ。

ライフサイクル的にViewが死んでる時に発動させてしまうと落ちるので、通信処理後のViewなんかで使いたいときとかは、少しだけ慎重に実装してあげましょう。

 

Retrofit2

APIを楽に書かせてくれるライブラリ

iOSのAlamofireみたいな存在ですね。有名すぎてググれば大量に情報が出てくるライブラリなので説明は割愛します。

 

OkHttp3

Http通信をスマートにできるやつ

こちらもRetrofitと同様有名なので特段の説明は省きますが、logging-interceptorを使うと良い感じでログれるので、開発時には入れておくと捗ります。

 

RxJava

Reactive Programmingを実現するライブラリ

mimichaは全てKotlinなのでRxKotlinでも良かったんですが、なんとなく今回はこっち使いました。(次回はRxKotlin使うと思います

RxAndroidも併用してます。

 

Permissions Dispatcher

AndroidのいろんなPermissionをまとまり良く書けるライブラリ

Permissionが断られた場合なども、分けてきれいに書くことができるのでとても重宝します。

バージョンアップによってメソッド名や仕様がけっこう変更されているので、昔から使ってる人は最新版のREADMEちゃんと読んで実装しましょう。

 

PhotoView

ImageViewの画像を良い感じに全画面表示できるやつ

ダブルタップで縮小・拡大や、ピンチインピンチアウトも標準でついているので、割とそのまま使えます。

ViewのVisibility操作で出し分けたり、DialogFragment使って出したりすればそれだけで十分使えます。

 

おわりに

世界にはたくさんのライブラリがあり、その恩恵は計り知れないです。

パフォーマンスの関係で自前で実装したほうが良いという場合などもありますが、せっかく先人が作ってくれた便利なものはじゃんじゃん使っていきましょう。

現在はmimichaとは別の新規アプリを2,3個作り始めているので来年始めあたりに公開できると思いますのでお楽しみにー

匿名チャットアプリmimicha

匿名型チャットmimichaを作った際に使ったiOSライブラリ19選

mimicha

こんにちは。
iOS開発者のもぐめっとです。

この度firebaseを使ったサービス第一弾として、「mimicha – 匿名シェアチャットアプリ」をリリースしました。
そこで使った技術やハマった箇所諸々を紹介します。

“匿名型チャットmimichaを作った際に使ったiOSライブラリ19選” の続きを読む

はじめに

開発者ブログを開始します!

現在はAndroidはKotlin、iOSはSwift、WebはNuxt.js、サーバはFirebaseあたりを中心に開発しています。

 

細かいところや、詰まったところなんかを残していきたいと思ってるのでよろしくお願いいたします。

 

初ブログv( ̄Д ̄)v イエイ