4 ms·
Technical details, for those so inclined: the software is written in ClojureScript (compiled to highly optimized JavaScript) on the client side, using React.js
by ultrasounder 9y ago
Technical details, for those so inclined: the software is written in ClojureScript (compiled to highly optimized JavaScript) on the client side, using React.js for user interface updates, and Clojure on the server side, running in a JVM (Java Virtual Machine). It uses the RethinkDB distributed database for data storage.
Interesting choice of Tech stack. Care to explain why you went with Clojure backend and ClojureScript for react on the Front end instead of much more traditional choices?
- jwr 9y agoThose are very pragmatic choices. I don't think I could a) tackle the complexity and b) achieve the performance I wanted without Clojure and ClojureScript. RethinkDB is used for two reasons: 1. It's the only database that provides changefeeds that I need to implement real-time updates for users. Complete changefeeds, as in: get an initial state and then updates. 2. I wanted to easily solve replication, fault-tolerance and scalability, RethinkDB gets all of them right, at least for the levels of scalability that I require.
- ultrasounder 9y agoGreat answers!. Thanks to You I learnt a new tech-stack today and cant wait to try it out. I also am an EE Btw, and I wish my Purchasing person had tools like these available to them to do better production planning back in the days which was like 5 years ago !
- dankohn1 9y agoAs someone involved in re-licensing RethinkDB and finding a new home for it at the Linux Foundation, I'm thrilled to hear your use case. https://www.cncf.io/blog/2017/02/06/cncf-purchases-rethinkdb-source-code-contributes-linux-foundation-apache-license/ https://www.cncf.io/blog/2017/02/06/cncf-purchases-rethinkdb...
- jwr 9y agoThank you for your work! I think RethinkDB is underappreciated and undervalued, mostly because people tend to act based on hype and seasonal fads. RethinkDB brings down the cost of developing apps with real-time push updates to manageable levels. Similarly, there is no other distributed database out there that can be deployed so easily.