---
schema_version: "1"
id: 9b9b9fc20a8a21bb9c5aa28b6117304e5642998cba148f541933140001dbb801
title: Differences Between Developing Apps on Data 360 and the Salesforce Platform
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/data-cloud/data-cloud-dev/guides/app-dev-comparison.md
canonical_url: https://developer.salesforce.com/docs/data/data-cloud-dev/guide/app-dev-comparison.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: b4e85ce2670e6bc75709fde57cfbe0d2fe86653720ed2ec1392ffef19f4179dc
products:
  - Data 360 Developer Guide
  - Data 360 Developer Documentation
---
# 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.<ul><li>Unmanaged packages</li><li>Second generation managed packages</li><li>Data kits</li><li>DevOps Center</li><li>Data 360 Metadata API</li><li>Salesforce Metadata API</li></ul>                                                                         | Use one of these features or APIs.<ul><li>Unlocked packages</li><li>Unmanaged packages</li><li>DevOps Center</li><li>Scratch Orgs</li><li>Salesforce Metadata API</li></ul>         |
| Salesforce partners: Distribute apps to customers             | <ul><li>Data kits</li><li>Managed packages</li></ul>                                                                                                                                                                                                                                                      | <ul><li>Managed packages</li></ul>                                                                                                                                                  |
| 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.md)
- [App Development Lifecycle](https://developer.salesforce.com/docs/data/data-cloud-dev/guide/dc-app-lifecycle.md)
