5 ms·
Your analogy isn't apt, a better analogy would be judging a car to be difficult to maintain by looking at the listings of all the embedded software. I know a gu
by daliwali 9y ago
Your analogy isn't apt, a better analogy would be judging a car to be difficult to maintain by looking at the listings of all the embedded software. I know a guy who restored a 1960's VW Beetle to working condition with minimal expertise, the same couldn't be done for modern cars without a full machine shop that specialized in that make.
Fancy selling points like "unidirectional data flow" don't actually mean anything. Each fanboy has their own variant of this, like "transclusions", "immutables", "dependency injection", etc. These are all phrases I've heard that don't translate to tangible results.
- matthewmacleod 9y agoThese are all phrases I've heard that don't translate to tangible results. Yeah… but they do translate to tangible results. Using something like React helps to make front-end code simple, scalable, fast, and testable. The car analogy is even worse. A modern vehicle is better than a 60s Beetle by almost every conceivable metric – performance, emissions, safety. In both of these cases, it is preposterous to assume that complexity was introduced for no reason.
- daliwali 9y agoThese are marketing buzzwords that can be said about every single web framework, effectively thought-terminating cliches. Every fanboy says their preferred framework is the simplest, fastest, most scalable and most testable. In the car analogy the improved performance of modern cars have more to do with mechanical engineering than software. And the analogy falls apart when you consider that modern web frameworks are invariably slower or roughly equal in performance to its vanilla JS counterpart, but never faster.
- rimliu 9y agoCar analogy was just so say that external API does not necessarily reflect complexity of the implementation. How much of the buzzword is dependency injection you understand when forced to go through entire codebase and replace instantiation of some concrete class with something saner. Not every user of some framework is its fanboy, some just choose based on the value they think particular framework provides. And React is not a framework.
- matthewmacleod 9y agoEvery fanboy says their preferred framework is the simplest, fastest, most scalable and most testable. That's a way argument though; just because these are metrics on which frameworks are compared does not mean that there is no comparison possible. In fact, I'd say quite the opposite! And the analogy falls apart when you consider that modern web frameworks are invariably slower or roughly equal in performance to its vanilla JS counterpart, but never faster What are you measuring? I'll bet that React will be a whole bunch faster than whatever DOM reconciliation library you build up from scraps of vanilla JS, in the process creating your own half-implemented framework (because I'm pretty confident that nobody builds an entire application using copy-and-pasted Javascript.) In the car analogy the improved performance of modern cars have more to do with mechanical engineering than software So what? It's irrelevant. Mechanical engineering of a modern car is also much more complex.
- daliwali 9y ago>I'll bet that React will be a whole bunch faster than whatever DOM reconciliation library you build up from scraps of vanilla JS You don't have to bet, you can verify the results yourself. Look here at these benchmarks [0] and compare, Simulacra.js is 22-42% faster than React v15 (depending on whether you also use Redux or MobX). My "scraps of vanilla JS" performs faster! Vanilla without frameworks/libraries is and always will be king of the performance game, though. [0] http://www.stefankrause.net/js-frameworks-benchmark6/webdriver-ts-results/table.html http://www.stefankrause.net/js-frameworks-benchmark6/webdriv...
- mst 9y agoThose all seem to be single-widget relatively simple benchmarks. What happens in an app with multiple views on screen into the same state and multiple pieces of data updating at once is much more interesting. Remember most of these frameworks are aimed at things that are far more 'web application' than 'web site'.
- daliwali 9y agoThat describes the DBMon benchmark [0] pretty accurately. It has a hundred "components" (rows), each with several subcomponents that re-render based on state changes. Actually it is less interesting and indicative of mainly one aspect of web app performance, that is re-rendering. The JS Framework Benchmark gives one a more holistic overview that includes bulk insertion, deletion, swapping, events, startup time, etc. On this benchmark, Simulacra.js outperforms React by a wider margin. [0] https://mathieuancelin.github.io/js-repaint-perfs/ https://mathieuancelin.github.io/js-repaint-perfs/
- johnfn 9y agoIt's not a thought-terminating cliche, though. The problem with learning all this terminology is that you apply it to any viewpoint you don't agree with rather than taking the time to thoroughly consider it. In this case it doesn't make any sense because people who use React (like me) have taken the time to see whether it matches up to its promises. Quite the opposite of "thought-terminating". Do you have anything to say about how React was the single most loved library in the Stack Overflow developer's survey? https://insights.stackoverflow.com/survey/2017#technology-most-loved-dreaded-and-wanted-frameworks-libraries-and-other-technologies https://insights.stackoverflow.com/survey/2017#technology-mo... Surely it's not just "thought-terminating cliches" getting it up there; if it were, then Angular would have scored just as high as legions of programmers failed to critically analyze whatever framework they were using. Hopefully you can understand how your ability to say "everyone else thinks in thought terminating cliches about their favorite framework, including everyone I'm talking with, but that doesn't apply to me" doesn't lead to a reasonable debate.
- daliwali 9y agoDevelopers are generally not rational people who critically analyze the pros and cons of the technologies that they use. Honestly neither am I, I don't make decisions based solely on objective measures or benchmarks for that matter. That is why it's called "most loved" and not "best tool to use", it's based on emotions. And this hardly has any relevance unless you're invested in the developer tools market.
- rimliu 9y agoTo me they very much translate to tangible results. Not having them usually translates into mess that is very difficult to untangle.