SlideShare a Scribd company logo
The New
Frontend Toolchain
through which happiness can be achieved
Hi, I’m Bruno
And I write some Javascripts.
Hopefully you do too.
@inf0rmer
github.com/inf0rmer
The need for tools
• Client apps can be very complex	

• Preprocessors are hip so you want to use
them	

• Build systems allow for modular software	

• Without dozens of <script> tags (-_-’)	
• You need to run tests, write docs, ...
Don’t fear the CLI
Don’t fear the CLI
• No buttons, but it’s oh so functional	

• All the innovation happens there first	

• Lots of things you can’t get anywhere else
Don’t fear the CLI
• Homebrew is apt-get for OSX	

• brew install <package>	
• NPM is all about Node modules	

• npm install <package>	
• RubyGems are precious stones	

• gem install <package>
Don’t fear the CLI
• Tools that you can use everyday!	

• ssh to log in to a server	
• scp to copy files to a server	
• ack or grep to find files that contain a pattern	
• find to find files with names that match a pattern
Coding is Social™
Coding is Social
• Source code management is non-negotiable	

• Git works beautifully for working in teams	

• What’s The Right Way?™
™
Coding is Social™
STOP COMMITTING TO MASTER
It’s bad, and you should feel bad.	

Do it for the kittens.
There were 5 of them, but you just had to push to master.
Coding is Social
• Everyone develops in a feature branch	

• git checkout -b my-cool-new-feature master	
• Don’t forget to merge master in every so
often	

• git checkout my-cool-new-feature	
• git merge origin/master
™
Coding is Social
• Push your branch to remote so others can
try it out	

• git push --set-upstream origin my-cool-new-feature	
• Open a Pull Request into master	

• This allows your team to review the code and suggest changes or
improvements. If you need to add commits to the branch, the PR is
automatically updated
™
Coding is Social
• Once your feature is ready for the world,
merge the Pull Request!	

• Your code finally makes it to master, the authoritative branch
deploys are made from.
™
Further reading: http://nvie.com/posts/a-successful-git-branching-model/
Install Node
• nodejs.org has binary installers for most
OSes	

• You automatically get npm, the Node
Package Manager	

• Most cool stuff requires it
Dependency Management
Dependency Management
• Keeping tabs on 3rd-party libraries is a
robot’s job	

• Updates to libraries should not pollute
your commit history
Dependency Management
• There are lots of solutions, but it appears
bower has won the battle	

• npm install -g bower	
• bower install jquery --save	
• Libraries are installed to ./components, and a
components.json file keeps track of
everything
Dependency Management
• You can search for packages	

• bower search underscore	
• Or even publish your own!	

• bower register <my-package-name> <git-endpoint>
Task Automation
• Lots of alternatives here, but Grunt is one
of the coolest	

• Tasks are modular and installed through npm	
• npm install grunt-contrib-uglify
The New Frontend Toolchain
Automate all the things
• Code quality (JSHint)	

• Preprocessing (Coffee, Sass, Less, Haml...)	

• Minification	

• Build systems (big and small!)	

• Spec running	

• And so much more!
Example time!
And then we play the awkward “does anyone have any
questions” game.
github.com/inf0rmer/twitter-searcher
github.com/inf0rmer/backbone-dotattr

More Related Content

PDF
Crafting interactive troubleshooting guides and team documentation for your K...
PPTX
Ansible: What, Why & How
PPTX
Docker for everything
PDF
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
PDF
Git+jenkins+rex presentation
PPTX
Building Open-Source React Components
PPTX
Building Open-source React Components
PPTX
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...
Crafting interactive troubleshooting guides and team documentation for your K...
Ansible: What, Why & How
Docker for everything
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
Git+jenkins+rex presentation
Building Open-Source React Components
Building Open-source React Components
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...

What's hot (20)

