The Java SDK built on the Code-first development style is now GA. The goal of introducing the code-first approach is to simplify the Developer Experience and increase developer efficiency.
With the Code-first Java SDK, developers encode their application using plain Java code. Kalix is then capable of scanning the code and generating all metadata it needs to deploy the user application and expose its endpoints. The SDK allows developers to assemble a Kalix application by annotating Java classes using Spring-like annotations. This makes it plain sailing for the Java and Spring developers to get started with Kalix, and remarkably reduces their lines of code and development effort.
The Code-first Java SDK is an abstraction on top of an underlying Protobuf protocol. We realize there are users who would still want to have more control with the Protobuf API specification. So we are going to continue supporting the Protobuf-based Java SDK as well.
This means that we now have two Java SDKs that support two different approaches and we have adapted the naming convention to reflect the distinction:
- “Java SDK” - is the Code-first-based Java SDK.
- “Java/Protobuf SDK” - is the Protobuf-based Java SDK.
Hereafter, all other Kalix SDKs are going to follow the same naming convention.
With other new features and enhancements that we are currently working on, we are going to improve Developer Experience by leaps and bounds. So, stay tuned!
For more details, here are some links:
- Explanation with examples of the Code-first-based and Protobuf-based approaches.
- Feature Matrix.
- And the documentation of the Java SDK and the Java/Protobuf SDK.
We’re eager to hear your feedback and are there to help you. If you’d want to talk to us, please reach out to us through the Kalix Forum.