【React Native 入門】スマホアプリ開発のプロが教える「React Native」の学び方

【React Native 入門】スマホアプリ開発のプロが教える「React Native」の学び方

Facebookが作成したスマホアプリ開発のためのフレームワーク「React Native」が注目を集めています。React Nativeで開発することのメリット・デメリットは? React Native入門者はどんな知識を身につけるべき? 長年ソフトウェア制作やITコンサルティングに携わり、現在はソフトウェア制作会社を経営する川島賢さんに、React Nativeの入門的な知識について解説してもらいました。


React Nativeについて教えてくれたのはこの人!

川島賢さんのプロフィール

https://www.timeticket.jp/hosts/kawashimaken?utm_source=ttl&utm_medium=145&utm_campaign=experiences_2

テクノロジーを愛するCEO 外資系ITコンサルティングファームコンサルタントとして6年間 今、ソフトウェア会社経営中、Webサービス、情報システム、スマホアプリ制作が得意分野です。IoTと機械学習深層学習はこれからチャレンジする分野です!PythonもJavaScriptも大好きです!最近はJetson nanoを遊んでいます! noteも書いています。

React Nativeとは?

タイムチケット アプリ システム開発 川島賢

React Nativeとは、Facebookが発表したスマホアプリ開発のためのフレームワークです。

スマートフォンのOSはいま、Appleが提供する「iOS」とGoogleが提供する「Android」の2つが主流です。 それぞれのOS上で動作するアプリを開発するためには、iOSはSwift、AndroidはJavaという、異なる言語を使い分ける必要があり、開発者にとって大きな負担となっていました。 その課題を解決しようと、Facebookが開発したのが「React Native」です。 React NativeはJavaScriptを用いたフレームワーク1つの言語でiOSとAndroidという2つのプラットフォームをまたいでアプリ開発をすることができるのが特徴です。

React Nativeは入門者にもハードルが低い

React Nativeを使ってアプリ開発をしているソフトウェアエンジニアの川島賢さん。React Nativeの魅力について、開発言語にJavaScriptを用いている点を挙げます。iOSで開発に使われるSwiftは熟練プログラマーにとってはパワフルなツールになり得ますが、習熟するまでの学習コストが高いのが難点です。 その点、JavaScriptを使うReact NativeはWeb系のフロントエンドの開発経験があれば始められるので、入門者にとってもハードルが低いといえます」 「ほんの十数年前、JavaScriptといえば“ブラウザ側で動くおもちゃ”といった程度の認識で、JavaScriptをやっていると言えば笑われたものです」と話す川島さんですが、JavaScriptにはいま、他のプログラミング言語にない「勢い」があるといいます。 「人気の高いプログラミング言語は、利用するプログラマーのあいだでコミュニティが形成されます。コミュニティが成長することによってさまざまなライブラリーやツールが生まれ、やがてエコシステムになっていきます。 近年、RubyやPythonといったコミュニティが盛り上がっていますが、JavaScriptはそれを上回る勢いがあります。言語を扱う人が多ければ多いほど、開発者の母数は増えます」 加えて、JavaScriptはブラウザだけでなく、いろいろなところで動かすことができるシンプルな言語であるところも利点だと指摘します。

タイムチケット アプリ システム開発 川島賢

React Nativeは異なるプラットフォームで利用できる

川島さんは、React Nativeでのアプリ開発に次のようなメリットを感じています。 ・異なるプラットフォーム上で統一されたUI/UXが実現できる iOSとAndroidでそれぞれ異なる言語でアプリを開発した場合、UI/UXに少なからずずれが発生します。しかし、ReactNativeであれば、どのプラットフォームでも比較的容易に統一されたUI/UXを実現することができます。

・コストが削減できる iPhoneとAndroidスマホの両方でアプリをリリースしたい場合、Swiftのスキルを持つエンジニアとJavaのスキルを持つエンジニアそれぞれを採用しなければなりません。しかし、React Nativeに置き換えることでエンジニアを半分に減らすことができ、開発コストを削減することができます。

フレームワークとして十分に成熟しておらず不安定な面も

一方で、「React Nativeでアプリ開発をすることで、楽になった部分もあれば、逆に大変になった部分もある」といいます。 「React Nativeはフレームワークとして発展途上にあり、開発が活発に進められています。そうしたフレームワーク自体のアップデートに対応していく必要があるばかりでなく、iOSとAndroid両方のバージョンアップにも対応しなければなりません。 また、新しいスマホが登場するたびに、異なるハードウェアをベースにした新機能にも対応していく必要があります

SwiftやJavaといったプラットフォーム公認の技術であればドキュメントが充実しており、構成もスムーズ。しかし、「React Nativeではそうはいかないこともある」と加えます。 「React Nativeの場合、開発の工程でレイヤーを1つ余分に挟むことになるので、難しいバグが発生した場合の原因追究が複雑になります」

React Nativeを学ぶときに必要な知識は?

タイムチケット アプリ システム開発 川島賢