PPTX
Frontend testing with Codeception
PDF
npm + browserify
PPTX
WordPress Development Environments
PDF
Afrimadoni the power of docker
PDF
Automate Yo' Self
PDF
Jenkins-Koji plugin presentation on Python & Ruby devel group @ Brno
PDF
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
PPTX
Managing changes to eZPublish Database
PPTX
Developing Rich Internet Applications with Perl and JavaScript
PPTX
Automating JavaScript testing with Jasmine and Perl
PPTX
Celery workshop
PPTX
Don't worry with bower
PPTX
Proxying DBI with DBD::Gofer and App::Staticperl
PPTX
Chatbots 6 hours hol
PDF
Introduction to Django (GDays 2014)
PDF
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PPTX
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
PPTX
Untangling spring week11
PDF
Jaap : node, npm & grunt
PDF
javerosmx-2015-marzo-groovy-java8-comparison
Frontend testing with Codeception
npm + browserify
WordPress Development Environments
Afrimadoni the power of docker
Automate Yo' Self
Jenkins-Koji plugin presentation on Python & Ruby devel group @ Brno
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Managing changes to eZPublish Database
Developing Rich Internet Applications with Perl and JavaScript
Automating JavaScript testing with Jasmine and Perl
Celery workshop
Don't worry with bower
Proxying DBI with DBD::Gofer and App::Staticperl
Chatbots 6 hours hol
Introduction to Django (GDays 2014)
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
Untangling spring week11
Jaap : node, npm & grunt
javerosmx-2015-marzo-groovy-java8-comparison
Ad

Similar to The New Frontend Toolchain (20)

PDF
The Secrets of The FullStack Ninja - Part A - Session I
PDF
Modern web applications infrastructure
PPTX
GitHub Event.pptx
PDF
[artifactconf] Github for People Who Don't Code
PDF
Modern Web Application Development Workflow - web2day 2014
PDF
Modern Web Application Development Workflow - EclipseCon US 2014
PDF
Git and github - Verson Control for the Modern Developer
PDF
Introduction to Git (part 3)
ODP
Git Without Branches - Simple, Smooth, Scalable
PDF
Git and Git Workflow Models as Catalysts of Software Development
PDF
Git Init
PDF
Switching to Git
PPTX
Introduction to Git and Github
PDF
Introducing Git and git flow
PDF
How We Use GitHub
PDF
Modern Web Application Development Workflow - EclipseCon France 2014
PDF
Tool Development A - Git
PDF
Modern Web Application Development Workflow - EclipseCon Europe 2014
PPTX
Intro to Git and GitHub
PDF
Git hub for designers
The Secrets of The FullStack Ninja - Part A - Session I
Modern web applications infrastructure
GitHub Event.pptx
[artifactconf] Github for People Who Don't Code
Modern Web Application Development Workflow - web2day 2014
Modern Web Application Development Workflow - EclipseCon US 2014
Git and github - Verson Control for the Modern Developer
Introduction to Git (part 3)
Git Without Branches - Simple, Smooth, Scalable
Git and Git Workflow Models as Catalysts of Software Development
Git Init
Switching to Git
Introduction to Git and Github
Introducing Git and git flow
How We Use GitHub
Modern Web Application Development Workflow - EclipseCon France 2014
Tool Development A - Git
Modern Web Application Development Workflow - EclipseCon Europe 2014
Intro to Git and GitHub
Git hub for designers
Ad

More from Bruno Abrantes (12)

PDF
No widget is an island
KEY
Javascript - Princípios da linguagem e utilização de frameworks
PDF
Workshop js
PDF
Learning To Love IE6
PDF
Learning To Love IE6
KEY
Formação Web Standards - Dia 1
PDF
Plano de Investigação
PDF
Índice Enquadramento Teórico
PDF
SAPO Campus - Aula 5P
PDF
SAPO Campus - P3 Presentation
PPT
SAPO Campus - P3
PDF
Sapo Campus - Investigação e Mundo Empresarial
No widget is an island
Javascript - Princípios da linguagem e utilização de frameworks
Workshop js
Learning To Love IE6
Learning To Love IE6
Formação Web Standards - Dia 1
Plano de Investigação
Índice Enquadramento Teórico
SAPO Campus - Aula 5P
SAPO Campus - P3 Presentation
SAPO Campus - P3
Sapo Campus - Investigação e Mundo Empresarial

