javascript

ReactNativeとExpoを使用したスマホアプリ開発

はじめに

スマホアプリ開発する際、React-NativeというJavaScriptのフレームワークを使用することで、swiftやKotlinを学ばなくてもAndroid・iOSの両アプリのコードを同時に書くことができます。

また、React-Nativeで開発する際は、Expoという開発ツールを利用することでさらに多くのライブラリを使用することができますし、PGMのビルドやデプロイが非常に楽になります。

今回、そんなReact-NativeやExpoの概要をご説明したいと思います。

React Nativeとは

本来ならiOSアプリとAndroidアプリはswiftやKotolinなど別言語で書かなければいけなかったのですが、2015年くらいにiOSとAndroidの両アプリのコードを同時に書けちゃう画期的なJavaScriptのフレームワークをFacebook社が開発しました。

それがReact Nativeです。

処理速度も速く、高く評価されており、FacebookやInstagramは元よりAirbnbなどの超有名アプリもReact Nativeにどんどん乗り換えています。

日本製アプリで言うとメルカリやProgateもReact Nativeだそうです。

理由は一言で言うと、開発スピードが速いからです。トレンドの移り変わりが激しい現代のITベンチャーにおいてこれほど嬉しい利点は他にないでしょう。

Expoとは

ExpoはReact Nativeに様々なライブラリを追加した環境および簡易的にReact Nativeのビルドやデプロイができる開発ツールです。

たとえば、React Native単体では地図の表示や画像加工などを提供していないため、外部ライブラリを読みこむためのコードを書かないといけないのですが、Expoはそういったライブラリを多く保有しているので、そのような手間を省けます。

また、ビルドとデプロイもコマンド一つでできますし、実機に専用アプリをダウンロードすれば、QRコードやURLを入力するだけで、実機での動作確認ができます。

Expoのデメリット

上記でExpoのメリットばかり述べましたが、もちろんデメリットもあります。

デメリットは以下の通りです。

① App StoreやGoogle Playで配布するファイルの容量が大きい

配布するファイルの中にはExpoのライブラリも含まれるため、単純なアプリでも160 MBぐらいします。

② 外部ライブラリやswiftやKotlinなどのネイティブモジュールは使用できない

作成したい機能のライブラリがReact NativeにもExpoにもない場合は、Expoから通常のReact Nativeへ移行する必要があります。ただ、ほとんどの場合、Expoアプリで事足りるのであまり心配しなくてよいかと思います。

これらのデメリットもふまえた上でExpoをしましょう。

おわりに

ReactNativeとExpoを使用して現在スマホ開発してますが、超開発しやすいです。

やはり魅力的なのはコマンド一発でビルド・デプロイでき、修正した内容もリアルタイムで実機に反映されることですね。

外部ライブラリ使えないとのことですが、今のところ困ったことはないです。
ただ、自分のやりたいことがExpoでできるのか事前にチェックしといたほうがいいと思います。