Content deleted Content added
Remove edits of user 174.4.248.221. Incorrect, unsourced and opinionated. (And copy paste section he/she inserted in the Angular & React Wiki Articles) Tag: section blanking |
Undid revision 812433500 by SamiOnWiki (talk) Criticism supported with facts and data from reputable sources (some criticized aspects may be shared by other frameworks as well) |
||
Line 197:
On September 26, 2017, React 16.0.0 has been released with the MIT license.<ref>{{cite web |url=https://reactjs.org/blog/2017/09/26/react-v16.0.html#mit-licensed|title= React v16.0§MIT licensed |last=Clark |first=Andrew |date=September 26, 2017 |website=React Blog}}</ref> The MIT license change has also been backported to the 15.x release line with React 15.6.2.<ref>{{cite web |url=https://reactjs.org/blog/2017/09/25/react-v15.6.2.html |title=React v15.6.2 |last=Hunzaker |first=Nathan |date=September 25, 2017 |website=React Blog}}</ref>
==Criticism==
'''W3C standards compliance.''' React uses non-standard HTML tags and attributes (expandos), as well JavaScript language extensions (jsx), which require learning a vendor specific idiom and also is thwarting security.<ref>{{Cite web|title = Security-Goals-&-Threat-Model|url = https://github.com/cure53/DOMPurify/wiki/Security-Goals-&-Threat-Model|website = github|accessdate = 2017-11-15}}</ref>
'''Documentation and support.''' Poor documentation and lack of dedicated support from the creators, leading to tens of thousands of questions on stackoverflow (one third of them unanswered!).<ref>{{Cite web|title = Reactjs Unanswered Questions|url = https://stackoverflow.com/unanswered/tagged/reactjs|website = stackoverflow|accessdate = 2017-11-15}}</ref>
'''[[Separation of concerns]].''' React code mixes HTML with JavaScript, which is considered a bad practice, as it makes more difficult to read and maintain the code, also hard to implement static code analysis.
'''Code verbosity.''' In order to perform model-view changes with component states and immutable objects, React require additional lines of code for a task achievable with a single statement in plain javascript. <ref>{{Cite web|title = React-Redux Verbosity|url = https://games.greggman.com/game/react-and-redux-are-a-joke-right/|website = games.greggman|accessdate = 2017-11-15}}</ref><ref>{{Cite web|title = Why is Verbosity Bad|url = https://softwareengineering.stackexchange.com/questions/141175/why-is-verbosity-bad-for-a-programming-language|website = softwareengineering.stackexchange|accessdate = 2017-11-16}}</ref>
'''[[Single source of truth]].''' Due to a mythical slowness of the browser's DOM engine compared with processing a similar (but lighter) tree on JavaScript, React creates, updates and diffs own virtual DOMs (second source of truth for the User Interface).
==See also==
|