React isn&#x27;t full MVC but there is a whole ecosystem out there tailored around it and it winds up being full MVC in practice - but you have to do the legwork of figuring out what to add in and how to glue it together.<p>I&#x27;ve said this before - my personal view on this is that if you would descirbe your self as a JS developer you will probably like React more, and if you&#x27;re coming from a .NET&#x2F;Java background Angular will be much more familiar.<p>Having used both and having experience with both functional&#x2F;dynamic programming with Clojure and enterprise&#x2F;OOP&#x2F;static programming with WPF&#x2F;Silverlight - I prefer Angular - I think the tooling and approach it leverages fall in to a category that&#x27;s prooven to scale with &quot;enterprise grade&quot; developers.<p>I like the simplicity and purity of React architecture - using React wrappers in ClojureScript like Reagent is very &quot;satisfying&quot; - the entire language&#x2F;platform just &quot;fits together&quot; from immutable state management being the core of the language to sexpression DSL being a natural thing for lisp. I very much dislike their implementation and tooling like JSX and flow which has 0 community adoption compared to TS. I feel like their design is heavily influenced by the problems of Facebook - for eg. shoehorning this kind of things on to plain old JS is an ugly mess for the sake of being easy to introduce in to existing code - crucial for a huge project like say FB - completely irrelevant to a new project.<p>And the fact that you have to merge so much different libraries in the hell that is JS ecosystem of build tools, duplicated libraries, constantly obsolete tech, etc. ads a ton of overhead with very low practical value.<p>If I needed to migrate an existing JS project to a new framework gradually I would not even consider Angular 2, but if starting a new project it would be my go-to choice.