diff --git a/daprdocs/content/en/developing-applications/sdks/_index.md b/daprdocs/content/en/developing-applications/sdks/_index.md index 64a774f21..321d053cd 100644 --- a/daprdocs/content/en/developing-applications/sdks/_index.md +++ b/daprdocs/content/en/developing-applications/sdks/_index.md @@ -11,34 +11,25 @@ The Dapr SDKs are the easiest way for you to get Dapr into your application. Cho ## SDK packages -- **Client SDK**: The Dapr client allows you to invoke Dapr building block APIs and perform actions such as: - - [Invoke]({{< ref service-invocation >}}) methods on other services - - Store and get [state]({{< ref state-management >}}) - - [Publish and subscribe]({{< ref pubsub >}}) to message topics - - Interact with external resources through input and output [bindings]({{< ref bindings >}}) - - Get [secrets]({{< ref secrets >}}) from secret stores - - Interact with [virtual actors]({{< ref actors >}}) -- **Server extensions**: The Dapr service extensions allow you to create services that can: - - Be [invoked]({{< ref service-invocation >}}) by other services - - [Subscribe]({{< ref pubsub >}}) to topics -- **Actor SDK**: The Dapr Actor SDK allows you to build virtual actors with: - - Methods that can be [invoked]({{< ref "howto-actors.md#actor-method-invocation" >}}) by other services - - [State]({{< ref "howto-actors.md#actor-state-management" >}}) that can be stored and retrieved - - [Timers]({{< ref "howto-actors.md#actor-timers" >}}) with callbacks - - Persistent [reminders]({{< ref "howto-actors.md#actor-reminders" >}}) +Select your [preferred language below]({{< ref "#sdk-languages" >}}) to learn more about client, server, actor, and workflow packages. + +- **Client**: The Dapr client allows you to invoke Dapr building block APIs and perform each building block's actions +- **Server extensions**: The Dapr service extensions allow you to create services that can be invoked by other services and subscribe to topics +- **Actor**: The Dapr Actor SDK allows you to build virtual actors with methods, state, timers, and persistent reminders +- **Workflow**: Dapr Workflow makes it easy for you to write long running business logic and integrations in a reliable way ## SDK languages -| Language | Status | Client SDK | Server extensions | Actor SDK | -|----------|:------|:----------:|:-----------:|:---------:| -| [.NET]({{< ref dotnet >}}) | Stable | ✔ | [ASP.NET Core](https://github.com/dapr/dotnet-sdk/tree/master/examples/AspNetCore) | ✔ | -| [Python]({{< ref python >}}) | Stable | ✔ | [gRPC]({{< ref python-grpc.md >}})
[FastAPI]({{< ref python-fastapi.md >}})
[Flask]({{< ref python-flask.md >}})| ✔ | -| [Java]({{< ref java >}}) | Stable | ✔ | Spring Boot | ✔ | -| [Go]({{< ref go >}}) | Stable | ✔ | ✔ | ✔ | -| [PHP]({{< ref php >}}) | Stable | ✔ | ✔ | ✔ | -| [Javascript]({{< ref js >}}) | Stable| ✔ | | ✔ | -| [C++](https://github.com/dapr/cpp-sdk) | In development | ✔ | | -| [Rust](https://github.com/dapr/rust-sdk) | In development | ✔ | | | +| Language | Status | Client | Server extensions | Actor | Workflow | +|----------|:------|:----------:|:-----------:|:---------:|:---------:| +| [.NET]({{< ref dotnet >}}) | Stable | ✔ | [ASP.NET Core](https://github.com/dapr/dotnet-sdk/tree/master/examples/AspNetCore) | ✔ | ✔ | +| [Python]({{< ref python >}}) | Stable | ✔ | [gRPC]({{< ref python-grpc.md >}})
[FastAPI]({{< ref python-fastapi.md >}})
[Flask]({{< ref python-flask.md >}})| ✔ | ✔ | +| [Java]({{< ref java >}}) | Stable | ✔ | Spring Boot | ✔ | | +| [Go]({{< ref go >}}) | Stable | ✔ | ✔ | ✔ | | +| [PHP]({{< ref php >}}) | Stable | ✔ | ✔ | ✔ | | +| [Javascript]({{< ref js >}}) | Stable| ✔ | | ✔ | | +| [C++](https://github.com/dapr/cpp-sdk) | In development | ✔ | | | +| [Rust](https://github.com/dapr/rust-sdk) | In development | ✔ | | | | ## Further reading