4 ms·
I believe it is, the problem with both Backbone and Angular is that they treat UI development like it is still assembling a page and then sending it down to the
by kls 10y ago
I believe it is, the problem with both Backbone and Angular is that they treat UI development like it is still assembling a page and then sending it down to the client. They encourage monolithic controllers that are not discreetly tied to the UI. This was a natural outgrowth of web developers being comfortable with that model in transitioning over from the server side. The problem is, it sucked on the server side and it sucks on the client side.
In my opinion Vue does not solve the problem that react does as it does not black box the component and define you inputs and outputs. You can still write monolithic code-bases with it. It has a stronger component model than Angular did with directives but that component model can be circumvented. Worse yet two way binding is the crack of web dev. It gets you hooked on it's "easy" but as your code-base explodes you loose all trace-ability of when and how stuff changes and in my opinion, that is where the nastiest bugs surface.
If you actually get into the internals of react, you soon realize it looks a lot like windows UI programming in the old days. It is a return to principals that work when composing UI's from components. It's not a new concept, there have been many frameworks that tried it over the years (Dojo comes to mind) but react was the first one to hit critical mass and the first one to come along while most of the other tool-chain was available or fairly easy to build. The tool-chain makes it complex to get started but once you have a project going, it is far easier to maintain, and maintenance is where you really pay for your total cost of ownership.
Now all this comes with the caveats of project size, I personally work on large scale replacement of traditional application with web based applications and I think react (and it's tool-chain) is an excellent technology to manage a large code base that business apps require. However if all you are building is an informational website with a newsletter sign up form, it's just not the right technology.
- e12e 10y agoIt's not quite the (positive) impression I get from react - but then I can't claim to be familiar with the internals. I do think one of the reason I struggle with react is because I still believe the Web is good for REST and Web pages/hypertext - and native is to be preffered for "applications". Conversely I think react is a pretty poor fit for "Web". It still strikes me as crazy complicated compared to say Java SWING driven by a dynamic language like python (jython). Might explain why I struggle to embrace it. I mean if you're worse than Smalltalk or Pascal/Delphi - the stack has to be backwards crap for GUI programming, right?
- kls 10y agothe stack has to be backwards crap for GUI programming, right? Right, please dont take my praise for react as an endorment that the state of the industry is where we need to be. Rather I see it was a step forward. For a little background I have been in the business since Tim Lee published his first page of what would become the WWW. I would venture to say the first webpage I wrote was in the first 100 and if not, certainly within the first 1000 pages developed. Before that I was a typical desktop developer (though I was young, so that career was short lived). Anyways, the reson I bring up my background is to make the following observation and that is, from the implementation of the common gateway specification I always felt like the web took a wrong turn. Not that we should not have an internet enabled application spec but rather we tacked it on to a distributed document specification. That being said, we tried and tried to build the "web" for applications but none of them won. Meanwhile, hackers continued to deliver applications via web pages, through ingenious hacks to the HTTP spec, CGI, and Javascript everything else floundered with the exception of Flash and that was killed by Apple (as well as it's abuse on web pages) and lack of open spec until to late. So that brings us to where we are, the worst possible app UI technology won by attrition. The people building that technology spent a generation building entire UI's and then dumping them down to the client. When we finally broke ourselves free of the dumb client model, that style of development persisted as it was pervasive. Many attempts have been made to free web devs from that mindset with some pretty good frameworks (good in web measurement) but the build everything in one big controller mentality has been pervasive. React has been one of the first frameworks to free web developers minds of that model yet there continues to be efforts to go back Vue is one of those efforts. The reality is it takes more thought to think about a UI as reactive components that react to change as it's easier (in the beginning) to write procedural code in a monolithic controller and if a framework allows it that is where developers will default back to. Which in my opinion is a step in the wrong direction. I have seen web developers almost get several times and it seems we always regress back to controller based thinking the first to set it back was Backbone and the second was Angular. React is certainly not the state of the art in UI programming, but it is the state of the art in web UI programming and knowing where we came from I am happy for that.
- e12e 10y ago