Installing AtomizeJS
Components
AtomizeJS is made up of several components:
Client-side libraries. These must be
<script/>
-included in your HTML:Server. Currently, the AtomizeJS server is written in JavaScript for NodeJS. You should be able to install it with nothing more than
npm install atomize-server
.
Repositories
- atomize-server-node: The NodeJS server. This itself depends on atomize-client, cereal and sockjs-node.
- atomize-client: The AtomizeJS client library. This depends on sock.js and cereal.
- cereal: This is just an object serialisation library.
- atomize-examples: Some examples and tests for AtomizeJS.
Requirements
Client Requirements
AtomizeJS is currently still fairly alpha, but does work on Chrome (not sure what's the earliest version it works with, but 17 onwards is fine), Firefox (again, anything fairly recent should be fine), Safari (5.1 is fine, not sure about earlier versions), Internet Explorer 9, and Opera (11.6 is fine).
For browsers which support bleeding edge features of the JavaScript Harmony project (i.e. Chrome 17 or better or Firefox 8 or better), AtomizeJS can take advantage of those features directly. For other browsers, there's a tool provided that does a JavaScript translation so that older browsers can work with AtomizeJS.
Optional
If you are using Chrome 17 or better, and wish to take advantage
of newer experimental JavaScript features wiht AtomizeJS, then you
need to start Chrome as: google-chrome --js-flags="--harmony"
Server Requirements
Currently, the only AtomizeJS server requires NodeJS. NodeJS uses the V8 JavaScript engine. Using the default version of V8 that comes with NodeJS is fine, and will work, but will require you use the translation tool if you write server-side transactions with AtomizeJS.
Optional
As with Chrome, if you want to use the experimental features of JavaScript directly with AtomizeJS on the NodeJS server side, and thus avoid using the translation tool, then you'll need to prepare NodeJS with a more recent version of V8:
- Install the latest V8. You need at least version 3.7. If you're on Debian/Ubuntu then the easiest route is to grab and install the packages from this PPA.
- Download the latest NodeJS source.
- Unpack it.
./configure --shared-v8
make
,make install
as usual.npm install atomize-server
Then, when starting node, do so as:
node --harmony-collections --harmony-proxies app.js