Svelte×Ionicでモバイルアプリのプロジェクトを作成してみた

RyotaF
nextbeat-engineering
Mar 15, 2023

はじめに
みなさん初めまして
株式会社ネクストビートでアプリエンジニアとして働いている福本と申します。
現在は主にiOS / Androidのアプリ開発を担当しています。

現在ネクストビートでは、SvelteとIonicを使用したモバイルアプリ開発を行なっています。
私は今まではネイティブのみで開発をしていたため、モバイルアプリ開発でSvelteを使用する方法が気になりました。

そこで、SvelteとIonicを使って開発できるプロジェクトを作成し、シミュレーターで動かしてみました。

プロジェクトを作成

まずはプロジェクトを作成します。

npm create vite example - app -- --template svelte-ts

Ionic導入

Ionic cliをインストールします。

npm install -g @ionic/cli

導入したIonicの初期化コマンドを実行します。

ionic init "Example App" --type=custom

ネイティブプロジェクトの追加

iOSプロジェクトを追加します。

ionic cap add ios

Androidプロジェクトを追加します。

ionic cap add android

webDirを変更

capacitor.config.ts内の webDirをdistに変更します。

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
appId: 'io.ionic.starter',
appName: 'Example App',
webDir: 'dist', ←ここを 'www' から変更する
bundledWebRuntime: false
};

export default config;

アプリを起動

フレームワーク選択時に customを選択しているためrunコマンド実行前に、package.jsonのscriptsに下記を追加します。

{ 
"scripts" : {
"ionic:build" : "npm run build" ,
"ionic:serve" : "npm run dev" ,
"dev:ios" : "ionic cap run ios" ,
"dev:android" : " ionic cap run android"
}
}

iOSでアプリを起動します。

npm run dev :ios

任意のデバイスを選択するとサンプル画面が表示できました!

iOSシミュレータ

Androidでアプリを起動します。

npm run dev :android

任意のデバイスを選択すると、Android側でもサンプル画面が表示できました!

Androidシミュレータ

作成を終えて

エディタによるファイル編集とターミナルによるコマンド実行のみで、プロジェクトの作成からシミュレーターの起動までできました!

クロスプラットフォームで、自分が得意な領域ではないWebの言語等を使うため、もっと時間がかかり色々と苦労をするかと思っていました。
ですが、プロジェクトの作成からシミュレーターでの確認までは、ビックリするほど順調にでき驚きが隠せませんでした!

今後はこのプロジェクトを使用しクロスプラットフォームでのアプリ開発を楽しんでいこうと思います!

最後まで読んでいただきありがとうございました!

We are hiring!
株式会社ネクストビートでは、

「人口減少社会において必要とされるインターネット事業を創造し、ニッポンを元気にする。」
を理念に掲げ一緒に働く仲間を募集しております。

https://www.nextbeat.co.jp/recruit

--

--