ZIZO DESIGN ノート

お問い合わせ

React Native 勉強会に参加してきました

Osaka Mix Leap Study #23 – React Native勉強会
に参加してきましたので、備忘録的に「React Native」についてまとめてみます

 

そもそも React とは?

公式サイト
Facebook が開発している UI を構築するための JS ライブラリです
MVC でいうと、View の部分にあたります

 

React Native(RN) とは?

公式サイト
React をモバイルで使えるようにしたもの
RN を使用すると、 JS からモバイルアプリをビルドできる

 

RNのメリット

● Web エンジニアからでも学習コストが低くて入りやすい
(jQuery しか書けない人とか)

● ホットリロード(ビルドなしで再描画)してくれるので高速

● ios 版 / android 版 を一度に開発できる

● 有名企業が多く採用している
( Facebook 、 uber 、 pinterest 、 AirBnb(撤退済))

 

デメリット

● バージョンアップすると動かないことも多々
(2週間に1回は新バージョンが、、)

● デバッグが大変(開発者が少ない)
● ドキュメント不足。ほぼ英語で読んでいく感じ
● エラー画面(赤い画面なのでびっくりする)のわかりづらさ
提唱されてから年数が経っていないため、導入している人の少なさが、、

 

導入した人の所感

● OSS を使うことで開発速度を向上できた
(特に redux を利用したデータフロー周り)

● 慣れ親しんだ npm によるパッケージ管理ができる
● CSS のような考え方でレイアウトする。フレキシブルレイアウト
(とっても Web ライクだな、、と個人的に感じました)

● 足りない機能に関してのライブラリが豊富
map 、 slider 、 navi )

● コードが ios 版 / android 版 で7〜8割共通化できた
拡張子でファイルごと作成する、または同一ファイル内で出し分けることができる
(ここあたりも、css のメディアクエリに考え方が似てる?)

● モバイルアプリ独特の知見は必須
UX の違い(戻るなどのタブの位置など)
deploy 周り(どうやってリリース審査に通すか)

 

RN を導入してもよさげな条件

● 専門チームがない、組織規模が大きくない

● 仕様がある程度コントロールできる(自社サービス、直請け)

● 要件がシンプル

● こだわり < スピード

● プロトタイプ