+ All Categories
Home > Engineering > The New Frontend Toolchain

The New Frontend Toolchain

Date post: 05-Dec-2014
Category:
Upload: bruno-abrantes
View: 228 times
Download: 3 times
Share this document with a friend
Description:
An overview of the new exciting technologies used to build web-apps with ever increasing complexity.
23
The New Frontend Toolchain through which happiness can be achieved
Transcript
Page 1: The New Frontend Toolchain

The New Frontend Toolchainthrough which happiness can be achieved

Page 2: The New Frontend Toolchain

Hi, I’m BrunoAnd I write some Javascripts.

Hopefully you do too.

@inf0rmer

github.com/inf0rmer

Page 3: The New Frontend Toolchain

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, ...

Page 4: The New Frontend Toolchain

Don’t fear the CLI

Page 5: The New Frontend Toolchain

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

Page 6: The New Frontend Toolchain

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>

Page 7: The New Frontend Toolchain

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

Page 8: The New Frontend Toolchain

Coding is Social ™

Page 9: The New Frontend Toolchain

Coding is Social

• Source code management is non-negotiable

• Git works beautifully for working in teams

• What’s The Right Way?™

Page 10: The New Frontend Toolchain

Coding is Social ™

STOP COMMITTING TO MASTERIt’s bad, and you should feel bad.

Do it for the kittens.

Page 11: The New Frontend Toolchain

There were 5 of them, but you just had to push to master.

Page 12: The New Frontend Toolchain

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

Page 13: The New Frontend Toolchain

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

Page 14: The New Frontend Toolchain

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/

Page 15: The New Frontend Toolchain

Install Node

• nodejs.org has binary installers for most OSes

• You automatically get npm, the Node Package Manager

• Most cool stuff requires it

Page 16: The New Frontend Toolchain

Dependency Management

Page 17: The New Frontend Toolchain

Dependency Management

• Keeping tabs on 3rd-party libraries is a robot’s job

• Updates to libraries should not pollute your commit history

Page 18: The New Frontend Toolchain

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

Page 19: The New Frontend Toolchain

Dependency Management

• You can search for packages • bower search underscore

• Or even publish your own! • bower register <my-package-name> <git-endpoint>

Page 20: The New Frontend Toolchain

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

Page 21: The New Frontend Toolchain
Page 22: 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!

Page 23: The New Frontend Toolchain

Example time!And then we play the awkward “does anyone have any

questions” game.

github.com/inf0rmer/twitter-searcher

github.com/inf0rmer/backbone-dotattr


Recommended