今天,Kotlin/Native 服务端真正拥有了自己的工程级应用框架。
Neton.run(args) {
http {
port = 8080
}
routing {
get("/") {
"Hello Neton!"
}
}
}
Neton 是一套可对标 Spring Boot 生态的 Kotlin/Native 完整工程框架体系。它以原生二进制为基础,
完整提供应用容器、生命周期、Controller、编译期装配、数据库事务、安全、缓存、Redis、任务、
存储、结构化日志、领域事件和 AI 能力,为大型服务端应用提供从开发、运行到运维的统一底座。
这是一套可以直接承载复杂业务、面向长期维护、以替代 Spring Boot 为目标的真框架。它让 Kotlin
-
开发者第一次不必在两条路之间妥协: 要么选择成熟工程能力并接受更重的运行时,要么选择 Native
效率却从底层基础设施重新组装。
-
Neton 要同时拿下两边: Spring Boot 级的工程效率,Kotlin/Native 原生二进制的启动速度、资源
密度和部署形态。**
1.0.0-beta1 不只是一个版本号。它标志着 Kotlin/Native 从客户端共享与底层开发,正式迈进能够
建设大型服务端应用的新时代。
1.0.0-beta1 是 Neton 的首个公开 Beta 里程碑。后续维护版本 1.0.0-beta2 已发布,
新项目应使用 beta2;本文记录 beta1 所确立的产品方向与核心能力。
Neton 是什么
Neton 是面向 Kotlin/Native 的下一代工程级 Web 应用框架,也是为 Kotlin 团队提供的一条
Spring Boot 替代路线。它保留成熟企业框架最有价值的能力:声明式开发、清晰分层、统一生命周期
和开箱即用的基础设施;同时彻底换掉依赖运行时扫描、反射和动态代理的实现方式。
路由、参数绑定、实体表、模块装配和部分横切能力由 KSP 在编译期生成。运行时直接执行已经确定的
代码,无需再做类路径扫描、反射解析和动态装配。
最终应用编译为不依赖 JVM 的原生可执行文件。项目样例在特定机器和 Release 构建下测得约 3 ms
启动、约 12–20 MB 常驻内存;真实结果会随业务代码、依赖、硬件和 I/O 条件变化。这种运行形态让
高密度容器、快速扩缩容、边缘节点和命令式服务拥有了完整的 Kotlin 工程化选择。
它已经能做什么
-
Neton 1.0 Public Beta 覆盖的不只是 HTTP:
-
Web 与 API:Controller 注解、Routing DSL、参数绑定、中间件、统一异常和响应处理。
-
应用生命周期:确定的启动顺序、Context freeze、失败快速退出、资源逆序关闭。
-
数据库:PostgreSQL、MySQL、SQLite,类型安全 Query DSL,真实协程事务与生成主键回填。
-
安全:Authenticator + Guard、JWT、路由组授权、权限注解和身份上下文冻结。
-
缓存与 Redis:L1/L2 缓存、限流、分布式锁,以及严格的配置优先级。
-
工程基础设施:结构化日志、traceId/spanId、定时任务、文件存储、本地与 S3 后端、数据验证。
-
领域协作:进程内领域事件,以及由应用选择持久化载体的可重试事件契约。
-
AI 集成:独立的 neton-ai 模块,按需引入,不把 AI 依赖塞进基础运行时。
-
可替换 HTTP 传输:默认使用 Ktor Adapter;应用也可以显式引入外部 Hyper4k Adapter。
它适合构建业务 API、BFF、微服务、管理后台后端、支付与会员系统、内部平台,以及对冷启动和
内存密度敏感的 Serverless 或边缘服务。
它真正想颠覆什么
1. 原生效率,不等于从零组装
过去选择原生服务端,往往意味着团队要自己决定目录结构、生命周期、依赖装配、数据库边界、
日志格式和错误模型。应用跑得很轻,工程成本却转移给了每一个项目。
Neton 把这些重复决策收进框架契约,让 Native 不再只是性能优化,也可以是一套可复制的工程方法。
2. 工程化,不等于更重的运行时
声明式 Controller、自动装配和数据映射不一定要靠运行时反射完成。Neton 用 KSP 把复杂度前移到
3. 低资源,不等于离开 Kotlin
团队可以继续使用 Kotlin 的类型系统、协程、DSL 和 Multiplatform 工具链,不必为了原生部署立刻
改写成另一门语言。Neton 试图提供一条渐进路线:保留 Kotlin 的生产力,把运行形态换成 Native。
一套为长期维护而设计的分层
Controller -> Logic -> Table -> Model
HTTP 业务 数据 实体
Controller 只处理协议和权限,Logic 编排业务状态与事务,Table 承担单表数据访问,Model 保持纯粹。
这套分层让项目增长到数十个模块后,团队仍然清楚每一类代码的职责和位置。
五分钟开始
git clone https://github.com/netonframework/neton-app.git
cd neton-app
./gradlew run
implementation("com.netonstream:neton:1.0.0-beta2")
neton 坐标提供可运行服务所需的 core、logging、http 和 routing,并通过 BOM 对齐可选模块:
implementation("com.netonstream:neton-database")
implementation("com.netonstream:neton-security")
implementation("com.netonstream:neton-redis")
implementation("com.netonstream:neton-cache")
Beta 意味着什么
beta1 表示主架构和核心契约已经形成,并经过真实多模块应用验证;它不表示所有 API 已经永远不变。
在 1.0 正式版之前,团队仍会优先修正不清晰、不一致或无法长期维护的设计。
当前支持 macOS ARM64、Linux x64、Linux ARM64 和 Windows x64。除 neton-database 外的模块也支持
macOS x64;由于上游数据库驱动未发布对应制品,Intel Mac 暂不能使用该模块。
我们欢迎真实项目把登录、权限、事务、缓存、任务、文件、支付和运维链路完整交给 Neton。Beta
阶段最有价值的反馈,是那些只有业务增长后才会暴露的问题。
从今天开始
Neton 1.0 Public Beta 标志着 Kotlin/Native 服务端从“可以写 Web 服务”迈向“可以持续建设大型应用”。
从这一刻开始,Kotlin/Native 不再只是服务端领域的实验选项,而是拥有完整框架、标准工程结构和
真实业务验证的新一代后端平台。
它为下一代 Kotlin 服务端确立了一个新的完整选项:
为什么 Kotlin 后端必须在 Spring Boot 的工程效率与 Native 的原生效率之间做选择?
Neton 的答案,是不再选择。Kotlin/Native 的服务端时代,现在开始。