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でSlackをさらに便利にしちゃう / Slack with Electron
Search
Taiju Aoki
December 09, 2019
Programming
3
850
ElectronでSlackをさらに便利にしちゃう / Slack with Electron
LT for Ginza.js#7
https://ginzajs.connpass.com/event/154596/
Taiju Aoki
December 09, 2019
Tweet
Share
More Decks by Taiju Aoki
See All by Taiju Aoki
本番運用中 Oracle を破壊してしまった話 ~ 破壊と創世 ~ / Oracle Destruction and Creation
blue0513
0
3k
オンプレ to オンプレした話/on-premises2on-premises
blue0513
0
3k
GitもCIもテストもないプロジェクトでデプロイを自動化するまでの道 / rebuild of DevOps
blue0513
0
3.2k
Git & GitLab & コードレビューって? / about Git, GitLab, CodeReview
blue0513
0
230
GitHub の README をいい感じにする / Cool Readme
blue0513
3
1.7k
Emacs × Sound やってみた / Emacs with Sound
blue0513
1
990
Slack を TweetDeck にしてみた件 / slackdeck-proto
blue0513
0
2.9k
知ってるとお得な iTerm2 と zsh/bash の小技
blue0513
3
830
クラウド電子カルテを支える魂の技術
blue0513
0
2.4k
Other Decks in Programming
See All in Programming
10 Costly Database Performance Mistakes (And How To Fix Them)
andyatkinson
0
400
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
120
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
780
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
230
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
ニーリーにおけるプロダクトエンジニア
nealle
0
860
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
19
7.5k
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
AIともっと楽するE2Eテスト
myohei
7
2.7k
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
11k
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
830
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
180
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Agile that works and the tools we love
rasmusluckow
329
21k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Gamification - CAS2011
davidbonilla
81
5.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Cult of Friendly URLs
andyhume
79
6.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Making Projects Easy
brettharned
116
6.3k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Transcript
Electron Ͱ Slack Λ͞Βʹศརʹͪ͠Ό͏ @blue_1617
ࢲ୭ʁ blue (@blue_1617) https://blue0513.github.io/show_room/ 2 Rails, JavaScript, Scala etc ΤϜεϦʔ:
ΫϥυిࢠΧϧςνʔϜॴଐ GitHubͱ͔ ‣ slackdeck-proto : Slack ͷ TweetDeck ෩ Viewer ‣ minideck : TweetDeck ͷ͍͍ײ͡ͷ Viewer ‣ phantom-inline-comment: Emacs ͷ package ‣ point-history: Emacs ͷ package ‣ instant-maximized-window: Emacs ͷ package
͜ͷൃදʁ 3 Slack Λৗతʹ͏ΤϯδχΞ͕ ۀޮΛ্͛ΔͨΊʹ Slack Λศརʹ͢Δ https://github.com/blue0513/slackdeck-proto https://qiita.com/blue0513/items/94f719b8c714eb4283b6 https://speakerdeck.com/blue0513/slackdeck-proto
Qiita: TweetDeck ෩ Slack Viewer Λ࡞ͬͯΈͨ GitHub: SlackDeck-Proto M3 TechTalkʢࣾLTʣ: Slack Λ TweetDeck ʹͯ͠Έͨ݅
ΈΜͳɺTwitter ͖ͩΖʁ 4
ΈΜͳɺTwitter ͖ͩΖʁ 5 Ұཡੑʹ͚ܽΔ͔ʁ
TweetDeck ࠷ߴͩͥʁ 6
TweetDeck ࠷ߴͩͥʁ 7 ֤ΫϥελຖʹΧϥϜΛΘ͚ͯදࣔͰ͖Δ ‣ Ұཡੑ Λ୲อͭͭ͠ɺใΛ ཧ Ͱ͖Δ
ΈΜͳɺSlack ͖ͩΖʁ 8 ‣ ๛ͳϦΞΫγϣϯ ‣ εϨουػೳ ‣ ֤छγϣʔτΧοτ ‣
ଞΞϓϦͱͷ౷߹ ‣ etc ... etc ... ۀޮԽͩͥˑ
ΈΜͳɺSlack ͖ͩΖʁ 9 ‣ νϟϯωϧͷ૿Ճ ‣ ෳಉ࣌ฒߦͰਐΉٞ ‣ ผνϟϯωϧ͔Βϝϯγϣϯ ͋ͬ
ΈΜͳɺSlack ͖ͩΖʁ 10 Ұཡੑʹ͚ܽΔͷ͕Ͱʁ
11 Slack ҰཡੑΑͨ͘͘͠ͳ͍ʁ TweetDeck ෩ͳ Viewer Λ ࡞Ε͍͍ͷͰʁ
12 Slack ҰཡੑΑͨ͘͘͠ͳ͍ʁ TweetDeck ෩ͳ Viewer Λ ࡞Ε͍͍ͷͰʁ ఱ࠽తൃ
13 https://github.com/blue0513/slackdeck-proto ࡞ͬͯΈͨ ~ SlackDeck Proto ~
14 https://github.com/blue0513/slackdeck-proto ࡞ͬͯΈͨ ~ SlackDeck Proto ~
ىಈɾ࣮ߦ 15 ‣ ΞϓϦ൛ʢmacOS, Windowsʣ ‣ CUI ىಈ $ npm
install $ npm start
16 ߏཁૉ Electron (Vanilla JS)
17 ߏཁૉ Webview, Custom CSS
18 ߏཁૉ ‣ src/* ߦ: 687ߦ ‣ ओͳґଘ package ‣
electron-builder (Ϗϧυ༻) ‣ electron-store (ઃఆอଘ༻) ‣ Slack API: ඇ༻ ‣ Linter: ESLint ‣ CI: GitHub Actions w/ Jest, ESLint ‣ Liter, CI
19 ػೳ ‣ Multiple columns like TweetDeck ‣ Multiple workspaces
‣ Add/Remove columns by button ‣ Selectable CSS styles for each column ‣ Customizable settings as JSON ‣ Settings are saved and persisted
20 Multiple columns like TweetDeck
21 Multiple workspaces
22 Add/Remove columns by button
23 Selectable CSS styles for each column
24 Customizable settings as JSON ‣ Main Slack URL ‣
Other Workspaces URL ‣ Column Settings
25 Settings are saved and persisted ΞϓϦ൛Ͱ settings.json ΛΠϯϙʔτ͢Δͱ ࣍ճىಈ࣌ͦͷઃఆΛҾ͖ܧ͙
26 ͱ͔৭ʑ ͳͥ API Λ༻͠ͳ͍ͷʁ ͳͥ React ͱ͔ FW ΛΘͳ͔ͬͨͷʁ
ͳͥϝϯςφϯεΛଓ͚Δͷʁ ‣ API ͷมߋʹΑΔϝϯςφϯε͕໘ͩͬͨ ‣ ެࣜ Web ൛Λ Electron & Webview ͢Δͷָ͕ͩͬͨ ‣ FW Λ͏ͱ PR Λग़͢ϋʔυϧ্͕͕Δͱࢥͬͨ ‣ Webview ͷදࣔҎ֎Λ΄΅͠ͳ͍ͷͰɺࢫຯ͕গͳ͍ ‣ ϝϯςφϯε͕໘ͳͷͰɺґଘΛ࠷খԽ͔ͨͬͨ͠ ‣ յΕͨΓෆศͩͱɺʑͷۀʹࢧো͕ग़ΔͷͰ......