In reply to Ryan McCue.

@ryan, if by “we made a decision” you mean this post – https://make.wordpress.org/core/2017/05/24/javascript-chat-summary-for-may-23rd/ then maybe it is my english but I fail to see any actual decision there about anything related to the hook system. molecularity is nice etc etc, but the “inter-process” like communication is the core of the problem, and if it has been decided upon, then please share the link.

By doing so, we end up with our own bespoke JavaScript framework that someone has to maintain. We don’t have a great history of this; for a while, the media library was completely unmaintained because no one understood it.

No disrespect intended, but this sounds like core contributor do not know how to write a maintainable JS code. The problem is not realy with them, the problem is with JS being a lisp like language and it is hard to avoid falling into the traps of dynamic inheritance, function assignment etc etc which people that are too clever for their own good fall into.

The original media library was bad? the current one is as bad (even weston had to ask for help for the media widget) and the customizer code is also unreadable.

Focusing on a framework remind me the old saying about the dancer and the floor. Core needs to first define the API it wants to expose at JS level, and once it is done the framework actually become an insignificant technical decision as @joe claims it is.

In addition, plugins and themes have the ability to use it themselves as well if they choose, which would be much harder if we invented our own framework.

No one is going to use it, at least not as a free product. React (and it probably applies to other frameworks) requires too much of a learning curve, setting the tollset, and debugging effort, for someone to be able to use it is his spare time project. People that have the knowledge have a day job and will not have the time to do free work (only to get 1 star reviews because they do not have the time for support).

The process here is typical to how core does things, it is always “lets select the easiest way to hack something right now”, and disregard any future concerns, or all the people that do not have the time to spend on slack and github and trac.

Wasn’t the rest api a lesson good enough about the importance of planning before coding? Was there no soul seeking at all how did we end there with code that can not be used by core itself, and core needs to be rewritten to adopt to it?