おうさまのみみはロバのみみ

ネット上での木の洞

React-Native使ってみた所感とか改善したい点とかとか

発端

たまたまGo言語の写経が終わったタイミングで次なにやるかなーと考えていたのだけども

JSに関してはVue.jsのほうが興味あるけどReact-Nativeは名前だけしか知らないし 一度サンプルレベルでも触ってみたほうがいいかと軽い気持ちでコードを書き始めたのが発端。

なおFirebaseを発端となったツイート元のサイトのサンプルも書いたし、実際に期待した内容にはなったのだけども ボク側の理解が追いついてない&何かいじるとしょっちゅう赤い画面が表示されたのでReact Native入門1 〜React Nativeへとうこそ!〜がちょうど良さ気なコード量だったのでそちらにシフト。

結果:

一応なんとか期待した通りの実装は出来た。

f:id:luccafort:20170201223839g:plain

f:id:luccafort:20170201223903g:plain

参考にしたサイトのコードとほぼ同じ内容だが一応githubに全ソースをあげてある。 iOS/Androidのプロジェクトをgithubにあげたのは初なのでもしかしたら上げちゃいけないものもあげてしまってるかも。 そのときはブコメでもコメントでもPRでもマサカリ投げてもらえると嬉しいです。 泣きながら修正します……:)

github.com

感想:

だいたい↓な感じ。

HTMLっぽい見ためなアプリとか動作速度をそこまで気にしなくていいアプリ、サクッと作って試す!みたいなリリース速度重視してるみたいなのだといい感じかも。 Twitterクライアントとか作れればいい勉強になるんじゃないかなー。

逆にゲームとかは現状だとレスポンスが決して早いとはいえないので厳しそうという印象かな。

こういうアプリあるといいなーとかをサクッと実現できるのはいいですね、特にWebエンジニアで今までスマートフォンアプリの開発をやったことがない場合は非常に親和性高いそう。 ぼくはiOS/Androidを初めて触るとIDEの使い方で四苦八苦するけどもReact-Native は普段使ってるエディタで無理なく開発できるのでその辺のストレスとは無縁でいられるのが個人的には一番良いなと感じた点。

問題点:

  • エラーがわかりにくすぎる
    • Chromeの開発者ツールでデバッグするんだけどピンポイントな情報が少ないため原因がどこにあるのかわかりにくく初級者にはつらい
    • 勘所が備わるまではひたすら試行錯誤するしかなさそう、今のところ勘所はまだ備わっていないので非常につらい。
  • タイプミスに気づきにくい

改善したい点:

  • ローディング中なのかフリーズしてるのかわからんのでインジケーター(ローダー?)実装する
  • connpass.comのログイン情報を内部データを保持
  • ルーティング周りのリファクタリング
  • "detail"などのハードコーディングを修正
  • Android版も作る
  • 独学&俺得なAnnictクライアントかTwitterクライアントを作りたいな

参考サイト

yutamasun.sakura.ne.jp

yutamasun.sakura.ne.jp

yutamasun.sakura.ne.jp

yutamasun.sakura.ne.jp

qiita.com