React (software): Difference between revisions

Content deleted Content added
Blissnd (talk | contribs)
Re-introduce previous ctiticism section that was deleted by someone and whose deletion was unjustified.
Remove section "criticism", justification : original research, zero sources.
Tag: section blanking
Line 179:
===Facebook CLA===
Facebook requires contributors to React to sign the Facebook [[Contributor License Agreement|CLA]].<ref>{{Cite web|title = facebook/react - CONTRIBUTING.md|url = https://github.com/facebook/react/blob/master/CONTRIBUTING.md#contributor-license-agreement-cla|website = GitHub|accessdate = 2015-12-13}}</ref><ref>{{Cite web|title = Contributing to Facebook Projects|url = https://code.facebook.com/cla|website = Facebook Code|accessdate = 2015-12-13}}</ref>
 
=== Criticism ===
W3C standards compliance. React uses non-standard tags and attributes (expandos), as well javascript language extensions (jsx), which require learning a vendor specific idiom and also is thwarting security.
 
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!).
 
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.
 
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 sources of truth for the User Interface), wasting CPU cycles (even when processing separately from the UI thread).
 
==Licensing controversy==