opensoul.org

The Plight of Pinocchio: JavaScript's quest to become a real language

JavaScript is no longer a toy language. Many of our applications can’t function without it. If we are going to use JavaScript to do real things, we need to treat it like a real language, adopting the same practices we use with real languages.

This framework agnostic talk takes a serious look at how we develop JavaScript applications. Despite its prototypical nature, good object-oriented programming principles are still relevant. The design patterns that we’ve grown to know and love work just as well in JavaScript as they do any other language. Test driven development forces us to write modular, decoupled code.

talk May 16, 2012

6 Comments

  1. Luke van der Hoeven Luke van der Hoeven May 16, 2012

    Good talk, but the scripty font is hard to read. I’m sure it would be even worse on a projected screen from a distance.

  2. Luis Vasconcellos Luis Vasconcellos May 16, 2012

    This is just amazing. JavaScript really should be taken more seriously now, and I agree with your examples, Jasmine and Backbone are the way to go.

  3. Jøran Lillesand Jøran Lillesand May 18, 2012

    Great presentation!

    Personally I favour ‘full stack’ JavaScript tests (mocking the server using something like Sinon) over full integration tests, but I guess that might be a personal preference. For some applications integration tests would require loads of setup, so whether it would be worth it is debatable.

  4. Brandon Keepers Brandon Keepers May 19, 2012

    Luke: thanks for your feedback. I tried to keep the use of the scripty font to a minimum. I didn’t think it detracted from the presentation too much, but thank you for letting me know that you didn’t appreciate it.

    Luis: thanks! I don’t love backbone, but it’s better than nothing.

    Jøran: For clients that are using a well definted API, I agree. But most apps tend to have a very ad-hoc API that changes based on the needs of the JavaScript client. In my limited experience, it seems easier to just hit up against the real server in this case. The additional benefit is that the server and client use the same integration tests.

  5. Jim Newbery Jim Newbery June 1, 2012

    Great slides, Brandon. You’ve gone and made a similar talk to one I’m preparing for ScotlandJS later this month about outside-in TDD & BDD for Backbone. I promise not to steal your slides, although I may quote you on a couple of things if you don’t mind :-)

  6. Brandon Keepers Brandon Keepers June 5, 2012

    Jim: I don’t mind at all. Best of luck on your talk!

I am Brandon Keepers. I build Internet things, usually with Ruby or JavaScript. I work at GitHub and live in Holland, MI.

Popular Posts