---
schema_version: "1"
id: 96672a7a8745193cf279a72e7109d7e0831716583b945ea8a44846e68b5b6e82
title: What is the Apex Development Process?
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexcode/apex_intro_development_process.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_development_process.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 21a80a2dc529ae82b484490c2854d9f9d8f39e1f044d878f54020f5929665259
description: To develop Apex, get a Developer Edition account, write and test your code, then deploy your code.
---
# What is the Apex Development Process?

To develop Apex, get a Developer Edition account, write and test your code, then deploy your code.

We recommend the following process for developing Apex:

1. [Choose a Salesforce Org for Apex development.](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_get_dev_account.htm "You can develop Apex in a sandbox, scratch org, or Developer Edition org, but not directly in a production org. With so many choices, here’s some help to determine which org type is right for you and how to create it.")
2. [Learn more about Apex](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_learning_apex.htm "After you have your developer account, there are many resources available to you for learning about Apex").
3. [Write your Apex.](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_writing_apex.htm "There are several development environments for developing Apex code. Choose the environment that meets your needs.")
4. While writing Apex, you should also be [writing tests](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_writing_tests.htm "Testing is the key to successful long-term development and is a critical component of the development process. We strongly recommend that you use a test-driven development process, that is, test development that occurs at the same time as code development.").
5. Optionally [deploy your Apex to a sandbox organization](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_deploying_to_sandbox.htm "Sandboxes create copies of your Salesforce org in separate environments. Use them for development, testing, and training without compromising the data and applications in your production org. Sandboxes are isolated from your production org, so operations that you perform in your sandboxes don’t affect your production org.") and do final unit tests.
6. [Deploy your Apex to your Salesforce production organization.](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_deploying_to_production.htm "After you’ve finished all of your unit tests and verified that your Apex code is executing properly, the final step is deploying Apex to your Salesforce production organization.")

In addition to deploying your Apex, once it is written and tested, you can also [add your classes and triggers to a AppExchange App package](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro_AppExchange.htm "You can include an Apex class or trigger in an app that you’re creating for AppExchange.").