Get Lanyrd on your mobile (iPhone, Android and more) - check it out here

Sessions at Open Source Bridge 2009 about JavaScript

Your current filters are…

Wednesday 17th June 2009

  • Agile JavaScript Testing

    by Scott Becker

    h3. Intro
    * Test Driven Development - What is it, why do it, what are the advantages?
    * Challenges of web applications - browser quirks, asynchronous ajax, dynamic-ness of JavaScript language
    * Future VMs will run JS faster, making "bigger", more processing intensive apps possible within a browser
    * Traditionally web applications have most business logic running server side.
    * Testing for server-side web applications has matured over the past few years
    * AJAX applications have large amounts of code executing in the browser in JavaScript
    * This creates a growing need for testing at the browser level, but this area is still young and not as widely practiced

    h3. What do we gain?
    * Stable development - iterate without fear of breaking existing features
    * Easier refactoring - rewrite the guts of your app and be confident it continues to work
    * Speed - stop refreshing and clicking through your app to verify things are working, thats what computers are for
    * Automation - repeatable tests help you do the right thing every time, without having to think about it

    h3. Getting Started
    * What libraries and methodologies exist for JavaScript testing?
    * A simple example - a client-side form validation library and a suite of tests for verifying it works as expected

    h3. Going further
    * A complex example - integration testing, scripting user stories
    * Testing across multiple browsers
    * Incorporating JS tests into a larger development workflow with server-side tests
    * Continous integration - running tests automatically, every time you commit

    At 11:20am to 12:05pm, Wednesday 17th June

    Coverage note

  • Building Open-Source Desktop Apps with the Titanium Platform

    by Marshall Culpepper and Martin Robinson

    Titanium is a truly open-source alternative to Adobe AIR, allowing developers to use their existing knowledge of rich web application technologies – JavaScript, Python, Ruby, HTML and CSS – to build desktop applications.

    In this presentation, we will:

    • introduce the Titanium platform and the technology/people behind it
    • demonstrate the power and features of the Titanium API
    • look at WebKit's power with CSS3 transformations, slick canvas support, and built-in vector graphics
    • show the inherit reusability of code by combining JavaScript, Python, Ruby
    • go through creation of a simple desktop application from start to finish

    Attendees should have a decent understanding of HTML, CSS and JavaScript. Knowledge of Python and Ruby are optional. We will leverage a number of open source web libraries, mainly at high levels to demonstrate the best of breed technologies that are reusable in Titanium.

    At 1:45pm to 3:30pm, Wednesday 17th June

    Coverage note

Thursday 18th June 2009

  • Firefox Switchblade

    by dietrich ayala

    So, you've made a Firefox add-on. You've modified web page content, or added a button to the toolbar. But where to go next? What APIs and technologies are available to help your application or add-on surprise and inspire? And once you've got a great idea, how can you make the implementation fast, responsive and respectful of system resource constraints?

    I'll talk about tips, tricks and best practices for extending Firefox to the edge:

    • Create multimedia extravaganzas with the audio, video and canvas tags
    • Tight and polite integration of internet services into the browsing experience
    • Writing lean and performant code
    • Interacting with the host operating system
    • Busting out of the browser with standalone applications

    At 10:00am to 10:45am, Thursday 18th June

    Coverage note

  • Web Testing with Windmill

    by Mikeal

    h2[=approaches]. Web Testing Approaches

    Separating Concerns, Isolating Components
    Unittesting vs Functional Testing
    Full Monty (blurring the lines between unittesting and funcitonal testing)

    h2[=toolsAndTech]. Tools and Technologies

    Browserless tools (HTTP tools, Browser simulation, DOMless JavaScript Interpreters)
    Browser tools (Watir, Selenium, Windmill)

    h2[=writingTest]. Writing Windmill Tests

    Starting Windmill
    The Windmill IDE
    Using the recorder
    Adding actions and assertions
    Using the Inspector
    Serializing your test (Python vs JavaScript Tests)

    h2[=debuggingTests]. Debugging Windmill Tests

    Running tests
    Debugging Failed Actions
    Firebug and Firebug Lite
    Using the Lookup object

    h2[=runningTests]. Running Tests Continuously

    Command Line Features
    Hudson Plugin
    Getting Windmill running in hosted environments like EC2

    h2[=extra]. And now for something completely different

    Dynamic testing (Windmill's eval APIs)
    Testing Firefox Extensions (MozMill)

    At 5:00pm to 5:45pm, Thursday 18th June

    Coverage note