徒然開発記

最小努力で最大効果を夢みてる人たちの備忘録

Sponsored link

ReactNative所感

ReactNativeをProduction開発で書き始めたので感じたことをつらつらとまとめます。

ReactNativeを開発していていくらかつらみを感じることがあります。素のReactと比較して、あるいはそれ単体でのつらみ。

1. Inspector

Reactを開発していると必ずと言ってもいいほど入れておきたいのがReactDevToolsです。 GithubのこいつとChrome Extensionを合わせるとChromeの開発者ツール画面で素敵なInspectorを拝むことができます。 Chrome開発者ツールのElementsタブのように、Componentのstate, propsなどにアクセスできます。React開発者の必需品ですね。

f:id:bdgaqh1889:20170120203122p:plain

github.com

chrome.google.com

一方, ReactNativeでアプリ開発をしたいときもWebのReactと同様にComponentの中身を見たいことはあります。 しかし、Emulatorで起動するという都合上ReactNativeのInspectorはなかなか微妙と言わざるを得ません。非常に使いにくい。

f:id:bdgaqh1889:20170120203627p:plain

どうですか、これ。わかりにくいでしょう! 私は開発しながらInspectorを起動することは殆どありません。どなたかInspectorの便利な使い方を教えてください。

2. Libraryの未対応問題

Reactの利点は何と言ってもCommunityの活発さですね。 React開発者が作った便利コンポーネントや便利Libraryを使い放題です。

ところがReactNativeのCommunityはReactほどの活発さは未だないため、かゆいところに手が届きません。 Reduxなど、Reactで人気爆発のLibraryを使える場合ももちろんあります。 しかし、ComponentはまるっとReactNative用にコードを書かないといかないためなかなか完全に対応しているものはいまだ多くはありません。

3. NativeModulesのつらみ

Libraryが未対応だと自前で用意しないといけないことが多々ありますね。 特に、iOSAndroidのネイティブモジュールを実行したいときなどはNativeModulesを書く必要がありますね。 こちらが取っ掛かりはかなり面倒くさい。

JavaScriptプログラマだからReactNativeで開発しているのに結局ObjCもJavaも書かなきゃいけないんです。


しかし、このNativeModulesやサードパーティのモジュールなどをうまく駆使することができれば、ReactNativeはとてもたくさんのことを実現できます。 これからネイティブアプリ開発をお考えのそこのあなた!ReactNativeを是非考慮してみてください!

Takamichi

Sponsored link