What I meant by the difference between the HTML in an Aurelia template and JSX is that the React component&#x27;s markup has to be inside the its respective controller&#x27;s render() method.  That&#x27;s the main issue.<p>I am not arguing about JSX syntax, but rather the principle behind it.  How would I safely refactor a css class across hundreds of components in a safe way and not by find&#x2F;replace?  An IDE such as WebStorm actually tracks CSS classes by their reference in other HTML&#x2F;CSS files and this includes CSS preprocessors.  I know it&#x27;s a safe bet to run the renaming, although I always preview the changes beforehand.<p>I&#x27;m a reasonable developer, but this is an anti-pattern that has been eschewed voraciously over the years. Your appeal to the intelligence of React&#x27;s devs is an informal fallacy and doesn&#x27;t change this fact.<p>I am not trying to be dogmatic here.  Yes, breaking the &#x27;rules&#x27; when it is warranted is perfectly fine.  My argument here is that in this case, this anti-pattern isn&#x27;t warranted and will be very expensive work with as the product grows. I am advocating standards and best practices.  React sidesteps both for an unnecessary reason. It works, it&#x27;s pretty awesome how fast it is, but it cannot scale with a product&#x27;s lifecycle.<p>Web components keep the HTML in the DOM and are being officially adopted as a standard. They can be polyfilled with a lib from <a href="http:&#x2F;&#x2F;webcomponents.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;webcomponents.org&#x2F;</a>.  Aurelia, although it is a framework, is extremely lightweight and greatly simplifies the use of web components. Polymer isn&#x27;t as elegant, but it clearly demonstrates the idea of dynamic reuse.  There are other alternative libs as well.<p>As an aside, ES6 is now standard and with Babel. Javascript is now closer to ECMA, as it was intended to be.<p>I think I&#x27;ve made my argument as clear as I can, thank you for a great (and polite) discussion.  It has actually been helpful for me to voice my opinion and get a better understanding of the support behind React.  Again, it&#x27;s impressive how fast it is over other libs such as jQuery, but jQuery&#x27;s always been bloated and is near the end of its usefulness.  However that point doesn&#x27;t detract from the very cool things that React can do in the right hands.  I wish I could bet on it, but to me it&#x27;s the wrong horse in the race.