SPA Conference session: Treating JavaScript like a full programming language

One-line description:Tools and experiences when working with the browser
 
Session format: Workshop (150 mins) [read about the different session types]
 
Abstract:With the advent of RIA platforms and the impetus of HTML5 and CSS3
the use of javascript behind the UI has changed from
validation and Animations to a full scale layer used retreive and process data.

We now treat it as a full programming language, so we should have tools and
processes that help us develop, test and deploy.

This session takes developers from a simple .js file in an HTML page to being able to
develop enterprise level JavaScript-based application identifying best-of-breed
tools for development and deployment. Reflecting on in the field experiences with these tools.

Attendees will produce a package and set up a development environment that will allow them to:
- Edit in an IDE with support for code completion, navigation and syntax higlihting
- Classload JavaScript files into the browser without having to write script tags for each class
- Unit test from within the IDE
- use mocking for easier testing of interfaces
- Test the UI across different browsers
- Structure the code using common patterns for better separation and testability
- Package the code for deployment so it loads as fast as possible
- Document the code so other developers know how to use it
- Have a build to run the code in continuous integration
 
Audience background:This is a developer focused workshop. It will appeal to people starting out with
JavaScript, but also to developers with JavaScript experience with the latest tools and in-the-field experiences.
 
Benefits of participating:- A fully working, best of breed development environment.
- Knowledge of JS development tools
- Reassurance that js development can be done in a professional, controlled way.
 
Materials provided:USB key with portable development environment and tools.
 
Process:People will work individually or in groups either: following the examples on
screen or from worksheets TBD
 
Detailed timetable: - 00:00 - 00:10 Introduction and goals
- 00:10 - 00:35 Set up eclipse. Load example project.
- 00:35 - 00:50 Set up JSTestDriver in IDE. Run a test in all browsers.
- 00:50 - 01:05 Use mock4js to mock an object and include in test
- 01:05 - 01:20 Set up Jasmin to write a BDD component test
- 01:20 - 01:40 Set up Selenium/Sahi to automatically test the code integrated with the DOM
- 01:40 - 01:50 Compile the code using Google closure to minimise for production
- 01:50 - 02:05 Run JSDoc to produce API documentation
- 02:05 - 02:20 Run an ANT build to do all of the above automatically
- 02:20 - 02:30 Wrap up and Conclusion
 
Outputs:Working development environment with best of breed tools.
Knowledge that js development is as easy as another language
 
History:New presentation for the conference
 
Presenters
1. Richard Chamberlain
Caplin Systems
2. James Turner 3.