-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.html
88 lines (66 loc) · 3.23 KB
/
install.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
---
layout: default
title: Installation
---
# Installing AtomizeJS
## Components
AtomizeJS is made up of several components:
* Client-side libraries. These must be `<script/>`-included in your
HTML:
* [SockJS client](https://github.com/sockjs/sockjs-client)
* [cereal.js](https://github.com/atomizejs/cereal/blob/master/lib/cereal.js)
* [compat.js](https://github.com/atomizejs/atomize-client/blob/master/lib/compat.js)
* [atomize.js](https://github.com/atomizejs/atomize-client/blob/master/lib/atomize.js)
* 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](https://github.com/atomizejs/atomize-server-node):
The NodeJS server. This itself depends on atomize-client, cereal and
[sockjs-node](https://github.com/sockjs/sockjs-node).
* [atomize-client](https://github.com/atomizejs/atomize-client): The
AtomizeJS client library. This depends on
[sock.js](https://github.com/sockjs/sockjs-client) and cereal.
* [cereal](https://github.com/atomizejs/cereal): This is just an
object serialisation library.
* [atomize-examples](https://github.com/atomizejs/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][translate] 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][V8]. Using the default version of [V8][]
that comes with [NodeJS][] is fine, and will work, but will require
you use the [translation tool][translate] 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][translate], then you'll need
to prepare NodeJS with a more recent version of V8:
1. 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](https://launchpad.net/~ilya-novoselov/+archive/hemi/+packages).
2. Download the latest [NodeJS](http://nodejs.org/#download) source.
3. Unpack it.
4. `./configure --shared-v8`
5. `make`, `make install` as usual.
6. `npm install atomize-server`
Then, when starting node, do so as:
node --harmony-collections --harmony-proxies app.js