Giter VIP home page Giter VIP logo

kalix-jvm-sdk's Introduction

Kalix JVM SDKs

The Kalix JVM SDKs are used to develop Kalix services using Java or Scala. Two different development approaches are available as listed below:

  • Java SDK (code-first)
  • Java Protobuf SDK (protocol-first)
  • Scala Protobuf SDK (protocol-first)

If you’re just looking to get started, we advise you to start with the Java SDK which is the only one supporting a code-first development approach at present. For more information see the documentation for implementing Kalix services in Java.

Java SDK

  • User-facing packages
    • kalix-spring-boot-starter: The Java API to build services in Kalix with a code-first development approach using a Spring Boot Starter. See Java SDK.
    • kalix-spring-boot-starter-test: A library to implement integration tests for services, based on TestContainers. Also contains library parts of unit TestKit.
  • Samples: Small example services to illustrate Kalix features for this SDK are prefixed with java-spring-. The code also provides snippets for the documentation.
  • Developer tooling
    • maven-java Maven tooling
      • kalix-spring-boot-archetype Maven archetype to create a project.

Java/Scala Protobuf SDK

  • User-facing packages

    • kalix-java-sdk-protobuf and kalix-scala-sdk-protobuf: The Java/Scala Protobuf API to build services in Kalix. See Java/Scala Protobuf SDK.

    • kalix-java-sdk-testkit and kalix-scala-sdk-testkit: A library to implement integration tests for services, based on TestContainers. Also contains library parts of unit TestKit.

  • Samples: Small example services to illustrate Kalix features are prefixed with java-protobuf- or scala-protobuf-. The code provides snippets for the documentation.

  • Developer tooling

    • codegen/core, codegen/java-gen, codegen/scala-gen Tooling to generate code from Protobuf with annotations.
    • maven-java Maven tooling
      • kalix-maven-plugin Maven plugin to trigger code generation.
      • kalix-maven-archetype-event-sourced-entity Maven archetype to create a project with an Event-sourced Entity.
      • kalix-maven-archetype-value-entity Maven archetype to create a project with a Value Entity.
    • sbt-plugin sbt plugin for code generation.
    • sbt new (gitter8) templates:

Common parts

  • docs The documentation feeding into Java SDK and Java/Scala Protobuf SDK.

  • tck The Technology Compatibility Kit which ensures the Java SDK adheres to the Kalix protocol.

License

The Kalix JVM SDKs are Open Source and available under the Apache 2 License.

kalix-jvm-sdk's People

Contributors

aludwiko avatar beritou avatar chbatey avatar dependabot[bot] avatar efgpinto avatar ennru avatar franciscolopezsancho avatar huntc avatar ignasi35 avatar johanandren avatar jroper avatar jrudolph avatar kalix-bot avatar kikiya avatar marcellanz avatar marcoderama avatar max8github avatar mblund avatar octonato avatar patriknw avatar pvlugter avatar raboof avatar ralphlaude avatar rayroestenburg avatar retgits avatar rorystokes avatar rstento avatar sebastian-alfers avatar sethtisue avatar viktorklang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.