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
果物リン
October 22, 2024
0
85
Electron+Vue+Swift=真のデスクトップアプリ / How to create "Really" desktop app using Electron
ちょっと盛ったかもしれないけど
ElectronにAPIがないからって諦めないデスクトップアプリ開発の話
果物リン
October 22, 2024
Tweet
Share
More Decks by 果物リン
See All by 果物リン
ある日オレオレフレームワークを作りたくなったぞ/Want to Create Oreore Framework
fruitriin
1
130
fishとfzfはじめて 豊かになりました / fish and fzf is good
fruitriin
1
890
Chrome Devtools使いこなしたい/I want to master devtool
fruitriin
3
1.5k
Event Stage - 真面目に作ったけど 全くウケなくてクソだったアプリ/I made new service but they say shit
fruitriin
0
170
読み上げチャット+映像配信サービス作ってるけど…/I develop Text-to-Speach chat and broadcast Savice but...
fruitriin
0
150
とある自社開発の苦楽の軌跡/Trajectory of a Certain In-house Development Effort
fruitriin
1
250
動画再生速度を変更するコンポーネントを作ろうとして諦めた話/talk about give up to create video with playback-rate controller
fruitriin
6
950
Soft Skillsから伝えたい新人時代の個人開発技術選定/Selecting Stack for Personal Development as a from Soft Skills
fruitriin
2
370
SFCで挑戦するFunctional Component/Functional Component Challenge at SFC
fruitriin
3
1.6k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
GraphQLとの向き合い方2022年版
quramy
49
14k
Bash Introduction
62gerente
615
210k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
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ʁ