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
Electron+Vue+Swift=真のデスクトップアプリ / How to create ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
果物リン
October 22, 2024
0
120
Electron+Vue+Swift=真のデスクトップアプリ / How to create "Really" desktop app using Electron
ちょっと盛ったかもしれないけど
ElectronにAPIがないからって諦めないデスクトップアプリ開発の話
果物リン
October 22, 2024
Tweet
Share
More Decks by 果物リン
See All by 果物リン
Claude Codeと物忘れ / Invitation talk about context - Why Claude Code forget?
fruitriin
0
70
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
200
ある日オレオレフレームワークを作りたくなったぞ/Want to Create Oreore Framework
fruitriin
1
160
fishとfzfはじめて 豊かになりました / fish and fzf is good
fruitriin
1
940
Chrome Devtools使いこなしたい/I want to master devtool
fruitriin
3
1.5k
Event Stage - 真面目に作ったけど 全くウケなくてクソだったアプリ/I made new service but they say shit
fruitriin
0
190
読み上げチャット+映像配信サービス作ってるけど…/I develop Text-to-Speach chat and broadcast Savice but...
fruitriin
0
170
とある自社開発の苦楽の軌跡/Trajectory of a Certain In-house Development Effort
fruitriin
1
270
動画再生速度を変更するコンポーネントを作ろうとして諦めた話/talk about give up to create video with playback-rate controller
fruitriin
6
970
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
300
Code Review Best Practice
trishagee
74
20k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
72
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
350
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
230
How to build a perfect <img>
jonoalderson
1
5.2k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
140
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Test your architecture with Archunit
thirion
1
2.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
The Invisible Side of Design
smashingmag
302
51k
Transcript
Electron+Vue++Swift = 真のデスクトップアプリ ՌϦϯ@
[email protected]
Misskey.systems
ʢλΠτϧʣ ͍ͩͿ͔ͬͨ͠Εͳ͍
自己紹介@果物リン • ͘Β͍ແ৬ͱ͍͏ࣗ༝ΛᨳՎத • Vue͕͖Ͱͨ·Βͳ͍ • Misskey.systems͔Β͖·ͨ͠ • ͜Εʹ͍͍ͭͯͬͺ͍͍͚ͨ͠Ͳ
こんなアプリ作ってます ࡞ Taskbar.fm
ElectronͰ͢
(おさらい)Electron • BrowserViewͱσεΫτοϓAPIୟ͚Δ܅ͷηοτ • ͜Ε͑͋͞ΕWebΤϯδχΞͷ͋ͳͨ σεΫτοϓΞϓϦ͕࡞ΕͪΌ͍·͢ʂ
πʔϧόʔ࡞Γ͍ͨͳ͋
ϓϩηεͷϦετ͕΄͍͠ͳ͋
None
APIΓͳ͘ͳ͍……ʁ
None
ݟ͑ͳ͍Αʂʼ
ŗŕʂʼ
SwiftͰϓϩηεϦετ ࡞ͬͯऔಘ͢Δ͔
Swift製CLI tool作り方3種類 • xCodeىಈͯ͠ΰϦΰϦͬͱ࡞Δ • swiftc ͰϏϧυ͢Δ • swift build
ͰϏϧυ͢Δ
None
݁ہؾ߹
Nodeから起動して取り扱う • xCodeىಈͯ͠ΰϦΰϦͬͱ࡞Δ
Nodeから起動して取り扱う • xCodeىಈͯ͠ΰϦΰϦͬͱ࡞Δ ݺͼग़ͤΔ
Nodeから起動して取り扱う • xCodeىಈͯ͠ΰϦΰϦͬͱ࡞Δ stdoutΛ͘Εʂ
Nodeから起動して取り扱う • xCodeىಈͯ͠ΰϦΰϦͬͱ࡞Δ stdoutΛ͘Εʂ
Nodeから起動して取り扱う • xCodeىಈͯ͠ΰϦΰϦͬͱ࡞Δ ϑϩϯτΤϯυʹ͛Δͧʂ
こんなアプリ作ってます ࡞ Taskbar.fm
ΊͰͨ͠ΊͰͨ͠
Appendix ʮVueʹ͍ͭͯͷͳ͍ΜͰ͔͢ʂʁʯ
ࢲ͖ʹͨ͠
ElectronViteがいい感じ • xCodeىಈͯ͠ΰϦΰϦͬͱ࡞Δ
ViteならなんでもOK • ࢮ͵΄ͲViteͰϓϩδΣΫτ࡞ͬͨਓʹ ʮ͋ʔɺͳΔ΄ͲͶʯΈ͍ͨͳؾ࣋ͪʹͳ͍ͬͯΔͣ • Vue3ͷඪ४Nuxtͷඪ४ʹͳͬͨϏϧυπʔϧ • Electron ViteͪΖvueΛαϙʔτ
マイカスタマイズ • preloadσΟϨΫτϦআ • electron-toolkit/preload Ͱ͍͍͔ͳ • main/index.tsΛmain.tsʹɺ renderer/index.tsΛrendere.tsʹϦωʔϜ →
ೝࣝෛՙԼ
Ask any Questionʁ