Embedthis Ejscript™ Features
The Ejscript product includes the following components:
- Ejscript Compiler
- Ejscript Shell Interpreter
- Ejscript Module Manager
- Ejscript Virtual Machine
- Ejscript System Library
- Ejscript Web Framework Library
- Documentation
- Samples
- Source code
Feature Overview
JavaScript Language
- ECMA-262 JavaScript
- ECMA-357 E4X XML
- Modules and Namespaces
- Classes and Interfaces
- Optional type annotations
- Strict and standard mode
- Proper block scope
- Bound methods
Web Framework
- Model / View / Controller Web Framework
- High performance web server Host, Request, Response interface
- Templating engine
- Integrated SQLite database and ORM
- Ajax controls with integrated jQuery support
- Suite of data-binding view controls
- Integrated SQLite database
- Application generator
- Database migration support
- Integrated local Appweb web server
- Session and flash inter-request state management
Virtual Machine
- High performance C VM
- Generational garbage collector
- Slab based object allocation for very fast object creation
- Very compact, high level byte code designed for data intensive applications
- Early binding code generation
- Extensible native class interface for creating native types
Extensive System Library
- Web server hosting: Host, Request, Response
- Web Framework: Model/View/Controller
- SQL database and ORM layer
- HTTP and SSL
- Sockets
- Path, File System, File I/O
- Streams, BinaryStream, TextStream, StringStream
- Events and Timers
- Database (SQLite)
- Native JSON parser
- Enhancements to the core classes: Array, Object, String
Embeddable and Configurable
- Configure program to tailor builds from source code
- Build configuration settings available to script programs
- Conditional compilation for scripts
- Support for ROM based programs and XIP
Development Tools
- HTML documentation generation
- Symbolic assembler listings
- Command shell interpreter
- Stand-alone optimizing compiler
- Web framework application generator
Modular
- Compiler generates module files with automatic module dependency handling
- Ability to load script and binary modules at run-time
Extensible
- Create new types and modules via scripting
- Easy to extend via native classes
Source Code
- Clean, modular commented source code
- Documentation for source code
- Cross-platform and portable
Platform Support
- Linux (2.4, 2.6: Ubuntu, Fedora)
- Windows (XP, Vista, 7, 8)
- MAC OS X (Leopard, Lion)
- VxWorks (5.4, 6.X)
- FreeBSD
Documentation
- Script API documentation
- C VM API documentation for creating native classes
- Samples
- Tutorials