Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Vue3_Capacitorでモバイルアプリ開発
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kouki.miura
August 25, 2026
Programming
56
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vue3_Capacitorでモバイルアプリ開発
Vue3アプリ等のWebアプリを、Capacitorでモバイルアプリ化する方法の紹介です。
kouki.miura
August 25, 2026
More Decks by kouki.miura
See All by kouki.miura
vue-tsc x TypeScript7
koukimiura
0
21
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
130
診療情報提供書 × HL7 FHIR ~医療情報の標準化を実際に実装してみる~
koukimiura
0
94
VueプロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一部高速化 -
koukimiura
0
260
VueSapporo#4
koukimiura
0
49
Vueが軽く&速くなる!Vapor Modeを試してみた
koukimiura
0
100
Vue3.6.0-rc_CHANGELOG読み合わせ
koukimiura
0
65
医療DXって何?~電子カルテ標準仕様まで10分で理解する~
koukimiura
1
130
アプリ開発者が知っておくべき『トランザクション分離レベル』とRead Committed の罠
koukimiura
0
130
Other Decks in Programming
See All in Programming
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
190
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
170
Modernizing iOS Apps
seyfoyun
0
120
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
150
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.6k
Seven New Principles of Software Engineering
yegor256
0
350
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
200
ActionController meets Protocol Buffers
sorah
1
730
オーケストレーション記述言語 Katari
yukikurage
0
200
Kotlinの15年とServer-Side Kotlin
n_takehata
1
170
Groovy as a human and AI friendly programming language
paulk
0
120
Jetpack Compose Mechanisms
skydoves
3
880
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
920
How to Ace a Technical Interview
jacobian
280
24k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Claude Code のすすめ
schroneko
67
230k
Speed Design
sergeychernyshev
33
2.2k
BBQ
matthewcrist
90
10k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
410
Un-Boring Meetings
codingconduct
0
470
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Between Models and Reality
mayunak
4
520
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
740
Transcript
2026.08.24 / VueSapporo #4 Vue3 & Capacitorでモバイルアプリ開発 三浦 恒樹 (MIURA
KOUKI) / 医療ITエンジニア
自己紹介 - ドゥウェル株式会社 に所属(マネージャー) 医療ITエンジニア / 診療情報管理士 / 上級医療情報技師 /
医用画像情報専門技師 TypeScript / Vue.js / Node.js / Java / C# / PHP - 3兄弟の父、休日は習い事の送り迎えとか... - 参加している勉強会 札幌PHP勉強会 ゆるWeb勉強会 AWS初心者LT会in札幌 hokkaido.js さっぽろ医療IT勉強会 - コーディングBGM ラックライフ BLUE ENCOUNT SHANK Dizzy Sun Fist JBUG札幌 えびてく 札幌すごいAI会 函館本線沿線勉強会 JavaDO クラメソ札幌IT勉強会(仮) 札幌IT石狩鍋 VueSapporo ※運営 - Naru, 名前を呼ぶよ, 初めの一歩, 変わらない空 - Survivor, ポラリス
今日話すこと Vue3で作ったWebアプリを、モバイルアプリにしてみる 01 Capacitorとは? 02 モバイルアプリ開発の選択肢 03 Vue3 + Capacitorの仕組み
04 実際にAndroidアプリとして動かしてみる 05 Capacitorを使うメリット・注意点
まず結論 Vue3 の Webアプリ ▶ Capacitor Capacitor • Vue /
React / AngularなどのWebアプリをモバイルアプリ化する • Web技術をそのまま活用できる • App Store / Google Playへ公開できる • カメラ、位置情報、プッシュ通知などのネイティブ機能も利用できる 「Webアプリを作る技術」で、モバイルアプリも作れる。 ▶ iPhone / Android アプリ
そもそも「クロスプラットフォーム」とは? 1つのコードベースから複数のプラットフォームへ アプローチ UIの実体 主な技術 ネイティブ Native UI Swift /
Kotlin クロスプラットフォーム Native UI など Flutter / React Native ハイブリッド Web UI Cordova / Capacitor Webアプリ Browser Vue / React / Angular ポイント 「クロスプラットフォーム」といっても、何を共通化しているかが違う。Capacitorが共通化するのは「UIそのもの」=Web UI。
Capacitorはどこにいる? Web技術をネイティブアプリの中で動かす iOS / Android つまり WebView Vueアプリ + WebView
+ Native Bridge Vue3 Application Capacitor Runtime 画面はWebView上のVueアプリ。ネイティブ機能は CapacitorのBridge経由で呼び出す。 • Vueのコードは基本そのまま • OSごとのネイティブプロジェクトが生成される Native API Bridge Camera / Files / Push • Native APIはPluginとして追加する
CordovaとCapacitor どちらも「Webアプリ × Native」のアプローチ Cordova Capacitor • ハイブリッドアプリの代表的なフレームワーク • Ionicチームが開発
• WebViewを利用する • Cordovaの思想を引き継ぎつつ、現代的なWeb開発と の統合を重視 • Pluginを通してNative APIを利用する • npmベースでVueなどの既存プロジェクトへ導入しやす い • Cordova Pluginとの互換性も持つ 今回は Vue3 + Capacitor を試す。
Vue3プロジェクトにCapacitorを追加 ① Capacitorをインストール ② Capacitorを初期化 pnpm add @capacitor/core pnpm add
-D @capacitor/cli pnpm exec cap init ③ Webアプリをビルド pnpm build ④ Androidプロジェクトを追加 pnpm add @capacitor/android pnpm exec cap add android → 既存のVue3プロジェクトにnpmパッケージを足していくだけで、ネイティブプロジェクトが生成される。
VueアプリとAndroidアプリの関係 Capacitorは「Webアプリをネイティブプロジェクトへ同期」する Vue3 Project ▶ pnpm build dist/ ▶ Android
Project cap sync ▶ Android Studio cap open ビルド成果物をネイティブ側へコピーするのが cap sync pnpm exec cap sync → Vue側を変更したら「pnpm build → cap sync」。これがCapacitor開発の基本サイクル。 ▶ Run ▶ Android App
Androidアプリとして実行 Android Studioを起動する pnpm exec cap open android Android Studioから
1. Emulatorを起動 またはCLIから pnpm exec cap run android Android Studioを開かずに、接続中のデバイス /Emulatorへそのままデプロイして実行できる。 2. 対象デバイスを選択 3. Run ▶ Vueのコードを書いて、いつものビルドをして、Androidの実機/Emulatorで動く。
None
ネイティブ機能も使える 例えばカメラ Pluginを追加する 呼び出しの流れ Vue pnpm add @capacitor/camera ▼ Vueから利用する
const photo = await Camera.getPhoto({ resultType: CameraResultType.Uri }) Capacitor ▼ Android / iOS ▼ Camera → TypeScriptのAPIとして呼ぶだけ。Swift / Kotlinを書かずにNative機能へ到達できる。
Capacitorのメリット Webエンジニアにとって始めやすい • Vueの知識をそのまま活用できる • 既存Webアプリをベースにできる • TypeScript / npmエコシステムを利用できる
• iOS / Androidのコードをある程度共通化できる • 必要に応じてNative APIを利用できる 「Webエンジニアがモバイルアプリを始める」という用途と、とくに相性が良い。
注意点 「WebアプリがそのままNativeになる」わけではない • UIは基本的にWebView上で動く(Native UIとは異なる) • OSごとの差異への対応が必要 • カメラ、通知などは権限設定が必要 •
iOS / Androidのビルド環境が必要 • App Store / Google Play公開には、それぞれの審査・設定が必要 モバイル固有のUXを、完全に無視できるわけではない。
どんなときにCapacitor? 向いている Native / Flutterなどを検討したい • 既存のWebアプリをモバイル化したい • 高度なNative UIが必要
• Vue / ReactなどWeb技術を活かしたい • GPUを多用する • iOS / Android両方に対応したい • 高いパフォーマンスが必要 • カメラ・位置情報・通知などを利用したい • モバイル専用UXを徹底的に作り込みたい • Webとモバイルでロジックを共有したい → 「何を共通化したいか」で選ぶ。UIごと共通化したいならCapacitorが効く。
まとめ — Vue3 × Capacitor Vue3 ▶ Capacitor 今日覚えてほしい3つ 1
CapacitorはWebアプリをNativeアプリとして動かすための仕組み 2 Vue3の知識を活かしてモバイルアプリを開発できる 3 WebとNativeのいいとこ取りができる一方、完全なNativeアプリではない Webエンジニアのモバイルアプリ開発への入口として、Capacitor! ▶ iOS / Android
Appendix — 今回使用したコマンド # Capacitor pnpm add @capacitor/core pnpm add
-D @capacitor/cli # 初期化 pnpm exec cap init # Android pnpm add @capacitor/android pnpm exec cap add android ご清聴ありがとうございました。 # Build & Sync pnpm build pnpm exec cap sync # Android Studio pnpm exec cap open android # Android実行 pnpm exec cap run android