djangoアプリの基本がわかってきたので、スマホアプリにチャレンジしてみます。
どうやら私のPCはWindowsなのでiOSアプリを作るのが難しい様です。(不可能では無いらしい、、)
なのでandroidアプリの製作を目指していきます。
ところでどの様にスマホアプリを作成すべきか。ネットで検索すると「React Native 」を用いればできるらしいです。
React Native の他にnodeやnpm、yarnいったツールの名前が出てきて混乱してしまったので、1つ1つ調べていくことにしました。
React Native とは?
React Native はモバイルアプリケーションフレームワークです。
React と呼ばれる言語を使用して、Android、iOS アプリを開発することができるようにした言語であるので、Reactと全く同じでは無い様です。Reactをよく知らない私としては、JavaScriptの言語のライブラリの一つがReactであるといった認識を持っています。
ネットで検索すると🔍
2つの技術的な大きな違いとしては、Reactは仮想DOM(Document Object Model)を使ってWebブラウザ上でコードをレンダリングするのに対し、 React Native はネイティブAPIを使ってモバイルデバイス上でUIをレンダリングする点が違っている。
という内容が書いてありました。
んー、、🧐ちょっとイメージできない。。React=javascriptであると考えておこう。
とにかく、Java や Swift が書けなくても React が分かれば、Android と iOS 同じコードでスマホアプリが開発できるので、やってみるしかないですね。とはいえ、DENはReactは触ったことがないので一から勉強です。
しかもReact Nativeの他にも使うツールがあるらしい。
React Nativeだけではアプリ開発はできない。その他に、Android Studioや、Xcodeといったツールが必要となる。
開発を始めるための初期設定がややこしい。
React Nativeを使う上で欠かせないフレームワークが、Expoらしい。その名もエキスポというみたいです。
Expoって?
Expoは、React Nativeでアプリ開発する為に必要なリリース、ビルド時の細かな設定を自動でやってくれるフレームワークです。
具体的にどんなことをやってくれるかはこれから学ぶとして、まずはReact NativeとExpoの2つがキーワードを中心に学ぶことになりそうです。
まずはインストールからやってみよう
では早速React NativeとExpoを準備しよう!とはなりません。
React NativeやExpoに関してはNPM(Node Package Manager)と呼ばれるシステムで管理するのでNode.jsのインストールが必須です。
Node.jsの役割は、ブラウザ上で動かす言語(javascriptなど)をサーバー上で動かすことができるようになります。
このサーバー上で動かすことができることによってWEBアプリが実装できるのですが、今回はこのNode.jsをつかってパッケージマネージャーとしての役割を果たしてもらうために必要となります。これによってフロントエンドとしてReact Nativeを利用するための環境としてインストールが必要なのです。
Node.jsをインストール
コマンドプロンプトで以下のコマンドを入力すればバージョンが確認できます。
node -v
次に、npmのYarnのインストールも行います。(コマンドプロンプトで以下のコマンドを入力)
npm install -g yarn
YarnはJavaScriptのプロジェクトで使用される依存関係を管理し、効率的にパッケージをダウンロード、インストール、アップグレードするためのツールで「パッケージマネージャ」と呼ばれます。
pythonでいうと「pip」ですね。
つまり、JavaScriptのパッケージマネージャーである「Yarn」があるおかげで、今何のバージョンが入っているんだっけ?、このバージョンは合わないです、、、等のバージョン管理ができるようになるのです。
さらに、、Expo CLIと呼ばれるExpoを操作するシステムをインストールします。(コマンドプロンプトで以下のコマンドを入力)
npm install –global expo-cli
これだけで設定は完了です!