## 4.1 Development in the Cloud Foundry Environment
Learn more about developing applications on the SAP BTP, Cloud Foundry environment.
## Overview
SAP BTP, Cloud Foundry environment is an open Platform-as-a-Service (PaaS) targeted at microservice development and orchestration.
| Develop polyglot applications        | Build on open standards with SAP Java, Node.js, and Python buildpacks or bring your own language with community buildpacks for PHP, Ruby, Go.                                           |
|--------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Manage the lifecycle of applications | Start, stop, scale, and configure distributed cloud applications using standard Cloud Foundry tools, our web-based administration user interface for SAP BTP, and dev-ops capabilities. |
## Optimize development and operations
Use the application programming model
Manage Cloud Foundry orgs and spaces
Use built-in cloud-native capabilities
Use the rich set of SAP BTP services including messaging, persistence, and many other capabilities, such as built-in security, compliance, elastic scale, and high-availability setup.
Use programming languages, libraries, and APIs tailored for full-stack application development.
Create and delete Cloud Foundry orgs and spaces and add members. Create, assign, and change space quota plans.
Utilize cloud-native principles built into the platform, such as containerization and multitenancy, to create resilient, portable, and efficient applications.
The following graphic is designed to help you find the information you need for your programming purposes. The bottom row represents the tools, frameworks, services, and deployment options recommended by SAP. If you want full flexibility you can also bring your own development tools and languages, as shown in the top row.
## Development Options Overview
<!-- image -->
- Development Languages [page 264]
- Developing HTML5 Applications in the Cloud Foundry Environment [page 419]
- Developing SAP HANA in the Cloud Foundry Environment [page 595]
- Deploy Business Applications in the Cloud Foundry Environment [page 742]
- Deploy Docker Images in the Cloud Foundry Environment [page 743]
- Developing Applications and Services [page 242]
- Developing User Interface [page 415]
- Consuming APIs [page 530]
- Adding Authentication and Authorization [page 530]
- Setting Up Database Artifacts [page 595]
- Deploying to the Cloud Foundry Environment [page 597]
- Developing with the SAP Cloud Application Programming Model [page 247]
- SAP Business Application Studio [page 243]
- Developing SAPUI5 [page 416]
- https:/ /api.sap.com/ [https:/ /api.sap.com/]
- Protecting Your Application [page 533]
- SAP HANA Cloud [page 596]
- Continuous Integration and Delivery [page 739]
- Multitarget Applications in the Cloud Foundry Environment [page 598]
## The Recommended Path
This development approach offers guidance for important development decisions and features proven best practices recommended by SAP. You can follow a model path for application and service development that is based on the Cloud Application Programming Model (CAP). When working with CAP, we recommend using Java and Node.js because they receive the highest level of tool support and are well suited for most use cases. This path provides you with a list of key aspects to consider, but the order shown in these steps isn't mandatory. You can adapt the steps as you wish to better fit your use case.
## Choose Your Own Path
Because of the polyglot nature of the Cloud Foundry environment, you're also free to choose your own approach. You're not forced to use one language exclusively, but can choose between Java, Node.js, and Python. Concerning tools you can either use the Cloud Foundry Command Line Interface (CF CLI) or other tools to develop and deploy your application. You're also free to decide if you want to develop and deploy your applications in the multitarget format (MTA).
For more information on the supported programming languages, see:
- Developing Java in the Cloud Foundry Environment [page 265]
- Developing Node.js in the Cloud Foundry Environment [page 365]
- Developing Python in the Cloud Foundry Environment [page 378]
If you already have monolithic applications running on SAP BTP and are looking for a way to run them in the Cloud Foundry environment, read our migration best practice guide. See Migrating from the Neo Environment to the Multi-Cloud Foundation for SAP BTP (Cloud Foundry and Kyma).
## Related Information
Cloud Foundry Environment [page 57] Troubleshooting App Deployment and Health SAP BTP, Cloud Foundry Runtime