React is getting a lot of attention from customers who want to build sites, especially since Facebook made it completely open source at the end of last year. Searching the internet for usage of Angular and React indicate that SPA frameworks in 2018 is a 'two horse race' between Angular and React, with Vue a reasonably distant third. There are many articles on this subject, and it's hard to find a balanced view. These may be worth reading: https://medium.jonasbandi.net/angular-vs-react-popularity-ea2659308cd5 and https://www.peerbits.com/blog/react-vs-angular-which-one-popular-javascript-developers.html. One thing seems clear - where Angular was THE framework in 2016, React has caught up, and there indications that it will surpase Angular in the (near) future.
Some of the most influential sites in the world are written in react, such as Facebook, Netflix, AirBnB etc. https://medium.com/@coderacademy/32-sites-built-with-reactjs-172e3a4bed81
Also worth noting that our largest WCH customer (Myer) is using React.
More specifically, there are some key advantages of React over Angular that are pertient to WCH customers:
* First-page load speed and SEO are crucial for Commerce websites, whereas these are much less important for 'applications' such as our Authoring UI or Gmail. The big sell for Isomorphic is its ability to deliver excellent first-page load speed and perfect SEO without having to consider whether Google will crawl the site correctly. Angular does support Isomorphic, React was the first isomorphic framework to market by 2 years. It is the most proven isomorphic framework, with better documentation and in production sites and frameworks such as https://github.com/zeit/next.js available. We have work committed to Q2 in WCH to support the Isomorphic pattern whereby a customer uses IBM Cloud or AWS etc. to host the isomorphic app. We could improve our Isomorphic support to be more 'turnkey' - that would be a separate Aha item.
* The learning curve for React is less steep than for Angular. React is leaner, Angular more fully featured. That makes Angular more appropriate for stable development teams staffed with full-time developers and code that will endure for a long time (such as our Authoring UI and Gmail) and React more appropriate for sites staffed by contractors that will be re-written relatively frequently, such as a typical Commerce site.
* React has much stronger than Angular in its native mobile support. React Native is much more mature than the Android equivalents (Native Script) - eg https://www.upwork.com/hiring/mobile/react-native-hybrid-app-development/. Native apps are clearly important for Commerce site and less so for an application such as our Authoring UI, where the use of the browser can suffice.
The good news is that the core of the WCH architecture is SPA-framework agnostic. However, our OOB sites (Oslo and Stockholm), SDK, samples, documentation and our marketing material are heavily skewed towards Angular. I believe this will increasingly become a problem for selling WCH in 2018 and 2019.
I think we should look to 'fully' and equally supporting Angular and React. As well as appealing to customers who have existing React skills, or who, for one of the above reason, want to use React, supporting 2 frameworks as we build out WCH ensures that our architecture and design is not too closely tied any single framework. That makes WCH more future proof and usable for any new framework that becomes popular, such as Vue.
Specifically:
- Conduct more sponsored user research into whether prospective customers have a preference for either framework, particularly our prospective Stockholm/storefront customers.
- For those customers that don't have a preference, we should consider how we position to our customers our "Recommended SPA architecture" in the future, in particular, our Stockholm/storefront customers, with regard to the above points. For example, if the customer says "I need a native mobile app, but I don't want to spend lots of money on a dedicate iPhone and Angular app" or "My developers tell me that they prefer React/have React skills already". The honest answer to these may be that they are better using React. They may also say "I need to be searchable on Bing" or "2 seconds is too long for new users to see my home page. I need it to be subsecond" or "Facebook page previews need to work". This best answer to these requirements may well be that they should use React Isomorphic.
- "Fully support" the React Olso sample that we already have
- Offer trial customers the ability to install either the Oslo Angular or Oslo React sample (which already exists).
- Offer a React SDK similar to the Angular SDK, that supports inline edit.
- Have our documentation and Marketing material promote the use of WCH with Angular and React with equal emphasis.
What is your industry? | Computer Services |
What is the idea priority? | High |