2. What is, and Why Rapydscript?
http://slides.com/atsepkov/rapydscript-3
3. What is Rapyd Framework?
Rapyd Framework is a Framework to build business web apps that can be run with or without a server,
offline capable (synchronization), or even a standalone client-side only app. The key components are:
- PouchDB database, which is native to Javascript (even on client-side,
https://pouchdb.com/adapters.html)
- ORM for PouchDB/CouchDB, designed to mimic Odoo’s ORM
- Progressive Web App (kinda) that only rely to RESTFul APIs and can be ran offline, either with
service worker or local PouchDB
- RapydScript in server-side (Node.js) and client-side, because Python's slogan "readability
counts" is true. We managed to build full-customized ERP based on customer's needs with
Odoo. But the performance is not good.
4. Why Rapyd Framework?
- Odoo nowadays isn’t supporting the community, you know, Flectra and stuff.
- Odoo is slow, in-fact, Server-side MVC Frameworks are always slower than separate PWA and
its RESTFul Webservices. In other words, we try not to load Menus and other UI Components
as a database record (Odoo does this).
- The ORM is designed to mimic Odoo's ORM, so if you're an Odoo Developer you'll be familiar
with all the logic and style
- Offline and Multi-master Sync (https://pouchdb.com/guides/replication.html), this is very
important in 3rd World Countries (sorry for saying this) or in disaster recovery scenarios. And
sometimes help performance too.
- Javascript’s JIT Compiler Performance. Google is very keen to improve V8 Engine Performance.
In this benchmark Node.JS is more faster than Python 3. (
https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=node&lang2=python3)
- Both server-side and client-side will have the same codebase, why? Because it'll save
development time. But isn't it unsecure? Yes and no, in fact you can actually set all code you
write to be executed only on server-side (with ajax ofcourse). The client-side execution is for the
offline feature (that should be revalidate on the server side).
5. How easy is it?
https://github.com/rafi16jan/rapyd-framework