Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Vue.jsでiOSアプリを作る方法
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hal
January 16, 2025
Programming
500
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
280
小さいVue.jsを30分で作る
hal_spidernight
0
250
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
500
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
740
VitePress & MCPでアプリ仕様のオープン化に挑戦する
hal_spidernight
0
750
VitePressを2週間使ってみた感想
hal_spidernight
0
980
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
6.9k
Other Decks in Programming
See All in Programming
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
470
VibeCodingからAgenticWorkflowへ
starfish719
0
450
Cloudflare is Agents
chimame
0
160
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
700
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
270
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
220
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
330
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
580
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
850
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
380
5分で問診!Composer セキュリティ健康診断
codmoninc
0
990
メールのエイリアス機能を履き違えない
isshinfunada
0
240
Featured
See All Featured
Side Projects
sachag
455
43k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Technical Leadership for Architectural Decision Making
baasie
3
470
Everyday Curiosity
cassininazir
0
280
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
For a Future-Friendly Web
brad_frost
183
10k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The browser strikes back
jonoalderson
0
1.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Balancing Empowerment & Direction
lara
6
1.2k
We Have a Design System, Now What?
morganepeng
55
8.3k
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のほうが良いかもしれない
ご清聴ありがとうございました!