> We can also attribute the origin of this “JS revolution” to the release of ECMAScript 6
I'd disagree with this one. I feel that node+npm is the real launching point of the "JS revolution." Because it did something that hadn't come before. It allowed for modular, reusable code. At least once bundlers were available on the platform, AMD options and Browserify in particular. Which pre-dates and informs ES6 Module syntax, which still doesn't have very broad adoption. Though a lot of source uses ESM style while still relying on node/cjs convensions, which will probably adapt over time.
I think it largely comes down to a few different bits. Interest in more interactive engineering efforts on the client-side combined with in-language tooling that Node itself brought. Like a blacksmith, JS developers can actually make their own tools. npm allows unlimited sharing of these tools for reuse and optimization. Github rised around the same time and allowed for greater collaboration than ever before. In the end it has been a near perfect storm, so to speak. This has all lead to JS as "the one language to rule them all."
JS is not the best language at anything imho. But it's good enough for almost everything and thanks to npm and node, it's often the fastest to done option. These are the reasons why I will almost always push for the first version of everything be in JS/Node.
Absolutely... I'm actually surprised more service/database open-source software doesn't start off as AGPL for those reasons (re: MongoDB and Redis changes). In the end there are pluses and minuses around it all.
Libraries, and especially connecting client libraries for say databases, I feel very differently about and favor MIT or ISC (I like WTFPL, but lawyers don't like the implied lack of warranty and prefer explicit declaration.)
It isn't necessarily a negative, just pointing it out. A lot of devs work for companies that don't allow (A)GPL, or at least severely limit AGPL specifically depending on the environment. Was just pointing it out. :-)
With Redux (flux pattern), it's often in the context of a 1-way UI rendering/updating process, which simplifies larger applications a lot.
Also, what is described by handlers isn't so different in practice than more complex action creators that dispatch a new object that should replace the old in the state tree. And while not expressly immutable, shallow clones are often the preference.
The pattern described in the article in practice takes a *LOT* of coordination for anything beyond trivial. Also, at scale encapsulation (OO) patterns, especially with inheritance act a lot slower. You're actually better off having an action library that acts on objects over objects that act on themselves as a result (such as a game, for example).
It's worth looking at video game development, even if you aren't writing games for some examples here. Of course as with anything else, you will find more and less elegant designs in practice.
Worth noting that portions of this application are GPL/AGPL meaning you can not create internalized versions that have extensions that are closed source or internalized to your business.
You could create separate (closed services) that are separate and then keep the modifications on the open parts of the UI open in support.
Yeah, the directives (DSL == domain/document specific language).
I generally use connected router (recent upgrade in a project was fun) which abstracts a lot of it with Redux. Redux does add a bit of complexity, but that complexity scales incredibly well. Meaning once you understand the patterns, they're easy to repeat and grow features without more increases in relative complexity.
As to Vue, my issues are almost the opposite, I feel it would be very hard to scale to a larger app without relatively higher rates of additional complexity by comparison. Even the more modest apps I've worked on with Vue got to be murky in practice.
CSS in JS for Vue is kind of interesting, but similar issues in general surrounding theming.
Interesting... in the tech section, Linux beat out Windows and Docker is at 31% on its' own. Also, I'm surprised that 1:8 have used Firebase this past year.
Most wanted languages: Python, JavaScript, Go --- Rust took the top spot on most loved followed by Python and TypeScript
React is (of course) the most loved and wanted web framework, edging out Vue in both...
.Net Core tops most loved and Node most wanted under the "other..." category.
Redis and PostgreSQL top most loved DB
Linux, Docker, K8s top most loved platforms... Docker in most wanted spot.
VS Code top dev env
Most used OS, I'm surprised Linux is almost as high as mac for primary OS, windows is under 50% now.
38% using containers (Docker) at least for development.
Functional languages (Clojure and F#) top the salary chart, followed by Go...
The correlated technology map is super cool
[comment deleted]tracker1 2507 days ago. link 1 point ▲▼
Doesn't seem to be setup for modern front ends (spa), uses gulp instead of direct npm scripts. babel-env doesn't specify a minimum browser version (likely to load a lot of extra overhead).
The fact that this has a bower config pretty much lost me on "modern" anything.