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
Hack Atom with Node.js
Search
Ken Wagatsuma
November 07, 2015
Programming
0
4k
Hack Atom with Node.js
LT Presentation on Node Tokyo Gakuen 2015 (Tokyo Node Festival)
http://nodefest.jp/2015/
Ken Wagatsuma
November 07, 2015
Tweet
Share
More Decks by Ken Wagatsuma
See All by Ken Wagatsuma
Pregel Graph Compute Engines - Supersteps Exampls
kenju
0
220
Kafka on Kubernetes with Strimzi
kenju
0
170
AWS DynamoDB Accelerator (DAX) 101
kenju
2
7.2k
Moden browser introduction
kenju
1
420
Cookpad summer internship 2019 - API
kenju
0
10k
Introduction to Design Patterns
kenju
0
88
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
9k
Introduction to TypeScript
kenju
0
740
Introduction to Programmatic Ad
kenju
0
260
Other Decks in Programming
See All in Programming
AI Agent 時代的開發者生存指南
eddie
3
1.8k
品質ワークショップをやってみた
nealle
0
510
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
1.3k
CSC509 Lecture 06
javiergs
PRO
0
260
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
590
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
1
370
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
290
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
460
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
1k
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
11
6.8k
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
150
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
320
Featured
See All Featured
A Tale of Four Properties
chriscoyier
161
23k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
The Cult of Friendly URLs
andyhume
79
6.6k
Producing Creativity
orderedlist
PRO
347
40k
4 Signs Your Business is Dying
shpigford
185
22k
Scaling GitHub
holman
463
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Balancing Empowerment & Direction
lara
5
690
Transcript
Hack Atom w/ Node Kenju Wagatsuma
/* * Introduce Myself * * @kenjuwagatsuma */
'me' = { name : 'Kenju Wagatsuma ( KJ )’,
}
'me' = { name : 'Kenju Wagatsuma ( KJ )’,
company : 'Recruit Technologies Co.,LTD.', }
'me' = { name : 'Kenju Wagatsuma ( KJ )’,
company : 'Recruit Technologies Co.,LTD.', profession : 'Android Development', }
'me' = { name : 'Kenju Wagatsuma ( KJ )’,
company : 'Recruit Technologies Co.,LTD.', profession : 'Android Development', career : { 2011 : 'Graphic Designer ( PS, AI, ID )' 2013 : 'Web Designer ( HTML+CSS, jQuery)' 2014 : 'Web Engineer ( JavaScript )' 2015 : 'Programmer ( Java/Android )' } }
Me * Node =
Me * Node = Not Professional (Just for fun)
None
None
None
None
None
None
None
None
None
None
/* * What Atom? */
Atom is: -> ❖ Project supported by GitHub
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor ˕ asset pipelines
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor ˕ asset pipelines ˕ access to local files
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor ˕ asset pipelines ˕ access to local files ˕ asynchronous module definition
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor ˕ asset pipelines ˕ access to local files ˕ asynchronous module definition ˕ script concatenation
https://speakerdeck.com/zcbenz/practice-on-embedding-node-dot-js-into-atom-editor
https://speakerdeck.com/zcbenz/practice-on-embedding-node-dot-js-into-atom-editor (Before Electron)
/* * Why Atom? */
Why Atom: -> ❖ Play with Node API ❖ FS,
HTTP, Stream, Async methods…
Why Atom: -> ❖ Play with Node API ❖ FS,
HTTP, Stream, Async methods… ❖ Always running on the newest Chromium ❖ No more polyfill ❖ Can ignore browser compatibility
Why Atom: -> ❖ Play with Node API ❖ FS,
HTTP, Stream, Async methods… ❖ Always running on the newest Chromium ❖ No more polyfill ❖ Can ignore browser compatibility ❖ Support from GitHub teams ❖ Long-term development
/* * How Atom? */
❖ 1. Contribute to Atom Editor ❖ 2. Contribute to
Atom Packages ❖ 3. Write Your Own Atom Package You can: ->
❖ 1. Contribute to Atom Editor ❖ 2. Contribute to
Atom Packages ❖ 3. Write Your Own Atom Package You can: ->
* * @param x : ?(mental) * @param y :
?(skill) * @param z : ?(grammer) * @return ? */ contribute(x, y, z): -> while x.isExist doYourBest
* * @param x : Passion * @param y :
Node * @param z : CoffeScript * @return ? */ contribute(x, y, z): -> while x.isExist doYourBest
❖ 1. Contribute to Atom Editor ❖ 2. Contribute to
Atom Packages ❖ 3. Write Your Own Atom Package You can: ->
None
None
/* * We Need Your Help! */
❖ 1. Contribute to Atom Editor ❖ 2. Contribute to
Atom Packages ❖ 3. Write Your Own Atom Package You can: ->
Atom API: -> Clipboard Color Cursor Directory File GitRepository KeymapManager
TextBuffer ThemeManager …etc
Get Started: -> ‘cmd-shift-p’ then ‘Package Generator’ … That’s it!
Package: -> This is the basic package layout. `lib` file
is the core of the packages: ***-view.coffee ***.coffee
Debug: -> It’s based on Chromium, right?
Test: -> Oh, my princess Jasmine—
Publish: -> `apm publish` is what you’re looking for. Run
`apm publish -h` for help
/* * Conclusion */
❖ 1. Contribute to Atom Editor → Please do if
you can :) ❖ 2. Contribute to Atom Packages → A lot of rooms for improvement ❖ 3. Write Your Own Atom Package → Super Easy You can: ->
Read this: -> https://atom.io/docs/v1.1.0/ Atom Flight Manual
Ask Here: -> https://discuss.atom.io/ Atom Discuss
Join us: -> https://atomio.slack.com/ Atom Slack
Atom is really hackable
Atom is really hackable powered by Node.js
Atom is really hackable powered by Node.js and you are
Node Professional!
None
http://bit.ly/nodefest2015kj Thanks;
/* * Appendix */
❖ Release Notes ➡ https://atom.io/releases ❖ API References ➡ https://atom.io/docs/api/v1.1.0/Atom
❖ Blog ➡ http://blog.atom.io/ References: ->
❖ “node-webkit” by Cheng Zhao ➡ https://speakerdeck.com/zcbenz/ node-webkit-app-runtime-based-on- chromium-and-node-dot-js ❖
“Atom” by John Nunemaker ➡ https://speakerdeck.com/ jnunemaker/atom Best Slides: ->