JavaScript, not just for interns.
#The JavaScript Developer's Toolchain Workshop# So what is this? It's a JavaScript Developer's Toolchain workshop that I'm giving (first run at the Rich Web Experience). The goal is simple: expose people to a set of tools that can make developing modern web applications easier. Here's the conference blurb:
##Conference Blurb## Back in the day, web developers had to rely on their wits and a plethora of alert statements - to say our toolkit was spartan would be an understatement. But with the increased importance of web front ends and the rise of JavaScript MVC frameworks, a modern web developer toolkit is finally emerging. We've evolved from text editors to full fledged IDE's with code completion and refactoring tools but our toolchain doesn't end there. With multiple testing libraries, mocking frameworks, test drivers and even code coverage tools, today's web developer gets to walk downhill on a sunny day.
In this workshop, we'll discuss the various tools that you can assemble into your own full fledged JavaScript development pipeline from code to deployment and more importantly, get them up and running on your machine.
##Prerequisites## Attendees are expected to have a laptop (or be very good at quickly making friends with someone that has one). On said laptop, you should have at least one (ideally multiple) modern browser:
In addition, you should have a text editor though you can certainly use an IDE if you wish but nothing will require that. Before the class, please clone this repository to some location on your hard drive.
Lastly, please install git on your machine (downloads here). This repo consists of a set of branches; being able to move from one branch to another may be very helpful should you get lost, fall behind or just have one of those days.
##Warning - Command Line Ahead!## Much of the work we will do in this workshop will center around the command line. If you aren't comfortable typing commands in to a prompt, you may wish to attend a different session, make a friend, or just follow along with the rest of the class. If you are on a Windows machine, you may want to use Console2 (download here), PowerShell or Cygwin.
##What We'll Cover## The Goal is simple: get you up to speed on what is possible in the JavaScript space today. This workshop isn't a deep dive on any one of these tools, the idea is to introduce each, get it installed and give some pointers to where to go for more. We will survey the field including:
- Node.js
- Grunt
- Jasmine
- Mocha
- Karma
- Phantom
- Sinon
- Istanbul
- JSHint
- Plato
- Uglify
##What We Won't Delve Into## This sessions is not intended as a deep dive on any of these tools. You won't walk out an expert on Node.js or Karma, but you will know how to install Karma on Node! Other things we won't delve into:
- Building applications on Node
- How to test JavaScript
- Mocking/stubbing etc JavaScript
- Testing ajax calls
- Integration testing of JavaScript MVwhatever apps
- Evaluate specific JavaScript MVwhatever frameworks
#Your Guide# For those that are curious about me, here's my bio:
Nathaniel T. Schutta is a software architect focussed on mobile and making usable applications. A proponent of polyglot programming, Nate has written two books on Ajax and speaks regularly at various worldwide conferences, No Fluff Just Stuff symposia, universities, and Java user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace dynamic languages. Nate is also doing everything he can to rid the world of bad presentations, he helped write a book on Presentations Patterns.
You can follow me on Twitter: @ntschutta
You can read my mostly dead blog: or check out my eventual reboot: