Easy development of integrated state-of-the-art technologies, with boosted performance. BeyondJS
is a framework for building scalable, modular, single page web applications. BeyondJS integrates out-of-the-box, react, mustache, require.js, polymer, less, socket.io, and more.
BeyondJS
is not a framework that does everything by itself, it is a framework that integrates powerful existing technologies to create powerful applications.
BeyondJS
integrates out-of-the-box, react
, mustache
, require.js
, polymer
, less
, socket.io
.
BeyondJS
is evolving fast and it is actually open for evaluation. If after evaluating BeyondJS
you think that it can help you to build faster and better software, you can contact us, as we strongly believe that with our support you can take advantage now on BeyondJS
.
Otherwise, please stay tuned on the progress of the development of BeyondJS
or contribute with us with the development and feedback.
BeyondJS
is a JavaScript framework for building scalable and modular, single page web application that can be easily packaged and deployed on web and mobile.
BeyondJS
solves:
- Module bundler in a modular development environment. Modules encapsulate mixed resources (html, plain css, less, texts, js, react components, static resources as images and server-side code).
- Single Page and load on demand ready and easy thanks to
requireJS
AMD technology. Create modules, pages, controls and libraries that are loaded only when required, optimizing the performance and response times. Polymer elements and react components are also loaded on demand. - Realtime ready.
BeyondJS
is based on websockets thanks to socket.io. - Server. With
BeyondJS
you do not require a server to develop, BeyondJS is a server. In development, BeyondJS compiles your modules on the fly. - Builder.
BeyondJS
compiles and prepares your modules to deploy your applications in your production environment. Modular programming means, among other things to be able to develop your client code and your server code together. Not as two different things. But, once we want to deploy to production, we want our static resources separated from the server side code, in a way that we can distribute our client side resources in flat servers, even better on a CDN infrastructure, and the server code in a datacenter with servers prepared to support the required processing load. - Offline ready. HTML5 Offline capabilities are great! And
BeyondJS
takes advantage on that.BeyondJS
automatically creates the offline manifest. When your application is navigated on the web, it will load its resources on demand, but in parallel, the entire application will be downloaded in background. Once the application is downloaded, all its resources will be loaded locally. - Multilanguage support. Applications and libraries can be configured to support multiple languages. Applications and libraries will automatically be compiled in different deliverables, one per configured language.
- Client side rendering.
BeyondJS
supports out-of-the-box,mustache templating
,react
andpolymer
to help you build incredible user interfaces very quickly with manteinable code. - Polymer and React working together: These two incredible technologies can work together and are ready to be used very easily with no extra setup, and ready to be compiled to production environments without to think on grunt, or webpack.
- Create incredible Apps thanks to Polymer. Polymer has a set of beautiful web components that will help you create cool interfaces very fast.
- Phonegap ready:
BeyondJS
was designed to develop applications to be compiled both on phonegap, and for the web. - Libraries & Plugins supported:
BeyondJS
can serve multiple applications and multiples libraries. Applications can import the libraries that they use.
The way to get started is by installing BeyondJS
with node
and npm
.
Install node and npm if not already on your machine.
npm install -g beyond
In BeyondJS you develop your code by defining modules. Modules are encapsulated code of mixed resources and are loaded on demand. You can build modules with plain code or render pages and components. Both pages and components can render polymer and/or react components.
Modules in BeyondJS
are located in directories. Modules are referenced by their paths relative to the root of your application.
The following module will be navigated in the url /welcome and will append a simple div with the text "Welcome to my first module".
While developing with BeyondJS
, you do not have to worry about packing your resources, BeyondJS
will dynamically load your welcome module when the /welcome url is navigated, BeyondJS
will pack your module on demand.
module.json
{
"page": "/welcome",
"code": {
"html": {
"files": ["welcome.html"]
},
"txt": {
"files": ["texts.json"]
}
"js": {
"files": ["my-module.js"]
}
}
}
welcome.html
<div class="welcome">
<div class="message">{{message}}</div>
</div>
texts.json As you can see below, the texts on this module are specified in english. You can add other languages very easily.
{
"en": {
"message": "Welcome to my first module"
}
}
my-module.js
function Page() {
"use strict";
var $container;
this.show = function (state, done) {
if (!$container) {
var html = module.render('welcome', module.texts.message);
$container = $('<div />').html(html);
$('body').html($container);
}
if (done) done();
};
this.hide = function () {
$container.hide();
};
}
Just run beyond in a terminal console.
beyond
You can download and explore our Get Started repository.
More detailed information here.
The main purpose of this repository is to continue evolving the BeyondJS
core, making it faster and easier to use. If you're interested in helping with that, then keep reading. If you're not interested in helping right now that's ok too. :) Any feedback you have about using BeyondJS
would be greatly appreciated.
The process to test BeyondJS
is built entirely on top of node.js
, and libraries that you are probably already familiar with.
Once you have the repository cloned, testing a copy of BeyondJS
is really easy.
# mocha is needed for the test; you might have this installed already
npm install -g mocha
mocha test/**