ReactNativeでesa.ioアプリを作ったけどリジェクトされてエタった話
周りの人のAdventCalendarを見ていたら自分も書きたくなったので書きました。けど、あまり話せる話もないのでモバイルアプリ作ったけどAppStoreで公開できずエタった話します。
作ってたもの
esa.ioのクライアントアプリです。esa.io自体は「情報を育てる」という視点で作られた、 自律的なチームのためのドキュメント共有のWebサービスです。
esa.io - Expertise Sharing Archives for motivated teams
esa.ioはWebサービスなのでモバイルWebもありますが、サービス全体が気軽に書くことに特化していて、全体として「入力 > 参照」といった重要度になっています。(コンセプトとして非常に正しいと思います、だから使ってます)
しかし、PCで使う分には満足していますが、自分はスマホで文字入力はしないタイプの人間なので気軽に情報にアクセスしたいという気持ちがありました。
esa.ioはWebAPIを提供しているのでAPI叩けば自分が望む気軽な参照用のアプリが作れます。また、その時期にReactNativeが流行り始めている印象があったので勉強の題材にとてもマッチしていました。
ReactNativeで作るだけならとても簡単。そう、作るだけなら
ReactNativeはめっちゃ簡単にアプリが作れます。
作るのは簡単だけど、各OSのUIやアプリ申請とかアップデートで後方互換を考えないと行わないといけないのは変わりません。
むしろアプリケーションロジック以外が大変だと思います。
多分Webの人が考えないといけないのはこのへんのポイント
- 各OSのUIやアイコン
このへんの話はさんざん言われていますが、Appleのhuman interface guidelinesやGoogleのMaterialDesignのページを読むことが大事です。
- アプリ申請
自分の挫折ポイント。後述。
Androidは楽だけどiOSはリリースというスタートラインに立たせてもらえなかった。誰か助けて欲しい。
リリース用の画像とか結構な量作らないといけないのでSketchTempleteのようなテンプレートを使って生成すると楽でした。
- アップデートの後方互換
クライアントアプリ内に保存したキーとか、外部でWebAPIを用意するならJSON構造を簡単に変えられないみたいなこと。
スタートラインまでに立ちはだかるアプリレビュー
普段書いているJSの感覚で書けるので作るだけなら問題はそれほどありませんでした。
AndroidのGooglePlayはデベロッパー登録すればリリースが出来ました。
しかし、iOSの方は申請したもののレビューに引っかかってしまいました。
レビューも英語だったのでやり取りしているうちにめんどくさくなってしまい、そもそも自分がAndroidユーザーでもあったのでリリースを諦めてしまいました。
iOSが出たら改善していこうと思っていたのですが、そもそも自分の欲求を満たすver1だったので改善されることもありませんでした。残念…
なんで今さら公開したのか
周りの人のAdventCalendarを見ていたら自分も書きたくなったという理由もありましたが、先日esa LLC 越川さんのスライドで次のようなスライドがありました。
- 完璧を求めたり
- 失敗が怖かったり
- 評判を気にするあまり
=> 結局何も生み出さないマン
完全に自分だと思って、少しでも何かを生み出したいマンになってました。
越川さん、きっかけを頂きありがとうございます
一応何もエタったとはいえAndroid版は出ているのでインストールしてもらえると嬉しいです。
余談ですが、この試作の後にお仕事でReactNativeアプリ作る機会がありました。