Kratos vs qiankun
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
A lightweight Go framework for building cloud-native microservices.
Open source · MIT
A JavaScript library for building web apps out of separately deployed micro frontends.
The short answer
Choose Kratos if you need…
- Go developers building a set of backend services that talk over HTTP or gRPC
- Teams that want an API-first workflow starting from Protobuf definitions
- Developers who want a lightweight framework with explicit, composable components
- Teams moving to cloud-native deployments who want pluggable registries and configuration
Choose qiankun if you need…
- Teams splitting one large web app across several groups that deploy independently
- Projects that mix frameworks such as React and Vue on the same page
- Developers who already use single-spa and want extra sandboxing and loading features
- Hosts that need to load micro apps lazily into a container element
Side-by-side
| Kratos | qiankun | |
|---|---|---|
| Type | Library | Library |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 26k | 16.7k |
| Setup difficulty | Intermediate | Intermediate |
| How you get it | Install with a package manager | Install with a package manager |
| Main language | Go | TypeScript |
| Last code update | 5 days ago | 6 days ago |
What each one is
Kratos
Kratos is a Go framework for building microservices, the small backend services that together make up a larger application. It provides APIs for handling HTTP and gRPC traffic, middleware, service registry, configuration, logging, and code generation from Protobuf definitions, so developers can focus on business logic. It is maintained as an open-source project under the MIT license.
qiankun
qiankun is a JavaScript library that lets a host web page load and run several independent web apps, each possibly built with a different framework and deployed by a different team. It is based on single-spa and adds features such as HTML-entry loading, a JS sandbox that keeps each app's globals and listeners contained, and optional style isolation. Teams use it when a large site is split across multiple groups and needs to be composed into one page.
Best for
Kratos
- Go developers building a set of backend services that talk over HTTP or gRPC
- Teams that want an API-first workflow starting from Protobuf definitions
- Developers who want a lightweight framework with explicit, composable components
- Teams moving to cloud-native deployments who want pluggable registries and configuration
qiankun
- Teams splitting one large web app across several groups that deploy independently
- Projects that mix frameworks such as React and Vue on the same page
- Developers who already use single-spa and want extra sandboxing and loading features
- Hosts that need to load micro apps lazily into a container element
Strengths
Kratos
- Unified transport layer covering both HTTP and gRPC
- Composable middleware and pluggable components for registry, config, and encoding
- Uses the standard library log/slog for logging, with OpenTelemetry extensions in contrib packages
qiankun
- Supports independent deployment and lazy loading of micro apps, as described in the README
- Sandboxing and style isolation are built in, with the JS sandbox on by default
- Lifecycle contract is small: bootstrap, mount and unmount exports
Not ideal for
Kratos
- Developers who do not use Go, since the framework is written for Go only
- Beginners with no Go or Protobuf experience, because the setup requires installing protoc and protoc-gen-go first
- Teams planning to upgrade from v2 without reviewing the migration guide, since v3 changes implicit behavior
qiankun
- Small single-team sites, since the setup adds complexity a single app does not need
- Teams that need the stable 2.x line today, because the 3.0 features are still under development and installed via the rc tag
- Projects looking only for a standalone sandbox for third-party scripts, which is better served by the separately published @qiankunjs/sandbox package
Trade-offs
Kratos
- Requires several tools to be installed before a first generated service runs (Go 1.25+, protoc, protoc-gen-go)
- The latest release v3.0.0 has no prebuilt binaries, so installation goes through Go tooling
- Upgrading from v2 requires reading the migration guide because v3 changes previously implicit behavior
qiankun
- The README says v3 is under active development and the latest tag still points to 2.x, so users must opt into the rc release
- Requires understanding of micro-frontend concepts and bundler configuration for each stack
- The README is truncated, so details of compatibility and limitations are not fully visible here
Getting started
Kratos
Install the CLI
go install github.com/go-kratos/kratos/cmd/kratos/v3@latestUpgrade the CLI tooling
kratos upgradeqiankun
Add qiankun to an existing host application
npm i qiankun@rcClone the repository to run the examples
git clone https://github.com/umijs/qiankun.gitFrequently asked questions
What is the difference between Kratos and qiankun?
Kratos: A lightweight Go framework for building cloud-native microservices. qiankun: A JavaScript library for building web apps out of separately deployed micro frontends. Kratos suits go developers building a set of backend services that talk over http or grpc, while qiankun suits teams splitting one large web app across several groups that deploy independently.
Are Kratos and qiankun free?
Kratos: Free and open source. qiankun: Free and open source.
Is Kratos or qiankun more popular?
Kratos has more GitHub stars (26k) than qiankun (16.7k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to Kratos and qiankun?
Other options people compare them with include go-zero, chi, warp, Vapor, GetX.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.