3 ms·
The version was: Angular 1.2.4 The problems in no particular order and what improved: * need to mess with gulp, and npm and their interaction vs. simply havin
by Licenser 11y ago
The version was: Angular 1.2.4
The problems in no particular order and what improved:
* need to mess with gulp, and npm and their interaction vs. simply having to deal with lein
* Dependency injection is a freaking mess to debug, and it lead to an incredible spaghetti code, clojure is quite clear about where which functions come from
* The split between service, view, controller, scripts, styles, filters, directives is adding to the nice noodle feeling of it, Om/cljs does not force a layout so it's possible to arrange things as works for you
* The dependency tree from npm was HUGE and included a bunch of unnecessary dependences which made it impossible to build the UI on our build servers so we had to include the 'compiled'/distribution results of it in the git repository. Lein projects split between development deps and production deps, so everything complies nicely and only what is needed for a release is included in it.
* The split between HTML/JS/in-html-code/in-js-html is a mess. With CLJS/Om we have all code and layout in s-expressions.
* 'Everything is a callback' is in my opinion a bad programming model, still some callbacks in CLJS but a lot less and the functional model of clojure makes it easier to deal with.
* Mutable state is a pain to deal with. While not entirely gone this is a lot less of a issue to deal with since it's exceptionally clear of what is mutable and what not, in most cases you only have to worry about function parameters that's it.