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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kouki.miura
August 25, 2026
Programming
41
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プロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一部高速化 -
koukimiura
0
120
VueSapporo#4
koukimiura
0
36
Vueが軽く&速くなる!Vapor Modeを試してみた
koukimiura
0
53
Vue3.6.0-rc_CHANGELOG読み合わせ
koukimiura
0
43
医療DXって何?~電子カルテ標準仕様まで10分で理解する~
koukimiura
1
82
アプリ開発者が知っておくべき『トランザクション分離レベル』とRead Committed の罠
koukimiura
0
97
フルスタックTypeScript入門 ~Hono RPCとZodで実現する型共有~
koukimiura
0
75
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
180
ReactとVueは仲良くできるのか?
koukimiura
0
53
Other Decks in Programming
See All in Programming
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.8k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
1.9k
Heart of Swift Concurrency
koher
0
880
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
560
setup-vp GitLab対応の裏側
naokihaba
0
100
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
410
Security issues being discussed on Web Platforms
petamoriken
0
960
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
320
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.2k
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
270
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
How to make the Groovebox
asonas
2
2.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Product Roadmaps are Hard
iamctodd
55
13k
Ethics towards AI in product and experience design
skipperchong
2
380
The browser strikes back
jonoalderson
0
1.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
540
What's in a price? How to price your products and services
michaelherold
247
13k
sira's awesome portfolio website redesign presentation
elsirapls
0
410
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