Run Your Javascript Everywhere, with Jellyfish.

*
Accepted Session
Long Form
Scheduled: Wednesday, June 22, 2011 from 10:00 – 11:45am in B301

Excerpt

In a world where Javascript is everywhere; your browser, server, database, mobile device -- you want and need code reuse to speed up development. In order to do this, you need to know that code works in all the environments you care about.

Jellyfish is a node project focused on provisioning different environments and making it easy for you to execute your JS and get the results.

Description

Introduction

We want to believe that every Javascript environment runs code the same way, but that just isn’t the case — and until now, there was no easy way to find out.

Currently the most popular place for Javascript to break is in browser environments, but there is a growing urgency for mobile environments and the server side.

History

At OSCON in 2007 we announced Windmill, designed to launch browsers and simulate users. User simulation in the browser is awesome and useful — but now it’s more important to be able to run all that JS logic that we care about so much. This spawned a complete re-thinking of the problem.

Architecture

Jellyfish is a node module, which knows how to initialize the environment you need, facilitating a communication channel to tell it what to do. However, the best way to understand how the system works is best done with a giant awesome looking graphic, which I will be happy to provide and walk through.

Setup

How do you get Jellyfish setup to run that first ‘hello world’? It’s easy, let’s all do it together.

Do things better

Remember how all the testing tools out there try to either proxy the entire internet, or move all their logic away from Javascript and onto native operating system code? Yeah, there is a better way to do that — I think you’ll like it.

Reporting

With one line of code, you can post everything your jellyfish scripts do and their results into couchdb, let’s talk about how to make that happen, and what you can do with those results.

The future

I’ve had requests for environment support for Adobe Air, Ruby Racer, and Web OS — lets talk about what the development plan is for Jellyfish.

THANKS!

Jellyfish is fully Open Source software hosted on Github, and I would be happy to take your patches!

For more awesome, check out http://jelly.io.

Speaking experience

Speaker