Recently uploaded (20)

PDF
Digital Logic Computer Design lecture notes
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPT
Mechanical Engineering MATERIALS Selection
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Geodesy 1.pptx...............................................
PPT
Project quality management in manufacturing
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
Sustainable Sites - Green Building Construction
PPTX
Construction Project Organization Group 2.pptx
PDF
PPT on Performance Review to get promotions
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
DOCX
573137875-Attendance-Management-System-original
Digital Logic Computer Design lecture notes
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Mechanical Engineering MATERIALS Selection
UNIT-1 - COAL BASED THERMAL POWER PLANTS
CH1 Production IntroductoryConcepts.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Geodesy 1.pptx...............................................
Project quality management in manufacturing
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Sustainable Sites - Green Building Construction
Construction Project Organization Group 2.pptx
PPT on Performance Review to get promotions
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Embodied AI: Ushering in the Next Era of Intelligent Systems
573137875-Attendance-Management-System-original

The New Frontend Toolchain

  • 1. The New Frontend Toolchain through which happiness can be achieved
  • 2. Hi, I’m Bruno And I write some Javascripts. Hopefully you do too. @inf0rmer github.com/inf0rmer
  • 3. The need for tools • Client apps can be very complex • Preprocessors are hip so you want to use them • Build systems allow for modular software • Without dozens of <script> tags (-_-’) • You need to run tests, write docs, ...
  • 5. Don’t fear the CLI • No buttons, but it’s oh so functional • All the innovation happens there first • Lots of things you can’t get anywhere else
  • 6. Don’t fear the CLI • Homebrew is apt-get for OSX • brew install <package> • NPM is all about Node modules • npm install <package> • RubyGems are precious stones • gem install <package>
  • 7. Don’t fear the CLI • Tools that you can use everyday! • ssh to log in to a server • scp to copy files to a server • ack or grep to find files that contain a pattern • find to find files with names that match a pattern
  • 9. Coding is Social • Source code management is non-negotiable • Git works beautifully for working in teams • What’s The Right Way?™ ™
  • 10. Coding is Social™ STOP COMMITTING TO MASTER It’s bad, and you should feel bad. Do it for the kittens.
  • 11. There were 5 of them, but you just had to push to master.
  • 12. Coding is Social • Everyone develops in a feature branch • git checkout -b my-cool-new-feature master • Don’t forget to merge master in every so often • git checkout my-cool-new-feature • git merge origin/master ™
  • 13. Coding is Social • Push your branch to remote so others can try it out • git push --set-upstream origin my-cool-new-feature • Open a Pull Request into master • This allows your team to review the code and suggest changes or improvements. If you need to add commits to the branch, the PR is automatically updated ™
  • 14. Coding is Social • Once your feature is ready for the world, merge the Pull Request! • Your code finally makes it to master, the authoritative branch deploys are made from. ™ Further reading: http://nvie.com/posts/a-successful-git-branching-model/
  • 15. Install Node • nodejs.org has binary installers for most OSes • You automatically get npm, the Node Package Manager • Most cool stuff requires it
  • 17. Dependency Management • Keeping tabs on 3rd-party libraries is a robot’s job • Updates to libraries should not pollute your commit history
  • 18. Dependency Management • There are lots of solutions, but it appears bower has won the battle • npm install -g bower • bower install jquery --save • Libraries are installed to ./components, and a components.json file keeps track of everything
  • 19. Dependency Management • You can search for packages • bower search underscore • Or even publish your own! • bower register <my-package-name> <git-endpoint>
  • 20. Task Automation • Lots of alternatives here, but Grunt is one of the coolest • Tasks are modular and installed through npm • npm install grunt-contrib-uglify
  • 22. Automate all the things • Code quality (JSHint) • Preprocessing (Coffee, Sass, Less, Haml...) • Minification • Build systems (big and small!) • Spec running • And so much more!
  • 23. Example time! And then we play the awkward “does anyone have any questions” game. github.com/inf0rmer/twitter-searcher github.com/inf0rmer/backbone-dotattr