SlideShare a Scribd company logo
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)
Hack Atom with Node.js
Hack Atom with Node.js
Hack Atom with Node.js
Hack Atom with Node.js
Hack Atom with Node.js
Hack Atom with Node.js
Hack Atom with Node.js
Hack Atom with Node.js
Hack Atom with Node.js
Hack Atom with Node.js
/*
* 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: ->
Hack Atom with Node.js
Hack Atom with Node.js
/*
* 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!
Hack Atom with Node.js
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: ->

More Related Content

PDF
Is Activity God? ~ The MVP Architecture ~
Ken William
 
PDF
Don't Leave Windows Broken
Ken William
 
PDF
RequireJS
Sebastiano Armeli
 
KEY
Requirejs
sioked
 
KEY
#acmscamp Keynote
Ayumu Sato
 
PPTX
Async Module Definition via RequireJS
DevOWL Meetup
 
PPTX
Green Fox - Last Epam Demo
Tamas Kokeny
 
PDF
Chefとかプロビジョニングまわり
Kiyotaka Kunihira
 
Is Activity God? ~ The MVP Architecture ~
Ken William
 
Don't Leave Windows Broken
Ken William
 
Requirejs
sioked
 
#acmscamp Keynote
Ayumu Sato
 
Async Module Definition via RequireJS
DevOWL Meetup
 
Green Fox - Last Epam Demo
Tamas Kokeny
 
Chefとかプロビジョニングまわり
Kiyotaka Kunihira
 

Viewers also liked (10)

PPTX
An Intro to Atom Editor
Ateev Chopra
 
PDF
Node Foundation Membership Overview 20160907
NodejsFoundation
 
PDF
Atom Text Editor: Resistance is Futile
Alessandro Muraro
 
PPSX
Server Side Rendering, caching and performance
Ateev Chopra
 
PPTX
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
David Currie
 
PDF
Flow Base Programming with Node-RED and Functional Reactive Programming with ...
Sven Beauprez
 
PPTX
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
PPTX
An Authentication and Authorization Architecture for a Microservices World
VMware Tanzu
 
PDF
Stateless authentication for microservices
Alvaro Sanchez-Mariscal
 
PDF
Atom IDE
Cloud Analogy
 
An Intro to Atom Editor
Ateev Chopra
 
Node Foundation Membership Overview 20160907
NodejsFoundation
 
Atom Text Editor: Resistance is Futile
Alessandro Muraro
 
Server Side Rendering, caching and performance
Ateev Chopra
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
David Currie
 
Flow Base Programming with Node-RED and Functional Reactive Programming with ...
Sven Beauprez
 
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
An Authentication and Authorization Architecture for a Microservices World
VMware Tanzu
 
Stateless authentication for microservices
Alvaro Sanchez-Mariscal
 
Atom IDE
Cloud Analogy
 

Similar to Hack Atom with Node.js (20)

PPT
Demystifying Maven
Mike Desjardins
 
PDF
JavaScript in 2015
Igor Laborie
 
PPT
Web::Scraper
Tatsuhiko Miyagawa
 
ODP
Ant User Guide
Muthuselvam RS
 
PDF
Front End Development for Back End Developers - vJUG24 2017
Matt Raible
 
PDF
Automated Testing with Ruby
Keith Pitty
 
PPT
Apache Ant
hussulinux
 
PDF
Front End Development for Back End Developers - UberConf 2017
Matt Raible
 
PPTX
Codestrong 2012 breakout session exploring the new titanium command line in...
Axway Appcelerator
 
PPTX
Hybrid Application Development
Yagiz Nizipli
 
PPTX
Web Development: Making it the right way
Yagiz Nizipli
 
PDF
Functional IoT: Hardware and Platform
Kiwamu Okabe
 
PDF
Front-end tools
Gleb Vinnikov
 
PPT
Ant Build Tool
Rafael Mumme
 
PDF
Playwright Test automation frameworktest
rushcodeharish
 
PDF
Playwright: A New Test Automation Framework for the Modern Web
Applitools
 
PDF
[ABC2018Spring]Flutterアプリ開発入門
Kenichi Kambara
 
PDF
Making your first OpenStack contribution (EuroPython)
Julie Pichon
 
PDF
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
apidays
 
ODP
Extjs Howto
Greg Hendricks
 
Demystifying Maven
Mike Desjardins
 
JavaScript in 2015
Igor Laborie
 
Web::Scraper
Tatsuhiko Miyagawa
 
Ant User Guide
Muthuselvam RS
 
Front End Development for Back End Developers - vJUG24 2017
Matt Raible
 
Automated Testing with Ruby
Keith Pitty
 
Apache Ant
hussulinux
 
Front End Development for Back End Developers - UberConf 2017
Matt Raible
 
Codestrong 2012 breakout session exploring the new titanium command line in...
Axway Appcelerator
 
Hybrid Application Development
Yagiz Nizipli
 
Web Development: Making it the right way
Yagiz Nizipli
 
Functional IoT: Hardware and Platform
Kiwamu Okabe
 
Front-end tools
Gleb Vinnikov
 
Ant Build Tool
Rafael Mumme
 
Playwright Test automation frameworktest
rushcodeharish
 
Playwright: A New Test Automation Framework for the Modern Web
Applitools
 
[ABC2018Spring]Flutterアプリ開発入門
Kenichi Kambara
 
Making your first OpenStack contribution (EuroPython)
Julie Pichon
 
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
apidays
 
Extjs Howto
Greg Hendricks
 

Recently uploaded (20)

PPTX
Inventory management chapter in automation and robotics.
atisht0104
 
PDF
Software Testing Tools - names and explanation
shruti533256
 
PDF
flutter Launcher Icons, Splash Screens & Fonts
Ahmed Mohamed
 
PPTX
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
PPTX
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
PPT
1. SYSTEMS, ROLES, AND DEVELOPMENT METHODOLOGIES.ppt
zilow058
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PPTX
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PDF
Top 10 read articles In Managing Information Technology.pdf
IJMIT JOURNAL
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
PDF
Introduction to Data Science: data science process
ShivarkarSandip
 
PDF
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
The Asian School
 
PDF
Packaging Tips for Stainless Steel Tubes and Pipes
heavymetalsandtubes
 
PPT
Ppt for engineering students application on field effect
lakshmi.ec
 
PDF
Advanced LangChain & RAG: Building a Financial AI Assistant with Real-Time Data
Soufiane Sejjari
 
PPTX
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
PDF
JUAL EFIX C5 IMU GNSS GEODETIC PERFECT BASE OR ROVER
Budi Minds
 
PDF
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
Inventory management chapter in automation and robotics.
atisht0104
 
Software Testing Tools - names and explanation
shruti533256
 
flutter Launcher Icons, Splash Screens & Fonts
Ahmed Mohamed
 
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
1. SYSTEMS, ROLES, AND DEVELOPMENT METHODOLOGIES.ppt
zilow058
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
IoT_Smart_Agriculture_Presentations.pptx
poojakumari696707
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
Top 10 read articles In Managing Information Technology.pdf
IJMIT JOURNAL
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
Introduction to Data Science: data science process
ShivarkarSandip
 
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
The Asian School
 
Packaging Tips for Stainless Steel Tubes and Pipes
heavymetalsandtubes
 
Ppt for engineering students application on field effect
lakshmi.ec
 
Advanced LangChain & RAG: Building a Financial AI Assistant with Real-Time Data
Soufiane Sejjari
 
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
JUAL EFIX C5 IMU GNSS GEODETIC PERFECT BASE OR ROVER
Budi Minds
 
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 

Hack Atom with Node.js