Replacing the AngularJS themes project with a React or Angular 2+

Some developers are asking us about replacing the AngularJS themes project with a React or Angular 2+ Themes Project.

Angular SPA

We created Procurement Portal Theme - is the theme that demonstrates the way how e-commerce might be implemented for B2B interaction between a manufacturer or a wholesaler.

It can be used as a sample of using Angular SPA as part of Virto Commerce Theme.

Demo: https://demo.virtocommerce.com/dental

Login / Passords
PPAdmin / Password1!
PPEmployee1 / Password1!
PPEmployee2 / Password1!
PPEmployee3 / Password1!

Source: https://github.com/VirtoCommerce/vc-procurement-portal-theme/tree/master/ng-app

Single Page Applications Vs Server Side Rendering Vs SEO

Server-Side Rendering can be a bit faster at the initial request, quite simply because it doesn’t require as many round trips to the server. You can use CDN.

Client-Side Rendering, on the other hand, is slower at the initial request because it’s making multiple round trips to the server. However, once these requests are complete, CSR offers a blazing fast experience via the JS framework.

However, if not planned out carefully, this leap inefficiency can come at a substantial SEO price in the present.

For server-side rendering, all of the HTML content is present in the source code which means the search engine can request, crawl and index it immediately. Resulting in faster time to appearing and ranking in search results.

For client-side rendering, the HTML can be indexed is only revealed when the JS is fully rendered on the client-side. Thus, with the two wave system Google currently employs, it can take anywhere from a few hours to a week before the content can be crawled, indexed and begin ranking in search results.

If you create B2C Portal, we recommend to use Server-Side Rendering and then implement client interactive applications like SKU Selector, Cart, Filters by using either AngularJS or VueJS. Angular Scripts are too heavy.

Otherwise, if you create B2B Portal, Client-Side Rendering is preferred way, you can mix complex personalization, Progressive Web Applications and deliver webpages more efficiently.

References