Rise 2.0 Technical BackgroundRise is being developed using
Node.js for the application backend, Go and shell scripts for the server, through
Dokku and
Docker.
Node.js was selected because of its highly efficient concurency model, due to the nature of Javascripts evented model.
The database in use is
MongoDB. MongoDB was selected based on the NodeJS application development framework that has been selected for use,
Meteor.
The Meteor framework uses a SocksJS based data protocol layer called the Distributed Data Protocol (DDP). This protocol was designed by the Meteor Development Group to be a highly scalable, fast, and low latency distributed data protocol.
Dokku and Docker were selected because of its functional ability to create entirely separate application environments through the use of
LXC containers in Linux. A Dapp written in any language will be sandboxed by the LXC containers, exposed to the World only on port 80 by default, and will connect to the primary Rise Node application on that server through internal networking.
React is a Javascript View (from MVC) library. It utilizes a Virtual DOM with Differential updates to make changes to the page, and controls data flow with one-way reactivity. If the model changes, the view will update to change. It also uses Components to template web pages, making complex application UI development streamlined. React's use of a Virtual Dom with Differentials updates allows changes to the UI to be made quickly on a user's click. Instead of having to rerender the entire page, we can rerender just the parts that need updating.
Rise 2.0 Technology Stack ElementsLearn more about each element of the technology stack of Rise 2.0 mentioned above by following the links below:Node.js
http://www.nodejs.orgMongoDB
http://www.mongodb.com/Meteor
https://atmospherejs.com/meteor/ddpDokku
http://dokku.viewdocs.io/dokku/Docker
https://www.docker.com/LXC
https://linuxcontainers.org/React
https://facebook.github.io/react/For a complete overview of technologies and tools used in the development of Rise 2.0 go to:
Rise 2.0 White Paper https://github.com/RiseVision/Documentation/blob/master/whitepaper.mdDeveloper tool list http://forum.rise.vision/topic/77/dev-team-tools-and-workstation-configurations