Current situation at tech market
We can say that nowaday there are 3 of the most popular frameworks for frontend development and these are react, vue and angular. Those three frameworks have a big community, that’s why their solutions are most popular. Moreover, react and angular are maintained by big 5 tech companies, react is maintained by meta(ex facebook), angular is maintained by google.
Reasons of creation
React and vue creation purposes are essentially the same. To give an easier way of creating interactive frontend layer of the application and to throw down the gauntlet for google and their angular js framework or native js with jquery library. Also the efficient aspect was one of reasons for creating the react, its diffing algorithm could be a gamechanger for frontend application speed.
React was published in 2011, while vue was created by ex facebook engineer Evan You, and published in 2014. Main reason for it was to join the benefits of react and angular.
Tech details - introduction
Both frameworks could use javascript or typescript. It's a pretty standard feature for modern web frameworks. Also both of these frameworks support component creation, the main idea of working in vue or react is to create small reusable components and then join it in bigger frontends. Main idea is similar, but the mechanisms for these frameworks are a bit different.
Very interesting is that both frameworks have their server side rendered versions, for react it’s the next js, for vue it’s the nuxt js. React also provides the possibility to write code for mobile device systems, both iOS and android. That tool is called react native, and it uses react syntax and ecosystem with properly provided config tools to create mobile applications.
Vue has its own extension for files, it’s .vue, react has .jsx/tsx extension. Here it’s important to say that vue uses html based templates, while react uses jsx syntax.
Regarding efficiency, both frameworks use virtual document object model(dom). Why is it so important? Because dom is a tree data structure. It could contain multiple nested nodes. What is exactly a single node? It's a single object, for example it could be a paragraph. Depending on the depth of the tree, the cost of updating the whole data structure could be terrifying. The main idea of virtual dom is to store dom object copy in memory and maintain it, that process minimises updates of real dom.
It is also nice that javascript functions or services such as api calls, logic statements could be written in both frameworks in separate .js files. This feature gives a programme option to separate a bit of business logic.
Summary
Vue and react are really well positioned on the current frontend tech market, personally I like them both. I see that vue, and react are still evolving, the new features are being prepared. In my opinion both frameworks are great, and I can recommend using them.