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
Introduction of Electron 〜Electron入門〜
Search
8845musign
November 10, 2015
Technology
1
420
Introduction of Electron 〜Electron入門〜
8845musign
November 10, 2015
Tweet
Share
More Decks by 8845musign
See All by 8845musign
Ubie Vitalsの取り組み紹介
8845musign
1
1.3k
業務システムの銀の弾丸? メモ機能を考察する
8845musign
2
290
業務システムに必要なアクセシビリティ
8845musign
1
1.1k
業務システム狂詩曲
8845musign
4
2.1k
READING The Atomic Workflow
8845musign
3
760
いまさら styled components 入門した
8845musign
3
960
いろはとアップデート LIGHTNING DESIGN SYSTEM
8845musign
0
1.8k
チームをかえていくこと そして、泥臭さについて
8845musign
1
2.2k
感性デザインとは?
8845musign
4
1.9k
Other Decks in Technology
See All in Technology
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
210
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
340
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
160
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
180
Agile Leadership Summit Keynote 2026
m_seki
1
670
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
160
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
180
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
4
460
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
350
Everyday Curiosity
cassininazir
0
130
A better future with KSS
kneath
240
18k
Test your architecture with Archunit
thirion
1
2.2k
Marketing to machines
jonoalderson
1
4.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
How to build a perfect <img>
jonoalderson
1
4.9k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Transcript
Introduction of Electron !NVTJHO
ࣗݾհ w !NVTJHO w 8FCσβΠφ̎ϓϩάϥϚ̎ w σβΠφ࣌ͣͬͱK2VFSZΛॻ͍͍ͯ·ͨ͠ w ԿΛؒҧͬͨͷ͔࠷ۙ(PݴޠΛॻ͍ͯ·͢
ΞδΣϯμ w &MFDUSPO֓ཁ w ͭͬͯ͘Έͨ w 8FCWTωΠςΟϒ
Electron֓ཁ
w ΫϩεϓϥοτϑΥʔϜͷΞϓϦέʔγϣϯ࣮ߦڥ w 8FCͷٕज़ͰωΠςΟϒΞϓϦ͕࡞ΕΔ w )5.-$44 w +BWB4DSJQU w खܰʹΞϓϦ͕࡞ΕΔͱ͍͏͜ͰࠓඇৗʹΓ্͕͍ͬͯΔ
w ࠃͰݸਓϨϕϧͰिʹຊ΄ͲͷΞϓϦϦϦʔε Electronͱ
None
w $ISPOJVN /PEFKT w $ISPOJVN$ISPNFͷΦʔϓϯιʔεϓϩδΣΫτ w +BWB4DSJQU͔ΒOPEFKTٴͼMJCDISPNJVNDPOUFOUΛୟ͘MJCDISPNJVNDPOUFOU $ISPOJVNΛMJCSBSZԽͨ͠ͷ w ؙ͝ͱ$ISPNFΛಉࠝ͢ΔͷͰਅͷҙຯͰΫϩεϓϥοτϑΥʔϜʁ
ࢀߟ ॕ"UPNͷ8FC$PNQPOFOUTಋೖɺ͍ͭͰʹ"UPN4IFMMͷɻ IUUQTUFQTEPEHTPOPSHCBUPNGSPNUIFTIFMMTJEF Architecture
Architecture main process renderer process renderer process Entry Point JavaScript
Script create call IPC HTML/CSS
Productionࣄྫ
None
Code Editor Atom
Git Client GitKraken
Mail Client
Chat Slack
Game DUELIST
ͬͯΈͨ
w #SPXTFS4ZODͱ͍͏8FCݕূπʔϧ w 1SPYZαʔόͱͯ͠ಈ࡞͠ɺෳͷ ϒϥβͰදࣔͷಉظΛऔΕΔ w ଞʹศརͳػೳଟ w ݕূ͕ḿΔ w
/PEFKT ͰλεΫϥϯφʔίϚϯυ Ͱ࣮ߦ Ϟνϕʔγϣϯ
σβΠφࠇ͍ը໘ා͍
(6*͕ඞཁͩɹˠɹ࡞Ζ͏
w 8FCपΓͷٕज़͔࣋ͬͯ͠ͳ͍ͧ w &MFDUSPOͯͷ͕ग़ͨΒ͍͠ w ࠷ۙྲྀߦͬͯͯΠέͯΔΒ͍͠ w +BWB4DSJQUͳΒ͍ͬͺ͍ॻ͍͖ͯͨʢ࣮ࡍK2VFSZʣ ཱ͔ͪͩΔน
w ػೳΛߜΕಠΓͰνϚνϚ࡞͍ͬͯͯԿͱ͔ͳΓͦ͏ w ͍ͭͰʹ+BWB4DSJQUΛษڧ͠Α͏ w ΫϩεϒϥβΛߟྀ͠ͳͯ͘ྑ͍ͷͰ༡ͦ͏ औΓΉʹ͋ͨͬͯ
GUISync
w OPEFKT͕͋Εಈ͘ XJOEPXTͰWJTVBMTUVEJP͕ඞཁ w ઃఆϑΝΠϧΛੜͯ͠ίϚϯυΛୟ͘ w ػೳͨͬͨ͜Ε͚ͩ w HJUIVCDPNNVTJHO(6*4ZOD
(6*4ZOD
w ͱͯૣ͍ w ͨͩ͠ɺ࣮ߦϑΝΠϧ.#ۙ͘ʹͳΔ ˠ$ISPOJVNΛؚΉͨΊ ElectronͷϏϧυ
ࢧ͑Δٕज़
w &4 w OPEFKT w )5.-$44 w 4$444"44 +BEF w
5ZQF4DSJQU w (VMQ w ϑϨʔϫʔΫҰͳ͠ +4$44ͱ ࢧ͑Δٕज़
w /PEFKT·ͩ&4ʹશରԠ͍ͯ͠ͳ͍ w #BCFMਏͦ͏ͳͷͰ&4ͷಋೖͻͱ·ͣݟૹΓ ES5
w &MFDUSPOը໘ʢϒϥβʣ͔ΒOPEFKT͕ୟ͚Δ w ΫϥΠΞϯταΠυͰSFRVJSFͰ͖Δෆࢥٞͳੈք w ϩʔΧϧϑΝΠϧͷಡΈࠐΈͪΖΜ ίϚϯυୟ͚Δ w &WFOU&NJUUFSخ͍͠ node.js
w #SPXTFS4ZODωΠςΟϒϞδϡʔϧΛ͍ͬͯΔͨΊʹϓϥοτϑΥʔϜ ͝ͱͰϏϧυ͢Δඞཁ͕͋ͬͨ w OPEFͷDIJME@QSPDDFTTTQBXO w ඇಉظͰίϚϯυ࣮ߦ w TQBXO bOQN`
<bJOTUBMM` bCSPXTFSTZOD` BrowserSyncͷϏϧυ
w +4Ͱܕ͕ཉ͍͠ w 6*Ͱͳ͍෦·Ͱ+BWB4DSJQUͰΧόʔ͠ͳ͍ͱ͍͚ͳ͍ͨΊʹಋೖ w &MFDUSPOͰ+4Λॻ͘ͷʹΘ͟ΘϏϧυͯ֬͠ೝ͢Δͷखؒ ຌϛείϯύΠϧΤϥʔͰݕ w 7JTVBM4UVEJP$PEFඇৗʹศར
w &MFDUSPO͚ͷܕఆٛϑΝΠϧϦϙδτϦʹͪΌΜͱଘࡏ TypeScript
w $44ϓϦϓϩηοα w ن͔Β͢Δͱඞཁͳ͍͕ Ͳ͏ͤ+4Ϗϧυ͢ΔͷͰೖΕͨ w $44Ϟδϡʔϧׂ͢ΔͱḿΔ SCSS/SASS
w Θ͟Θ͟ΞϓϦΛϏϧυ͢Δඞཁͳ͍ w Ͳ͏ͤ)5.-Ͱදࣔ͞Ε͍ͯΔͷ͔ͩΒ w ݕূ༻)5.-Λ༻ҙͯ͠ίϯύΠϧͨ͠$44Λಡ·ͤͯ֬ΊΔ ϨΠΞτͷ֬ೝ
WBSCUO"DUJPO7JFXOFX#UO"DUJPO7JFX \ TUBSU'VODGVODUJPO FWFOU \ UIJTDSFBUF4FUUJOH'JMF WBSTUBSUUIJTCSPXTFS4ZODTUBSU TUBSUPO
TUBSU GVODUJPO EBUB \ WBSTUS4USJOHGSPN$IBS$PEFBQQMZ OVMM EBUB ίʔϧόοΫࠈ
w OPEFKTجຊΠϕϯτۦಈͰඇಉظॲཧ w ԡ͠دͤΔίʔϧόοΫͷཛྷ w ঢ়ଶΛେྔʹཧͤ͞ΒΕͯਏ͍ w NBJOSFOEFSFSDIJME@QSPDFTT ໘ݟΔͷଟ͍ w
1SPNJTFͱ&WFOU&NJUUFSͰؤுΔ ίʔϧόοΫࠈ
͋ΔఔͷنͳΒ εςʔτϨεͷ'MVYྑͦ͞͏
Web vs ωΠςΟϒ
ී௨ͷWEBͩͱ MJTU FEJU DPOpSN QPTU DPNQMFUF w 63-ػೳ w ϢʔβͷΞΫγϣϯ63-ը໘ʹΑׂͬͯ͞ΕΔ
w ׂϢʔβମݧͷஅΛੜΉ w ͨͩ͠ɺطʹ8FCʹର͢ΔϝϯλϧϞσϧ͕ܗ ͞Ε͍ͯΔͨΊϢʔβҧײΛײ͡ͳ͍ w Ϣʔβͬͯ͘ΕΔʢ͋Δఔʣ
ωΠςΟϒΞϓϦͰ ϑΝΠϧΛ։͘ ฤू อଘ w ֤ϑϩʔΛ૬ޓʹߦ͖དྷ͠ͳ͕Β࡞ۀਐΉ γʔϜϨεͳମݧ͕͋Δ w ̍ը໘ʹ༷ʑͳૢ࡞͕ಉډ͠ɺಉ࣌ʹߦΘΕΔ w
Ϣʔβͬͯ͘Εͳ͍ w ωΠςΟϒΞϓϦͰͨΓલ
ωΠςΟϒΞϓϦͷ6*Ͱ
ྫ͑MacͷUI w ࠨ049ͷઃఆը໘ɻ0,Ωϟϯηϧ Ϙλϯ͕ଘࡏ͠ͳ͍ w ઃఆมߋˠଈө w ࠨͷด͡ΔϘλϯΛԡͯ͠ঢ়ଶอ ଘ͞ΕɺҰ࣌తʹίϯςΩετ͕Ӆ͞ ΕΔ͚ͩ
w γʔϜϨε
iOSͷ͢ΓΨϥεදݱ w J04͔Βಋೖ w લͷը໘Λಁաతʹݟͤͯ҉ࣔ͢Δ͜ͱʹΑΓɺ Ұ࿈ͷը໘ભҠ͕࿈ଓͨ͠ମݧͰ͋Δ͜ͱΛ Ϣʔβ҉͍ࣔͯ͠Δ w ܾ͓ͯ͠͠ΌΕ͚ͩͰͳ͍ w
ωΟςΟϒͷੈքͰγʔϜϨεͳ ϢʔβମݧΛߏங͢Δ ͨΊʹΛڽΒ͍ͯ͠Δ
8FCٕज़Λ͍ͬͯͯ ωΠςΟϒϨϕϧͷ6*
ElectronͰඞવతʹ SPAͱͳΔ
AtomͷΞϓϦମݧ
AtomͷΞϓϦମݧ
w 8FMDPNɺฤूɺઃఆɺϓϩδΣΫτϑΝΠϧදࣔɾɾɾͳͲͷ·ͬͨ͘ҧ ͏ίϯςΩετͷը໘͕ಉ࣌ʹදࣔ͞Ε͍ͯΔ w .BDฒΈʹγʔϜϨε w 8FC͔Β͢Δͱಉ͡Α͏ͳͷΛ࡞Δͷͱͯ͠ΜͲ͍ w ωΠςΟϒΞϓϦͰͨΓલ AtomͰ
w ଞϓϥοτϑΥʔϜҧͬͯɺ౷Ұతͳ6*͕༻ҙ͞Ε͍ͯͳ͍ w #PPUTUSBQ͋Γ͖ͨΓ w 1PMZNFS.BUFSJBM%FTJHO͋ͨΓ ϞόΠϧͷ͍͕ؾʹͳΔ ७ਮͳσεΫτοϓΞϓϦͱͯ͠Ͳ͏ͳͷʁ w &MFDUSPO͚ͷ$44ϑϨʔϜϫʔΫ͕ొ࢝͠Ί͍ͯΔ
UIਏ͍
Photon
React Desktop (alpha)
·ͱΊ
w ࣮ߦϑΝΠϧ͕Ͱ͔͍ w ϑϩϯτΤϯυք۾ͷࠞಱΛͦͷ··ܧঝ͍ͯ͠Δ w ·ͩ҆ఆ͍ͯ͠ͳ͍෦ w 6*͍͠ σϝϦοτ
w खܰ w ΫϩεϓϥοτϑΥʔϜ w Ϗϧυૣ͍ w ๛ͳ+BWB4DSJQUOQNपΓͷࢿ࢈ w ϨΨγʔϒϥβ͔Βղ͖์ͨΕָ͍ͯ͠
ϝϦοτ
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