Skip to content

Instantly share code, notes, and snippets.

@searls
Created August 12, 2011 16:10
Show Gist options
  • Save searls/1142378 to your computer and use it in GitHub Desktop.
Save searls/1142378 to your computer and use it in GitHub Desktop.

Sustainable Web Development with JavaScript & Jasmine

Abstract

JavaScript has finally come of age, and there's a world of opportunity available to those willing to start taking it seriously. If you choose to participate in this workshop, you'll be introduced to JavaScript testing with Jasmine, and upon its conclusion you can expect to be one step closer toward:

  • Relying on automated tests to write clean code that achieves significant functionality while remaining easy to change and grow with confidence (think AJAX, event handling, jQuery, and more)
  • Discovering powerful new tools that have the potential to revolutionize your perception of writing software with JavaScript (like Underscore, Backbone, CoffeeScript, and Node)
  • Building a respect for JavaScript as a powerful, enjoyable language that's more than capable of helping you deliver full-blown applications via web browsers

Full Description

For the majority of the web's life, developers and software companies have identified themselves by the server-side technologies and frameworks they employ to deliver dynamic content to web browsers (.NET & ASP, Java & Struts, Ruby & Rails, etc.). But that distinction is rapidly losing its significance.

Due to the vigorous adoption of HTML5 and the rise of the mobile web, dynamic content alone is no longer enough. Users have become accustomed to dynamic interfaces on the web as well. And the only language available to deliver those rich interactions? JavaScript.

Because JavaScript has been both ubiquitous and tangential for so long, it's often perceived as the lowest common denominator of languages. Everyone knows just enough to add some flair or a little AJAX, but only recently has the suggestion of a real application written entirely in JavaScript gone mainstream. Anyone holding onto the negative first impression that many of us had with JavaScript risks falling behind the curve as the modern dynamic web experiences continue to gain momentum.

In fact, JavaScript-dominant applications have become commonplace. And to remain competitive, developers need to be accustomed with the practices and tools they'll need to confidently write sustainable applications with JavaScript, just like they did for the server-side technologies that they mastered in the past.

In agile software development, we gain the confidence to grow and change applications by specifying every piece of our code with executable tests. And Jasmine, a library for testing JavaScript, has emerged as a terrific tool to facilitate the test-driven development of web applications.

This workshop will set out to equip participants with an actionable understanding of how to get started with test-driven development in JavaScript, for both new and existing projects. It will expose them to new libraries and approaches to increase the readability and maintainability of their code. Finally, it will introduce tools and approaches for incorporating many software craftsmanship practices originally popularized with server-side technologies in mind.

Before the course begins, we'd ask you to consider:

  • If you're new to test-driven-development, read a little about it to gain familiarity with the idea and core concepts so that you can focus on putting it into practice with Jasmine.
  • If you have an existing JavaScript codebase that's grown unruly or difficult-to-change, please bring it with you! On the second day of the workshop, we'll try our hand at using Jasmine to safely clean up and change previously untested real-world code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment