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
210
Kafka on Kubernetes with Strimzi
kenju
0
150
AWS DynamoDB Accelerator (DAX) 101
kenju
2
7.1k
Moden browser introduction
kenju
1
390
Cookpad summer internship 2019 - API
kenju
0
10k
Introduction to Design Patterns
kenju
0
78
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
8.9k
Introduction to TypeScript
kenju
0
710
Introduction to Programmatic Ad
kenju
0
250
Other Decks in Programming
See All in Programming
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
270
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.5k
Blueskyのプラグインを作ってみた
hakkadaikon
1
290
CRUD から CQRS へ ~ 分離が可能にする柔軟性
tkawae
0
230
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
120
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.6k
単体テストの始め方/作り方
toms74209200
0
110
"使いづらい" をリバースエンジニアリングする UI の読み解き方
rebase_engineering
0
110
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
0
260
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
110
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
110
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Producing Creativity
orderedlist
PRO
346
40k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Building an army of robots
kneath
306
45k
Unsuck your backbone
ammeep
671
58k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
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: ->