4 ms·
It's bizarre that you would complain about Angular replacing vanilla JS/DOM/Browser APIS and then say React is better. React literally replaces HTML and the DOM
by stupidcar 9y ago
It's bizarre that you would complain about Angular replacing vanilla JS/DOM/Browser APIS and then say React is better. React literally replaces HTML and the DOM with its own XML dialect and virtual DOM.
This means that, until recently, you couldn't use CSS Grid in React components, because every single CSS property that you want to pass through JSX needs to be explicitly whitelisted[1]. No other front-end framework has gone as far as React in trying to replace the vanilla web platform with its own technology and idioms.
[1] https://github.com/facebook/react/pull/9185 https://github.com/facebook/react/pull/9185
Angular's new template and component syntax have a learning curve. But they retain a far closer mapping to what's actually alive in the browser's DOM. A component instance actually wraps a native element, instead of being a function that emits a tree of objects that eventually get turned into DOM elements by some opaque virtual DOM process. When you grok what the syntax means, it's actually a rather elegant way of expressing binding to the HTML element properties and attributes and between component instances.
There are arguments for and against both approaches, but I don't see anyone on the React side of things even trying to understand them. Instead, they dismiss Angular's approach based on five minutes spent scanning syntax examples, and adopt a cult-like mindset that React is the silver-bullet for software development, and that alternative approaches are wrong and evil, and that anyone who uses them or likes them is stupid and/pr incompetent. It's a very arrogant and unpleasant attitude.
- tuan 9y ago>> React literally replaces HTML and the DOM with its own XML dialect and virtual DOM. This is one thing I don't like about React. If my intention is to create an HTML template, I would like to use HTML to do that, not through another layer of indirection (JSX). >> No other front-end framework has gone as far as React in trying to replace the vanilla web platform with its own technology and idioms. I think Angular does something similar with zonejs while trying to patch every javascript async function. I just don't like this approach at all. Because of this, while using Angular, I have to keep in the back of my head that the setTimeout function that I'm calling is not the native setTimeout function. Most of the time I don't have to worry about it, but it still bothers me.
- robwormald 9y agoYou'll be pleased to know that we're making Zones optional pretty soon here. This would mean taking control of change detection yourself, of course, but there's plenty of valid use cases where that's a reasonable idea.