ガジェット通信 GetNews

見たことのないものを見に行こう

体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

「React.js × React Native」―メリット・デメリット、将来はどうなる?【前編】

React・React Nativeをテーマにパネルディスカッション

3月16日、リクルートテクノロジーズで、React.js meetupとReact Native meetupによる合同勉強会が開催された。

今回の勉強会はWeb開発において急速に普及しつつあるReact、そしてその書き方をベースにネイティブアプリがつくれることで注目を集めているReact Nativeに関することが学べるということで、多くのエンジニアが集まった。

今回の勉強会は大きくパネルディスカッションとLTの2部で構成。最初のパネルディスカッションでパネラーを務めたのは次の4人。

古川陽介さん(@yosuke_furukawa
Node.JS日本ユーザグループ代表を務める。リクルートテクノロジーズのシニアエンジニア。会社ではReactとReduxを使ったWebアプリケーションフレームワークの開発とその活用をサポートしている。React Nativeの技術獲得をチームで実施中。

小林徹さん(@koba04
TOLOTで、Reactを使ったSingle Page Applicationを開発している。ウェブアプリケーションエンジニア。React.js meetupの運営や、HTML5 Experts.jpメンバー。React Nativeは趣味で触っている程度。

吉田俊明さん(@yositosi
トゥギャッター代表。8年ぐらい前に趣味でトゥギャッターを開発し、今は会社として運営している。React Nativeを1年前に採用してアプリをフルリニューアルした。

高木健介さん(@janus_wel
キュア・アップ CTO。キュア・アップはソフトウェア医療機器『治療アプリ』を開発している。同アプリの開発にReact Nativeを採用している。

そして、React Native Meetupを主催するフリーランスエンジニアの中田一成さん(@besutome)が司会を務めた。

React Nativeとはどんな技術?

まずはReact Nativeとはどんな技術か、高木さんが簡単に紹介した。React Nativeのメリットは3つある。
ユーザーに対しては、ハイブリッドアプリながらネイティブ体験を提供できること。
開発者に対しては、Reactで得られた知見・経験を生かしてネイティブ開発に移行できること。
ネイティブ開発者に対しては、今までのネイティブ体験を継承しつつ開発スピードを上げられること。

実際に今までのハイブリッドアプリで、ネイティブのコンポーネントを再実装するというアプローチをとっていたが、そのやり方ではネイティブの体験をユーザーにそのまま届けることは難しかった。

しかもプラットフォームのアップデートに追従することも難しく、開発コストもかかっていた。そしてこれらの課題はReact Nativeなら解消できる。

また一度学んだらどこでも書ける。Facebookの開発者はJavaのような「Write Once、Run Anywhere」ではなく、「Learn Once, Write Anywhere」を目指した。

ネイティブのように、書き換えてはコンパイルを繰り返すというようなストレスもなくなる。React NativeならWebと同じようにファイルを保存してリロードすれば、結果が確認できる。それもメリットとなっている。

React Nativeに注目したきっかけ

中田:リクルートテクノロジーズでは、React Nativeの技術獲得をチームで実施しているそうですね。React Nativeに注目したきっかけについて教えてください。

古川:React Nativeは1~2年前から注目していました。そのきっかけは2つ。まず、リクルートテクノジーズではReactの開発者が増えていくという予測があったこと。の一方でネイティブの開発者は足りていない。

あるメンバーがWebアプリケーションをReact Native化したものを見せてくれたのですが、その完成度が高かったことも技術開発に取り組むきっかけになりました。

中田:すでに導入している吉田さんと高木さん、導入した経緯を教えてください。

吉田:Webサービスとして提供してきたため、JSエンジニアやフロントのエンジニアなどWebに強いエンジニアはいますが、Android、iOSのネイティブアプリの開発者はいませんでした。

そういうメンバー構成の中で、ネイティブのアプリを出したいとなったとき、Titaniumという選択肢もあったのですが、React Nativeに注目していました。

React NativeがAndroidに対応した1年半前、3~4カ月かけて開発。結果的にほとんどネイティブを触ったことのなかったエンジニア2人で、iPhone、Android両方ネイティブアプリを出しています。

1 2 3次のページ
CodeIQ MAGAZINEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。