Latest Live Episodes
A Cross-Browser Test SuccessWed, 20 May
We want our page to exactly match the width of our viewport, so we write a test to confirm that it does. After we update our CSS, everything passes… except IE. Our tests have caught a genuine cross-browser CSS issue! We figure out how IE is rendering the page differently, fix it, and finish up our logo test.
Cross-Browser CSS TestsMon, 18 May
Our initial CSS testing experiment excluded IE 8 for simplicity, but Quixote, our new CSS testing tool, does support IE 8. We remove the IE 8 short-circuit from our tests and implement a workaround for the way IE 8 reports colors. With that done, we have tests that check CSS rendering on everything from IE 8 to Mobile Safari.
Installing QuixoteWed, 13 May
We’re updating our CSS tests with Quixote, the open source library spawned by our original CSS testing experiment. We install Quixote, configure it to work with Karma, and migrate the first of our original CSS tests to use it.
Front-End Frameworks: Ember.js (Part III)Fri, 1 May
We wrap up our exploration of Ember.js by building out custom form fields, setting up events and cross-application communication mechanisms, and dealing with performance. In the end, is Ember.js a good choice for your front-end applications? We decide.
Front-End Frameworks: Ember.js (Part II)Fri, 3 Apr
We continue our investigation of Ember.js with a look at its influence on design and architecture. We build out our stock market projection components and hook them up to our intentionally-quirky domain layer. How easily does Ember integrate with existing business logic, and what does it take to test an Ember component? We find out.
Front-End Frameworks: Ember.js (Part I)Fri, 6 Mar
Ember.js is a framework for, in their words, “ambitious web applications.” But is it going to cause more trouble than it’s worth? We start a two-part deep-dive into Ember. In this episode, Ember fundamentals. We look at a “Hello World” app, components, modularity, testing, and the challenges of escaping Ember’s assumptions.
An in-depth screencast about
I will be using it as *the* goto reference for
any JS development for some time to come.
It has the right number of details that you don’t get by
reading book but only working with exceptional people.
I like the variety of technologies used and the
complete integration of them shown together.
I like seeing *all* aspects of the development:
the dead ends, the surprises, the wins, etc.
Quality is excellent, and I love that I can
download them and not have to stream them.
What is Test-Driven Development?
Who am I?
I’m James Shore. I’ve been building applications using test-driven development and other Agile techniques for over 13 years. I’m a recipient of the Agile Alliance’s Gordon Pask Award for Contributions to Agile Practice and I wrote a book called The Art of Agile Development.
What You Get
This screencast series focuses on rigorous, professional web development. That means test-driven development, of course, and also techniques such as build automation, continuous integration, refactoring, and evolutionary design. We support multiple browsers and platforms, including iOS, and we use Node.js on the server. The testing tools we’re using include NodeUnit, Mocha, expect.js, Karma, and PhantomJS.
All videos are DRM-free, viewable on the web and downloadable, and all source code is included.
The “Live” Channel
The series consists of three main channels. “Recorded Live” episodes are a live recording of an application as it’s developed, with commentary. I edit out dead-ends and time spent in research so each episode is focused and meaningful. Each “Live” episode is about 15 minutes long and comes out twice per week, on Monday and Wednesday.
The application itself is a real-time multi-user drawing application, developed from scratch and continually enhanced in each episode.
In addition to the “Live” episodes, you also get a special “Lessons Learned” or “The Lab” episode every month.
“Lessons Learned” episodes are for people wanting a refresher, a quick reference, or who simply want to catch up. They provide a distilled look at a specific topic, such as automating Lint, testing a Node.js server, or automating cross-browser testing.
“The Lab” is about exploration and experimentation. These episodes examine topics that don’t fit into the other two channels.
I have learned so much more than I expected.
I really enjoy your approach to screencasting and
wish the series wouldn’t end some day.