All-in-one Cloud IDE
Overview
Building a Babel application only requires a browser that can access the babel.cloud website. There's no need to install additional tools like IDEs, SDKs, or Web Servers on your computer. The Babel platform and your application are both cloud-native by default. Unlike traditional IDEs designed solely for human use, the Babel IDE is designed for both humans and AI. BabelGPT can manipulate your apps through the IDE just like a human developer. When building with the Babel IDE, there are several key differences from traditional practices:
- Babel Only: All functions are specifically tailored for Babel applications.
- Node.js Only: Node.js/TypeScript is the only supported programming language. However, you can use any npm packages.
- No Files: Babel does not use the concept of files. Your application is composed of elements.
- No Git: Since there are no files, Babel does not use git to manage versions. All your application versions are managed in History view.
- No CI/CD: When your app is ready, all you need to do is click the Submit button, and your app goes live.
- Seamless Runtime: Your app runs in the same runtime that you develop it. You don't need to worry about resource provision and management.
- Integrated Observation: All runtime execution details will be mapped to your code directly. You don't need to jump between systems or bury in endless logs.
- Ubiquitous AI: BabelGPT can operate the workspace just like a human developer. It can perform various tasks such as generate application structure, complete a piece of code, debug selected code, etc. In terms of collaboration, you can invite your team members to your workspace and work on the same application. However, this function is not activated during the beta stage.
Application
Element
Unlike traditional applications composed of files, Babel applications are composed of elements. These elements combine to form the application. Elements are basic units that perform different tasks. Currently, Babel provides nine types of Elements: HTTP, Function, Database, Worker, Assets, Storage, LLMExecutor, VectorStore and Neon. This document will give you a detailed introduction to the basic operations and references of each type of Element. Element based software architecture is more intuitive and business oriented than traditional file based architecture. Decomposing software requirements into elements tremendously accelerates the process from idea to software.
Elements Composing
Application is composed of elements, you can use Babel to build backend/frontend/fullstack applications. The following sample application is a fullstack todo application to help you understand how elements work together in Babel.
Dependencies
Babel embraces npm ecosystem. You can use all npm packages in your Babel application. Once a package is added in dependencies, you can import it in your elements.
Config
Config is the place for you to mange thirdparty keys or any other static values.
Settings
In addition to the aforementioned features, Babel also allows you to set domains, local, and other properties for each application. However, this feature is not supported during the beta stage. You have the option to reset the runtime of your Babel application. This reset will trigger a redeployment of Babel, but it will not affect your code and data. Resetting can be useful in resolving certain misbehaviors in your application. Moreover, the Reset function can be used to upgrade the runtime to the latest Babel runtime, ensuring that your application is always running on the most recent and efficient version.