Skip to content

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.

Kratos

Open source · MIT

A lightweight Go framework for building cloud-native microservices.

qiankun

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

Kratosqiankun
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars26k16.7k
Setup difficultyIntermediateIntermediate
How you get itInstall with a package managerInstall with a package manager
Main languageGoTypeScript
Last code update4 days ago6 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@latest

Upgrade the CLI tooling

kratos upgrade
Step-by-step guide: how to use Kratos

qiankun

Add qiankun to an existing host application

npm i qiankun@rc

Clone the repository to run the examples

git clone https://github.com/umijs/qiankun.git
Step-by-step guide: how to use qiankun

Frequently 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.