Visualforce Remote Objects

Visual force Remote Objects is an effective tool for quickly adding simple data operations to Visual force pages. Visual force Remote Objects are nothing but  proxy objects that allow basic DML operation on sObjects directly from JavaScript. Without writing any controller, we can retrieve the data and perform DML Operations through Visual force Remote Object call; this (retrieving data from Salesforce)  will not count towards API request limit.

Implementation:

Using Visual force  Remote Objects involves  implementing two functionalities in the same page:

  • Access definitions written in Visual force with the Remote Objects components. These components generate a set of JavaScript proxy objects that can be used in the next step.
  • Data access functions written in JavaScript. These functions use the proxy objects that are made available by the access definitions to perform – create, retrieve, update, and delete operations on the  data.

The page then uses the data access functions to respond to the user interaction, such as form submissions or control changes.

Remote Object Components:

 The below are the list of Remote Object components:

  • Remote Objects
  • Remote Object Model
  • Remote Object Field

These components are used to specify the sObjects and fields to access using Visual force Remote Object. These components generate models in JavaScript  that can be used for basic DML operations in client-side JavaScript code.

Advantages:

  • Remote Objects is a useful tool for quickly creating pages with basic data operations.
  • Remote Objects enforces validation rules, triggers, sharing rules, field level security, and other data access restrictions.
  • Remote Objects is easy to use with lightweight components that don’t require Apex code to implement reading and writing data to the Salesforce service.
  • Remote Objects do not count against Salesforce API limit.

Limits:

  •  Remote Objects calls aren’t subject to API limits, but Visual force pages that use Remote Objects are subject to all standard Visual force limits.
  • We can retrieve a maximum of 100 rows in a single request. To display more rows, submit additional requests by using the OFFSET query parameter.
  • Remote Objects doesn’t support Blob fields. You can’t retrieve or set the value of object fields of type Blob.
  • Setting the rendered attribute to false on Remote Objects components disables the generation of the JavaScript for those Remote Objects. Any page functionality that depends on un rendered Remote Objects should also be disabled.