NativeとExpoを利用して「のっティ時刻表」アプリを作成しリリースしました。Expoを利用したビルドから、Android版アプリのリリースまでの概要を記載しています。Nativeでクロスプラットフォーム開発がしたいという方、Expo使うとどんな感じなのかと悩んでいる方の参考になればと思います。native+Expoを用いることで簡単なアプリですがすぐできました。ビルド・リリースも簡単でした。Playへアップロード・必要事項を入力Expoを使ってみる「Snack」というWebIDEを使うことでお手軽に始めることができます。最終的にはローカルのIDEをやエディタを利用したほうがいいですが、動作や使い勝手を試してみると言うくらいならこちらでも十分です。入門」という本を参考に行いました。記事にしていますので参考にどうぞ。NativeやExpoをインストールします。my-native-app」コマンドで、ローカルにアプリの雛形が生成されます。ここでプログラミングをしてアプリを作成します。権限関係のエラーでうまく行かない場合はnodeやnpmのバージョンが影響していることがあります。私も発生しましたが「nvm」をインストールして、nvm経由でnode・npmを再インストールしたところ治りました。このタイミングでgithubなどにリポジトリを作っておきましょう。実機で動作確認エミュレータを使ってPCで確認することができますが、自身の端末に「Expo」というアプリを入れると実機での動作確認することができます。start」コマンドを実行すると、QRコードが表示されます。テスト端末でExpoを起動して、QRコードを読み込むと開発中のアプリが動きます。Expoアプリ経由でPCとLANで接続し、アプリのソースをダウンロードして実行します。そのため同じネットワーク内でアクセスしないとできません。ホットリロード機能があり、PC側でプログラムを修正すると即時実機に反映されます。開発の効率がよくなりとても便利でした。Android・iOSどちらでも利用できるようなので、開発の際にはこの方法がおすすめです。ビルドapp.jsonに必要な項目を追加編集します。build:androidコマンドを実行するとビルドを行うことができます。このとき、ネット上のExpoのサーバ内でビルドが行われており、ビルドが完了するとAPKをダウンロードするためのURLが表示されます。アクセスすればビルド状況やコンソールログなどを確認できます。実際にExpoのアプリとしてもアップロードされており、サイト内から検索することができます。Consoleへアクセスしてアカウントを作成します。Consoleでdeveloper登録が必要です。初回に25ドルを支払う必要があります。「アプリの作成」を行い必要な項目を入力します。基本的には画面に沿って入力すれば問題ないです。以下のものが必要だったので作成しました。画像は基本Figmaで作りました。exportすることでPngなどの形式でダウンロードできます。アプリのアイコン画像アプリのスクリーンショット画像キャンペーンの際に表示するヘッダ画像アプリの概要テキストアプリの詳細テキスト必要なものを登録すればアプリの公開ができます。公開されるまではしばらく時間がかかります。特定の人にだけアクセスできるテスト用のアプリや、本番リリース用のアプリなどを別々に管理できるので、必要なフェーズに合わせて試してみると良いです。Nativeで実装しているので、iOSアプリとしても動作します。こちらは現在実践中ですので、終わり次第追記します。プログラムはそのままでiOS用にビルドして、開発者ツールで登録していけば、AppStoreでも公開ができるはずです。Nativeを使うことで、Androidアプリ、iOSアプリ両方を構築できます。Reactの概念を利用していることも合って、コンポーネントを利用しながら簡単に実装ができました。ネイティブAPIのすべてが利用できるわけではなかったり、パフォーマンスに少し劣る部分があるそうです。要件を満たせない場合は考慮が必要です。Expoも利用することで、開発デバック時のホットリロードや、Expoサーバを利用してのビルドを行うことができました。これらを使うと開発がかなり効率化され、簡単になりました。コンポーネントも豊富に用意されているので、お手軽に実装できた印象です。広告を表示するAdmobなどのコンポーネントもあり簡単に導入できます。今のところは問題なさそうなので、Expoでのアプリ開発を続けようと思います。editerマークダウン特化エディタアプリマークダウンのプレビュー・よく使う記号を入力するボタンが利用できます。野々市市コミュニティバスのっティ時刻表アプリルートとバス停を選択して時刻表が確認できます石川県野々市市に住むフリーランスエンジニア。応用情報とDBスペシャリストの資格を保有。Webシステムの構築、スマホアプリ、プログラミングメンターなどの依頼に対応できます。