Awesome
Example WWW applications for top, using ghcjs.
Applications:
- chat (live version)
- Simple chat application, developed using ghcjs-dom
- ui (live version).
- Generic UI for top, shows existing channels and types, developed using react-flux.
GHCJS setup
Some versions of stack
do not build ghcjs
correctly so upgrade to the latest stack
:
stack upgrade
Then to setup the ghcjs environment:
stack setup
This is going to take a looong time but needs to be done only once.
If you get an error similar to this:
user error (The package 'Cabal' requires Cabal library version -any && >=1.10
but no suitable version is installed.)
Get the very latest stack
from github, and retry:
git clone https://github.com/commercialhaskell/stack.git;cd stack;stack build;stack install
Development
To automatically recompile the code of one of the applications, after every change, for example for the ui
app:
cd www/ui
make dev
You can then open and use locally the apps in your browser:
chat
atwww/chat/index-dev.html
ui
atwww/ui/index-dev.html
Deployment
To produce a final, optimised version, ready for deployment on a web site.
First of all, install the closure compiler:
npm install closurecompiler -g
Then:
cd www/ui
make
You can then upload the app's www
subdirectory to any web site and access the app via the index.html
file, for example: quid2.org/app/ui.