EY-Office ブログ

久しぶりにReact Nativeに触れたらとても進歩していた(1/2)

以前React Nativeに触れたのは作りながら学ぶ React入門を書いていた2017年春ころでした。
おもしろい技術だと思いましたが、私自身はSwiftでiOSアプリを作れるので、その後React Nativeに触れる事はありませんでした。

しかし、久しぶりに触れてみると大きく進歩していることに驚きました。

React Native https://reactnative.dev

Expoという新しい開発環境

開発環境が2つに増えていました! React Native CLIExpoです。
React Native CLIが昔から在った開発環境の延長でiOSアプリを開発するにはMac(Xcode)が必要です。従来のスマオフォ開発の延長上にあるものだと思います。

それに対してExpoは、制限がありますがWindows上でもiOSアプリの開発も行えます!

React NativeはiOS、Androidに加え、Webもサポートしています。 Expoでは開発は基本Webで行い、スマフォでの確認は専用アプリ(iOSではExpo Client、AndroidはExpo)をスマフォにインストールする事で動作・確認する事ができます。
当然App Store、Google Playで公開できるオブジェクトも作成できます(App Storeに公開するにはApple Developer Program、Mac等が必要になります)。

Expoの制限は、Swift等で作ったネイティブ・ライブラリーを組み込む事が出来ない点です。ただし、React NativeからカメラなどスマフォのハードウェアやOSにアクセスするためのライブラーは多数あるので特殊な事を行わないかぎりは問題なと思われます。

Core Componentsの進化

React NativeはiOS, Androidをサポートしていますが、iOSとAndroidではUIは違います。3年前にReact Nativeを使った時点ではiOS専用、Android専用のUIコンポーネントが多数ありましたが、現在はiOS/Android専用のコンポーネントは僅かになっています。

iOS, Androidの違いを内包した抽象的なコンポーネントが増えたようです。これらに付いては現在のReact Nativeでのプログラミングを行いながら学んで行こうと思います。

React Native for Windows + macOS

2019年にMicrosoftがWindows,Xbox等に対応したReact Native for Windowsを発表しましたが、2020年にはmacOSのサポートも加えたReact Native for Windows + macOSを発表しました。

ひょっとすると1つのコードでiOS, Android, Windows, macOSに対応したアプリを作る事ができるのでしょうか 😀

つづく…

次回は昔作ったReact Nativeアプリを最新のReact Nativeで動かしてみたいと思います。

- about -

EY-Office代表取締役
・プログラマー
吉田裕美の
開発者向けブログ