---
schema_version: "1"
id: 1c8e7185cda5c84f2d0fbce3925192dd8330ae5c220aaa483e50ea58440ce691
title: Comparing JavaScript Remoting and Remote Objects
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/salesforce-pages-developers-guide/guides/pages/javascript/pages-js-remoting-compare-remote-objects.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-js-remoting-compare-remote-objects.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 7256321731387d8c7a096856223b36cdbaf281e8693dc082a0cab3aed3a9b8be
products:
  - Visualforce Developer Guide
  - Platform Developer Content
---

# Comparing JavaScript Remoting and Remote Objects

JavaScript Remoting and Remote Objects offer similar features, and both are useful tools for creating dynamic, responsive pages. They have some important differences that you should consider before choosing which to use.

In general, Remote Objects is well-suited to pages that need to perform only simple Create-Read-Update-Delete, or “CRUD”, object access. JavaScript Remoting is better suited to pages that access higher-level server actions. Remote Objects lets you get up and running quickly without a lot of ceremony, while JavaScript Remoting is suited for more complex applications that require some up front API-style design work.

Visualforce Remote Objects:

-   Makes basic “CRUD” object access easy
-   Doesn’t require any Apex code
-   Supports minimal server-side application logic
-   Doesn’t provide automatic relationship traversals; you must look up related objects yourself

JavaScript Remoting:

-   Requires both JavaScript and Apex code
-   Supports complex server-side application logic
-   Handles complex object relationships better
-   Uses network connections (even) more efficiently

