7 ms·
Over the years javascript has really evolved into a multi-paradigm kitchen-sink of a language, and because of its nature and evolution, there really isn’t such
by adamkl 5y ago
Over the years javascript has really evolved into a multi-paradigm kitchen-sink of a language, and because of its nature and evolution, there really isn’t such a thing as “idiomatic” JavaScript or widely agreed upon approaches to architecting a system.
From what I’ve seen, the architecture of a particular Node.js system is highly dependent on experiences of the team members that first built it. It could a hexagonal/DDD using a framework like Nest.js (the Spring Boot of JavaScript) or take a more FP approach using Express and looking more like Clojure/Ring. More often then not though, Node.js applications lack any sort of predictable structure because for a lot of teams, JavaScript is their first, and only, experience.
Long story short, I’ve been doing Node.js for 5-ish years now, and I have yet to come across what you are looking for. Every team/codebase is a unique snowflake in some way. Your best bet is to leverage the experience you have in Java/Clojure because JavaScript will be able to support 90% of whatever approach you decide to use.