Diffia

Diffia

5 Followers
Maker of Nimble Clinic - a mobile app for clinicians at hospitals enabling on the fly additions to the EPJ

Decisions 5

Carl-Erik Kopseng

We used Mongo for the first iterations of our app, but the relational nature of our data was an awkward fit for a database that is not relational. We sorely lacked relational database integrity features that needed to be done on the application side (poorly) and it was a huge relief when we managed to port our application over to Postgres, which performs great and never gives us trouble, while having very user friendly extensions like JSON and PubSub that made the transition easy.

3 502.4K

Carl-Erik Kopseng

Prettier is fast and produces beautiful looking code for JS, JSX and more. We still use ESLint, do not get me wrong, but we do not use eslint's formatting rules features. By adding some nice Git commit hooks Prettier now takes care of this for us much better than we ever did using ESLint.

2 987

Carl-Erik Kopseng

This basically came down to two things: performance on compute-heavy tasks and a need for good tooling. We used to have a Meteor based Node.js application which worked great for RAD and getting a working prototype in a short time, but we felt pains trying to scale it, especially when doing anything involving crunching data, which Node sucks at. We also had bad experience with tooling support for doing large scale refactorings in Javascript compared to the best-in-class tools available for Java (IntelliJ). Given the heavy domain and very involved logic we wanted good tooling support to be able to do great refactorings that are just not possible in Javascript. Java is an old warhorse, but it performs fantastically and we have not regretted going down this route, avoiding "enterprise" smells and going as lightweight as we can, using Jdbi instead of Persistence API, a homegrown Actor Model library for massive concurrency, etc ...

1 360.3K

Carl-Erik Kopseng

We constantly hit snags that could have been caught by a proper type system, but TS just was not there in 2017. In late 2019 it finally had good support for functional programming constructs, such as those needed to describe HOC in React. Elm is great and probably a better choice when starting a fresh project than megaslow TypeScript, but when you already have 50 KLOC of source code written in JavaScript, using libraries such as Redux and React, you do not have that luxury.

1 3.8K