A framework for building
scalable, modular, single page web applications.
One Framework - Multiple Technologies

Easy development of integrated state-of-the-art technologies, with boosted performance, 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.

Mobile and Desktop

BeyondJS is a JavaScript framework for building scalable and modular, single 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.
  • Multilanguage support. Applications and libraries can be configured to support multiple languages.
  • Client side rendering. BeyondJS supports out-of-the-box, mustache templating, react and polymer to help you build incredible user interfaces very quickly with manteinable code.
  • Polymer and React 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 think on grunt or webpack.
  • Create incredible Apps thanks to Polymer which 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.

BeyondJS is evolving fast

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.

Contribute

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.

You can get the latest version from the repository on GitHub.


Install BeyondJS

The way to get started is by installing BeyondJS with node and npm.

copy
npm install -g beyond

A simple working example can be found here.

The Concept

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.

Structuring your Applications in Modules

A Basic Module:

module.json
copy
{
  "code": {
    "html": {
      "files": ["welcome.html"]
    },
    "txt": {
     "files": ["texts.json"]
    }
    "js": {
      "files": ["my-module.js"]
    }
  }
}

welcome.html
copy

<div class="welcome">
    <div class="message">{{message}}</div>
</div>

texts.json
copy
{
  "en": {
    "message": "Welcome to my first module"
  }
}

my-module.js
copy
function MyModule() {

   this.render = function () {
       var html = module.render('welcome', module.texts);
       var $welcome = $(html);

       $('body').append($welcome);
   };
}
Running BeyondJS

Just run beyond in a terminal console.

copy
beyond
How To Get Started

You can donwload and explore our Get Started repository.

For more detailed information click here.

Testing Your Copy of BeyondJS

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.

copy
# mocha is needed for the test; you might have this installed already
npm install -g mocha
mocha test/**