endpointjs
v0.4.1
Published
Endpoint.js enables modules within a web application to discover and use each other, whether that be on the same web page, other browser windows and tabs, iframes, servers and web workers in a reactive way by providing robust discovery, execution and stre
Downloads
3
Maintainers
Readme
Endpoint.js v0.4.1
Endpoint.js enables modules within a web application to discover and use each other, whether that be on the same web page, other browser windows and tabs, iframes, servers, web workers and processes in a reactive way by providing discovery, execution and streaming interfaces.
A robust ad-hoc application network, enabling multi-hop communication across any topology, including browser windows, tabs, web workers, web servers, processes, and peer-to-peer
Increased application performance, allowing easy off-loading and routing of complex processing to background workers, processes or browser tabs
Develop Here, Deploy There: Develop to uniform APIs, reducing deployment and integration details to a configuration exercise
Built-in security features enables fine-grained control over movement of data
How do I use it (aka "Documentation")?
Take a look at our Basic Usage, Configuration Guide, API at a Glance, Advanced Usage, Security Guide, read the suggested integration document, or check out the Architecture Diagram.
Build
You must have node.js, npm and grunt-cli installed before building Endpoint.js:
npm install -g grunt-cli
To build Endpoint.js, use the following:
npm install
grunt production
The output files will be placed in dist/ folder. To build plugins, use the following command:
grunt plugins
To build the documentation, use the following command. The files will be placed in dist/jsdoc/ folder. In addition, a markdown file of all the markdown documentation will be placed in dist/endpoint-docs.pdf.
grunt docs
To run unit tests (with chrome only for now), use the following command. Coverage reports are in reports/coverage:
grunt test
To run integration tests (with chrome only for now), use the following commands. Logs are in reports/wdio:
grunt integration-setup
grunt integration
Examples
To run the demos, use the following on the command line:
npm install
grunt demo
Open up a browser to one of the following examples:
- General Demo (Contains Sidebar, Map, and a simple 'Plot point' widget)
- API Example, including Stream
- Distributed Chat Example port 8282 and port 8283
- WebRTC Example
- Worker Pool Example
- Cross Origin (Plugin 1 at port 8282) and (Plugin 2 at port 8283)
- Child Facade Example
- Authorization Example using child facades
- Node.js Child Process Example
Additionally, an example of Endpoint.js being run on the express server is provided in examples/app.js.
Contributing
All pull request contributions to this project will be released under the Apache 2.0 or compatible license. Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.
Getting Support
Our team is working to add a website and mailing list. In the meantime, you can create an issue.
Compatibility
Endpoint.js is verified compatible with IE8+ and Firefox 3.6+. Chrome in general is supported.
If you want to use console on IE8, you must include the following ES5 shims:
https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.1.13/es5-shim.min.js
https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.1.13/es5-sham.min.js
You must also include the following on IE8 and certain versions of Firefox:
https://cdnjs.cloudflare.com/ajax/libs/json2/20150503/json2.min.js
Copyright and Legal
(C) 2016 Booz Allen Hamilton, All rights reserved
Powered by InnoVision, created by the GIAT
Endpoint.js was developed at the National Geospatial-Intelligence Agency (NGA) in collaboration with Booz Allen Hamilton. The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions.
This documentation uses icons designed by Freepik.
License
Licensed under the Apache License, Version 2.0