これからReact Nativeを学ぼうとする場合、どんな知識を身につけたらいいのでしょうか。 「React Nativeでアプリ開発をしてみたいからと言って、React Nativeに関する知識だけ身につければいいというわけではありません。JavaScriptの使い方やアプリ開発の基本的な知識はおさえておきたいですね」 川島さんに相談する人の中にはJavaScriptの書き方や非同期の処理方法など、React Native以外の部分で戸惑う人が多いそう。 特に、アプリ開発の知識については、「氷山の下の部分は共通している」と川島さん。インフラの知識やデータベースの構造、アプリをリリースするまでの手順は、SwiftやJavaといったプラットフォームと変わらないので、「アプリ開発の裏を知っておけるといい」と話します。 とはいえ、大切なのは「手を動かすこと」。 「React Nativeを選ぶ。そこはいい選択です。コンピュータサイエンスの基礎知識を網羅的に完全習得してからでなくても、開発の要所でぶつかる問題を1つ1つ解決していくことで、効率よく学ぶことができます

React Nativeでものをつくる喜びや達成感を感じてほしい

タイムチケット アプリ システム開発 川島賢

大学でコンピューターサイエンスを学んだ川島さんは、ソフトウェア制作を経て大手コンサルティング会社のアクセンチュアへ。ITコンサルタントとして情報システムの構築などに携わりましたが、「お客さまに近いところで仕事がしたい」と考え、自らソフトウェア制作会社を起業しました。

Webサービスの開発や起業の顧客管理システム、人工知能に関するプロジェクトなど、フロントエンドからバックエンドまで幅広く手がけてきた川島さんですが、最近はReact Nativeについて相談する人も少なくありません。

そんな人たちに、こうアドバイスします。 「React Nativeを使ってみようと思うのであれば、とにかく手を動かしてみてください。そして、つくったものが動いたときの感動や達成感を感じてほしいですね」

React Nativeについて疑問がある人は、川島さんに相談してみると、答えが見つかるかもしれません。

川島賢さんのプロフィールをチェック

関連するキーワード


React Native 入門

最新の投稿


“素の魅力を引き出す“撮影技術で「人のありのままの魅力をフィルムに収める」プロフォトグラファー

“素の魅力を引き出す“撮影技術で「人のありのままの魅力をフィルムに収める」プロフォトグラファー

フリーの映像作家・写真家として活動する藤原弘武さんは、タイムチケットで“人の今の素を撮る”をテーマにした「#素フォト」のサービスを提供しています。プロのモデルはもちろん、撮影に不慣れな素人まで、年間100名近くの依頼に応じている藤原さん。初対面のゲストの“素”を引き出すという、#素フォトへの思いを伺いました。


本格恋愛カウンセラーの”森高千里なりきりアイドル”「心のオアシスになります」

本格恋愛カウンセラーの”森高千里なりきりアイドル”「心のオアシスになります」

森高千里さんのなりきりアイドル「盛りたかった千里」として活動する大東明子さんは、タイムチケットで恋愛相談とフリートークのサービスを提供しています。人と人の縁と信頼関係を大切にしている大東さん。盛りたかった千里誕生の秘話や、タイムチケットでのサービス内容について伺いました。


マッチングアプリを効率的に使う方法とは?「マッチングアプリ専門」のカメラマン兼アドバイザーがノウハウを伝授

マッチングアプリを効率的に使う方法とは?「マッチングアプリ専門」のカメラマン兼アドバイザーがノウハウを伝授

タイムチケットでマッチングアプリ用の写真撮影サービスを提供する大之助さん。サービス提供を始めて4年間でチケット販売枚数850枚を超える人気のカメラマン兼アドバイザーです。なぜこれほどまでに大之助さんの撮影サービスが選ばれてきたのでしょうか。その理由は、身をもって培ったアプリ攻略経験とゲストそれぞれに対する丁寧なサービス実施にありました。


ゴルフのドラコンプロがサポートする飛距離に特化した身体づくりとは?

ゴルフのドラコンプロがサポートする飛距離に特化した身体づくりとは?

「何歳になってもゴルフを楽しめるような土台の身体づくりを支援します」。そう話すのは、「飛距離専門ゴルフトレーナー」の石堂裕美さん。石堂さん自身はゴルフの飛距離を競う”ドラコンプロ”として競技に参加するゴルファーであり、パーソナルトレーナーとしてゴルファーの身体づくりをサポートしています。昨今でも老若男女に人気のゴルフ。技術向上のために大切な土台作りについて教えていただきました。


20代婚活カウンセラーが「リアルな視点」で本気の婚活を応援します

20代婚活カウンセラーが「リアルな視点」で本気の婚活を応援します

結婚相談所でカウンセラーをしている岩本 彩華さんは、タイムチケットで婚活サポートを提供しています。1年半で100名以上の方にカウンセリングを実施し、成婚に導いてきた岩本さん。自身も現在進行形で婚活に臨む岩本さんに婚活のリアルを伺いました。