クロスプラットフォームを触ってみたシリーズの第5弾です。
React Nativeです。
といっても、今のところiOSだけですけれど。
一応、公式には”Build native ios and android apps with javascript”って書いてます。
以前どこかで「すぐにAndroidも対応するぜ」的な事が書いてたのを見た気がしたんですが、気配が感じられませんが大丈夫なんでしょうか。
インストール
導入の敷居はすごく低いです。
XCodeとNode.jsが既にインストール済なら、5分位でgetting-statedのProjectを動かすまでいけます。
npmでインスコして、プロジェクトを作るのはこれだけです。
`クロスプラットフォームを触ってみたシリーズの第5弾です。
React Nativeです。
といっても、今のところiOSだけですけれど。
一応、公式には”Build native ios and android apps with javascript”って書いてます。
以前どこかで「すぐにAndroidも対応するぜ」的な事が書いてたのを見た気がしたんですが、気配が感じられませんが大丈夫なんでしょうか。
インストール
導入の敷居はすごく低いです。
XCodeとNode.jsが既にインストール済なら、5分位でgetting-statedのProjectを動かすまでいけます。
npmでインスコして、プロジェクトを作るのはこれだけです。
`
開発
あとはFinderで、作成された
PropertyFinder/PropertyFinder.xcodeproj
をダブルクリックすれば、XCodeが立ち上がります。
んでXCodeでシミュレータなりで一度動かせば、あとは index.ios.jsを編集しつつ、シミュレータで⌘+Rで確認するという流れです。
それだけだと本当にすぐ終わってしまうので、今回はこのチュートリアルも写経したりしました。
Introducing React Native: Building Apps with JavaScript
うん。楽しいです。
感想
以前Appceleratorも、React Native発表後、即座にブログで「“Learn once, write everywhere” だって?俺達は4年以上前から言ってたぜ。“Write once, adapt everywhere.” てな!」とか反応していた通り、コンセプトはTitaniumのと似ています。
このへんの良し悪しは、@masuidriveさんと@naoyaさんがいい感じに纏めてくださっていますので参考にしてみてください。
元某エヴァンジェリストが 見るReactNative // Speaker Deck
React Native / Alternative な開発ツールの採択について // Speaker Deck
Alternativeなアプリ開発プラットフォームについてはいろんな意見がありますが、私の立場では少人数で、早く、マルチプラットフォームで、が求められる事が多いので、わりと肯定的です。つらみについては否定できませんが・・・
なので、私の感想は一般的な割とイケてる環境での話ではなく、個人事業主とか小規模なスタートアップとかどちらかというと下々の民的な立ち位置にやや偏っていると思って頂ければ。
JavaScript でネイティブアプリを書けるという点においては、React Native 結構いい感じです。Titaniumを知らなかったならば、超喜んでたかも知れません。
Titaniumと比較してReact Nativeのメリットが享受できる程未だ使い込んでないのですが、触った感じ、好き・嫌いでいうと、わたしは好きかもです。
コーディングスタイルはよりWebのフロントエンドJavaScriptっぽい感じがします。というかほぼ React.js です。
気になったのは、チュートリアルではjsのファイルにjSXっぽいのとかcssっぽいのとか書いてて、classicなTitaniumのソレっぽい感じですけど、Titanium Alloyみたいに、viewとstyleは別ファイルに出来ないもんなんでしょうか。
ドキュメントは探しやすいし読みやすいです。量も少ないけど。
実際に自分で書き始めると、たぶん細かい所、たとえば遷移時やViewにアニメーションとか付けたい場合どうしたら?とか色々悩みそうです。
現状で React Nativeでプロダクションなアプリを開発する気になるかどうかは微妙です。
Titaniumに限った話では無いですが、私がTitaniumでアプリを開発するにあたり、ネット上の先人の知恵やユーザ会をはじめとしたコミュニティの方々の助けがなかったら、かなりしんどい事になっていたと思います。
React Nativeの場合は、いまから道を切り開く苦労(と楽しさ)がありそうですね。今からガンガンさわって詳しくなって発信すると目立ちそうです。
React.jsがかなり盛り上がっているので、React Nativeももしかしたら使う人が増えるかもしれませんね。
クロスプラットフォーム シリーズ1 Titanium Mobileは業務や受託開発で使えるのか
クロスプラットフォームを触ってみたシリーズ2 久々にCordova (旧PhoneGap) 触ってみた
クロスプラットフォームを触ってみたシリーズ3 Electron (旧Atom Shell)触ってみた
クロスプラットフォームを触ってみたシリーズ4 Ubuntu 15.04 で Titanium (Appcelerator CLI)、無料でどこまでできるか試してみた
クロスプラットフォームを触ってみたシリーズ5 Titanium使いが React Native を少し触ってみた
クロスプラットフォームを触ってみたシリーズ6 Titanium使いが JavaScripで書けるつながりで Native Script 触ってみた
Reactつながりで。