There are hardware, software and service prerequisites for participating in this CodeJam. The exercises will be shown executing in the SAP Business Application Studio as the development tool. However you can also execute them locally on your own tooling such as Microsoft VSCode or using a Dev Container or Codespace. See separate section for each of these options.
- If attending an in-person CodeJam, please bring your own laptop.
- You will get access to the provided SAP BTP account for the CodeJam. If you want to continue learning afterwards, you can also sign up for a free SAP Business Technology Platform trial account:
In this exercise variant, you will install all development tools locally in your laptop and develop test there. Unfortunately the SAP HANA Graphical Calculation View Editor is not supported as a VSCode Extension yet, so those steps must be performed in the SAP Business Application Studio. However the rest of the exercises are possible locally.
There is also a brand new option that allows you to use VSCode locally but remotely connect it to your Business Application Studio dev space. This avoids the need to install all the prerequisites to local development. To read more about this option, see here.
The Microsoft Visual Studio Code Desktop Client for SAP Business Application Studio allows developers to use the familiar VSCode interface while connecting remotely to their SAP Business Application Studio dev space. This setup provides the following benefits:
- Reduced Local Setup: Developers can avoid installing all development tools locally, as they can leverage the tools available in the remote dev space.
- Seamless Integration: The integration ensures a smooth development experience with access to all necessary tools and extensions.
- Flexibility: Developers can work from different environments without worrying about local setup inconsistencies.
For detailed information, refer to the blog post.
- None
-
Ensure that you have Node.js version 18, 20, or 22 installed locally. Make sure you run the latest long-term support (LTS) version of Node.js with an even number like 20. Refrain from using odd versions, for which some modules with native parts will have no support and thus might even fail to install. In case of problems, see the Troubleshooting guide for CAP.
In this scenario you will develop locally but we will reduce the amount of setup steps and tools you need to install by using development containers. This uses Docker Desktop and VSCode extensions provided by Microsoft to configure and remotely connect VSCode to this a container.
-
A Docker based container orchestration tool such as Docker Desktop on Windows and MacOS or Docker for Linux on Linux
The license for Docker Desktop has changed - see Docker is Updating and Extending Our Product Subscriptions for an overview.
-
When the project opens in VSCode you should receive a dialog in the lower right corner that the "Folder contains a Dev Container". Choose to
Reopen in Container
When using Dev Containers, you might encounter different Node.js Docker images such as buster
, bullseye
, and bookworm
. These names refer to different Debian releases that the Node.js images are based on:
- buster: This is based on Debian 10. It is an older, stable release.
- bullseye: This is based on Debian 11. It is the current stable release and is recommended for most users.
- bookworm: This is based on Debian 12. It is the testing release and includes the latest features but might not be as stable as
bullseye
.
In the context of Dev Containers, these images are used to provide a consistent development environment. You can choose the appropriate image based on your stability and feature requirements. For most users, bullseye
is recommended as it provides a good balance between stability and up-to-date features.
This is a bit of a hybrid scenario. It uses the Dev Container configuration but runs the Dev Container and development tools in the cloud via GitHub Codespaces. It has the ease of starting similar to SAP Business Application Studio and its Dev Spaces, but allows for more customization of the environment and usage of a larger range of VSCode Extensions.
- None
-
You can then use this codespace from the browser or open it remotely in your locally VSCode installation. The codespace will be pre-configured with the correct Node.js runtime, all other development tools and already has the project cloned into it.