https://github.com/pb82/asteria
JavaScript environment (v8 based) for concurrent applications
https://github.com/pb82/asteria
Last synced: about 1 year ago
JSON representation
JavaScript environment (v8 based) for concurrent applications
- Host: GitHub
- URL: https://github.com/pb82/asteria
- Owner: pb82
- License: mit
- Created: 2012-06-14T19:09:14.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2012-07-03T20:46:19.000Z (about 14 years ago)
- Last Synced: 2025-01-21T13:08:32.970Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 7.26 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.txt
- License: LICENSE
Awesome Lists containing this project
README
OVERVIEW
--------
Asteria provides a simple scripting environment based on Google's
v8 JavaScript Engine.
At the moment Asteria is an experimental effort by it's author in order
to learn using v8. However it already provides the following
features:
* A 'require' based module system as specified by CommonJS.
(http://www.commonjs.org/).
* Very easy expandability either by writing modules in JavaScript or
in C++. Have a look at the shipped modules for examples.
* A simple concurrency model based on OS-processes and message passing.
(see the Examples)
* CoffeeScript compiler included, so the scripts can also be written
in CoffeeScript without any drawbacks.
(http://coffeescript.org/)
* A focus on shellscripting (in JavaScript or CoffeeScript).
Note that:
* Asteria's concurrency is not exactly light-weight with every
spawned process running it's own instance of v8 (and thus
consuming around four Megabytes of RAM).
* Implementation of the CommonJS Standard is far from complete.
* The shipped set of libraries is small and the libraries
are incomplete. But it is of course possible to use CommonJS
compliant third-party libraries.
* There are certainly a lot of bugs around ;)
INSTALLATION
------------
At the moment Asteria does only run on i686 and x86_64 Linux Systems.
It has been tested on Arch and Debian boxes.
Dependencies (other than the included):
* libboost_thread (>= 1.42.0.1)
* libreadline-dev (>= 6.1-3)
The current build process is rather primitive:
* make
* (sudo) make install
* make test (optional, runs some simple tests)
The binaries of Google v8 and Google protobuf are included. Libraries
will be installed in /usr/local/lib/asteria and executables in
/usr/local/bin. Modules will be installed in /opt/asteria/modules.
UNINSTALL
---------
* (sudo) make uninstall
IDEAS FOR FUTURE RELEASES
-------------------------
* ARM support.
* Foreign Function Interface.
* Make concurrent.spawn network transparent.
* Documentation.
* http server.