---
cuppy_hub: salesforce
cuppy_path: reference/official/data360/data-cloud-dev/guide/app-dev-comparison.md
cuppy_section: docs
cuppy_doc: DB2A-72FJ
cuppy_doc_uuid: e9ad2481-18e9-46c6-b9be-a40e2c57d0e0
cuppy_permalink: https://cuppy.io/salesforce/d/DB2A-72FJ
cuppy_version: 1
cuppy_updated: 2026-10-23T16:16:52.575Z
cuppy_canonical: https://cuppy.io/salesforce/docs/reference/official/data360/data-cloud-dev/guide/app-dev-comparison
cuppy_mcp: https://cuppy.io/mcp
cuppy_body_sha256: a0a0f7e3f5f13fa04a4317b7098a2a3df4a08fd19f44be9c96d26ffc49fe3e15
# cuppy_body_sha256 is over the document body ALONE, excluding both generated blocks.
---

> Mirror of <https://developer.salesforce.com/docs/data/data-cloud-dev/guide/app-dev-comparison.html> (Salesforce, Data 360 Developer Guide), read 2026-10-23. Salesforce's own page is the authority; this copy exists because that site refuses non-browser readers.

## Differences Between Developing Apps on Data 360 and the Salesforce Platform

Check out the tools and APIs that are available for custom app development in Data 360, and compare them to those available in the Salesforce Platform.

| Task | Data 360 | Salesforce Platform |
| --- | --- | --- |
| Customer developers: Migrate metadata from one org to another | Use one of these packaging features or APIs. * Unmanaged packages * Second generation managed packages * Data kits * DevOps Center * Data 360 Metadata API * Salesforce Metadata API | Use one of these features or APIs. * Unlocked packages * Unmanaged packages * DevOps Center * Scratch Orgs * Salesforce Metadata API |
| Salesforce partners: Distribute apps to customers | * Data kits * Managed packages | * Managed packages |
| Environments for custom app development and testing | Sandbox org with Data 360 (beta). Altenatively, customer developers use a second org for development and testing. Salesforce partners use a Partner Business org. | Sandbox org for customer developers. Scratch orgs or sandboxes for Salesforce partners. |
| Managed Package Generation | First-generation and second-generation managed packages with data kits. | First-generation managed packages and second-generation managed packages. |
| API Authentication | When using Data 360 API, requests are authorized via OAuth with a Salesforce access token, which is exchanged for a Data 360 access token. The requests reach the Data 360 tenant-specific endpoint. When using Connect API, the same OAuth authorization path as the Salesforce Platform APIs is used. | When using Salesforce Platform APIs, requests are authorized for the org’s MyDomain endpoint via a Salesforce access token. |
| SOQL Queries | To query records in Data 360, you can use a subset of SOQL. For more information about what’s supported and the limitations, see [Data 360 Query Profile Parameters](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_cdp_query.htm) in the _REST API Developer Guide_. | To query records in Salesforce, you can use SOQL. For more information, see [SOQL and SOSL Reference](https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/). |

**See Also**

*   [Data Cloud Development Environments](https://developer.salesforce.com/docs/data/data-cloud-dev/guide/dc-dev-env.html)
*   [App Development Lifecycle](https://developer.salesforce.com/docs/data/data-cloud-dev/guide/dc-app-lifecycle.html)


---
<!-- cuppy -->
You are reading one file. The same content is free over MCP at https://cuppy.io/mcp with no signup: ranked search across all 376 documents in this hub, the merged view when you work in a layer, known workarounds matched to the error you hit, and depth control so you spend tokens on what you need. Start with the `_hello` tool. How to connect: https://cuppy.io/salesforce/ Something wrong in this document? Report it with the `session feedback` tool on the same endpoint.
<!-- /cuppy -->
