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
Vue.jsでiOSアプリを作る方法
Search
Hal
January 16, 2025
Programming
540
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vue.jsでiOSアプリを作る方法
Capacitorを使い、Vue.jsで開発したWebアプリをiOSアプリに移植する方法をまとめました。
Hal
January 16, 2025
More Decks by Hal
See All by Hal
checker.tsにチキンレースを仕掛けてみた:型エラー(TS2589)が発生する境界線を求めて
hal_spidernight
1
330
小さいVue.jsを30分で作る
hal_spidernight
0
290
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
520
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
770
VitePress & MCPでアプリ仕様のオープン化に挑戦する
hal_spidernight
0
820
VitePressを2週間使ってみた感想
hal_spidernight
0
1k
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
7.1k
Other Decks in Programming
See All in Programming
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
140
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
120
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
Are APIs Still Relevant in the AI Era?
soyuka
0
430
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
カツオ、ご期待ください
suneo3476
0
150
Domain-Driven Transformation
hschwentner
2
2.3k
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Agents on Rails - Rails at Scale 2026
irinanazarova
0
340
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
630
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
170
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Leo the Paperboy
mayatellez
10
2.4k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
520
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
350
Testing 201, or: Great Expectations
jmmastey
46
8.3k
The SEO identity crisis: Don't let AI make you average
varn
0
580
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
Transcript
Vue.jsでiOSアプリを 作る方法 Hal
Webアプリをそのまま iOS・Androidのネイティブアプリに 移植したい! 🍎👾
React→ React Native Vue→?
昔はNativeScriptやVueNative。 今は?
WebViewベースで素早く移植 →Capacitor ネイティブコンポーネントで開発 →NativeScript
Capacitorを使ってみる
Capacitorとは... WebアプリをWebViewベースのネイティブアプリとして ビルドするライブラリ。 Cordovaの後継ライブラリなのでプラグイン互換性が高 い。 PWAのビルドもできる。
Capacitorにできること • WebViewベースでの素早い移植 • 多様な公式プラグインの利用
早速導入してみる
1.既存のVueプロジェクトに Capacitor Core,CLIをインストール 導入手順 yarn add @capacitor/core yarn add -D
@capacitor/cli 2.capacitorのiOSプラグインをインストール yarn add @capacitor/ios //Web側のコードを変更した時は以下を実行して同期 npx cap sync
3.iOS用テンプレートの追加・ビルド実行 導入手順 npx add cap ios 4.XCode・シミュレータで動作チェック npx cap open
ios //XCodeで開く npx cap run ios //シミュレータを起動
プラグインで機能を拡張できる!
1.任意のプラグインをインストール プラグインの利用方法 yarn add @capacitor/geolocation //位置情報プラグイン npx cap sync 2.Info.plist
に必要な権限を追記する iOSではInfo.plistに記載しなければ利用できない機能が 複数存在する。
バックグラウンドタスクやプッシュ通知のような ネイティブアプリならではのプラグインも提供されている。
1.WebViewベースのアプリは構造によってストア審査落ちの可能性がある 注意点 2.ネイティブアプリでは Info.plist等利用する機能権限の記載も必要 →AndoirdならAndroidManifest.xml 3. 機能によってはパフォーマンスがやや低くなる、動きがもっさりする →Capacitorでは一部のみネイティブコンポーネントを利用できる →利用シーンによっては NativeScriptのほうが良いかもしれない
ご清聴ありがとうございました!