How to Use Velo Rendering API for Improved Performance of Website Pages: Tips to Take into Account | Hacker Noon

Velo by Wix Hacker Noon profile picture

@veloVelo by Wix

Velo is a full-stack development platform that empowers you to rapidly build, manage and deploy professional web apps.

When a visitor browses to one of your site’s pages, that page needs to be
set up before it is displayed. Setting up a page includes adding and
positioning all of its elements as well as running code that might retrieve the page’s data or perform other setup operations. This process is known as rendering.

As part of this rendering process, global page code and the code in your


function are run. This code runs in both the server and the browser. While a page request is running in the server, the browser downloads and executes the same code. After the server returns a response and the page is visible, the browser also renders the page and makes it interactive.

Deprecated renderCycle and warmupData properties

Previously, you were able to use the renderCycle and warmupData properties to control when and where some of your code is run. Since we’ve optimized the rendering process even further than before, these measures are no longer needed.

If you have used these properties, we advise you to update your code. Your code will not break due to the deprecation and keeping it won’t hinder your site’s performance.

Preventing Unwanted Side Effects

As mentioned above, your global page code and


code will usually run twice, once in the backend and once in the browser. Generally, this is not a problem. In fact, it is used to load your page quicker.

However, in certain situations, your


and global code might not work as expected without taking additional measures. For example, if your code produces a side effect, such as inserting an item into a collection, that insertion will occur twice unless you explicitly add code to prevent that from happening. When needed, use the Rendering API to make sure parts of your code only run once.

Rendering API

The following property of the


Rendering API is used to track where your code is running:


– Gets the current environment the rendering process is running in. This informs you where your code is being run.

  • Returns “backend” when rendering on the server.
  • Returns “browser” when rendering on the client.Example

If you use the


function of the wix-data API to add an item to one of your collections, the


might be called twice, leading to two items being added to your collection instead of one. In such a case, you will need to use the rendering env property to make sure the


is only called once.

Here we demonstrate how to prevent an item from being added to a collection twice:

import wixData from 'wix-data';
import wixWindow from 'wix-window';

let toInsert = {
  "field1": "Some value",
  "field2": "Some other value"

$w.onReady(function () {
  if (wixWindow.rendering.env === "browser") {
    return wixData.insert("myCollection", toInsert)
      .then( (item) => {
        $w("#myText").text = item.title;
      } );
} );

Note that we wrap the


in a check to see in which environment the code is being run. We only run


when running in the browser.

Additional Considerations

There are some other things you need to keep in mind when using the Rendering API to improve your site’s performance.

Rendering will never be performed server-side when previewing your site.

You will not be able to see the logging produced by


calls when they are performed on the server.

Previously published at


Join Hacker Noon

Create your free account to unlock your custom reading experience.

read original article here