Neton 1.0.0:Kotlin/Native 服务端时代,从这一刻开始
Neton 1.0 进入公开 Beta。今天,Kotlin/Native 服务端真正拥有了自己的工程级应用框架。
Neton 是一套面向 Kotlin/Native 的完整工程框架体系。它以原生二进制为基础, 完整提供应用容器、生命周期、Controller、编译期装配、数据库事务、安全、缓存、Redis、任务、 存储、结构化日志、领域事件和 AI 能力,为大型服务端应用提供从开发、运行到运维的统一底座。
这是一套可以直接承载复杂业务、面向长期维护的真框架。它让 Kotlin 开发者第一次不必在两条路之间 妥协:要么选择成熟的工程能力并接受更重的运行时,要么选择 Native 效率却从底层基础设施重新组装。
Neton 要同时拿下两边:成熟框架级的工程效率,Kotlin/Native 原生二进制的启动速度、资源密度 和部署形态。
Neton 1.0 不只是一个版本号。它标志着 Kotlin/Native 从客户端共享与底层开发,正式迈进能够 建设大型服务端应用的新时代。
本文记录 Neton 1.0.0 这条版本线的整体方向与能力。1.0.0 目前处于公开 Beta,正式发布日期未定; 具体依赖哪个制品版本,见 Maven Central。
Neton 是什么
Neton 是面向 Kotlin/Native 的下一代工程级 Web 应用框架。它保留成熟企业框架最有价值的能力: 声明式开发、清晰分层、统一生命周期和开箱即用的基础设施;同时彻底换掉依赖运行时扫描、反射 和动态代理的实现方式。
路由、参数绑定、实体表、模块装配和部分横切能力由 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 或边缘服务。
它真正想颠覆什么
Neton 将 Kotlin 后端的技术基线提升到一个新的层次:完整工程体系、编译期确定性与 Native 运行 效率同时成立,并由此打破后端开发中长期存在的三组二选一。
1. 原生效率,不等于从零组装
过去选择原生服务端,往往意味着团队要自己决定目录结构、生命周期、依赖装配、数据库边界、 日志格式和错误模型。应用跑得很轻,工程成本却转移给了每一个项目。
Neton 把这些重复决策收进框架契约,让 Native 不再只是性能优化,也可以是一套可复制的工程方法。
2. 工程化,不等于更重的运行时
声明式 Controller、自动装配和数据映射不一定要靠运行时反射完成。Neton 用 KSP 把复杂度前移到 编译期:保留易用的 API,同时让错误尽可能在构建阶段暴露。
这改变了“开发效率越高,运行时就越重”的默认假设。
3. 低资源,不等于离开 Kotlin
团队可以继续使用 Kotlin 的类型系统、协程、DSL 和 Multiplatform 工具链,不必为了原生部署立刻 改写成另一门语言。Neton 试图提供一条渐进路线:保留 Kotlin 的生产力,把运行形态换成 Native。
一套为长期维护而设计的分层
Neton 推荐并在应用模板中落实下面的职责边界:
Controller -> Logic -> Table -> Model
HTTP 业务 数据 实体Controller 只处理协议和权限,Logic 编排业务状态与事务,Table 承担单表数据访问,Model 保持纯粹。 这套分层让项目增长到数十个模块后,团队仍然清楚每一类代码的职责和位置。
框架同时坚持一个更严格的原则:声明存在的能力,运行时必须真的生效。 关键配置错误会在启动期 失败;路由、限流、缓存、安全、事务和生命周期都有对应的契约测试。比“功能很多”更重要的是, 这些功能不能只是看起来存在。
五分钟开始
最快的方式是直接运行官方模板:
git clone https://github.com/netonframework/neton-app.git
cd neton-app
./gradlew run或者在 Kotlin Multiplatform 项目中引入当前维护版本:
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 意味着什么
1.0.0 处于 Beta,表示主架构和核心契约已经形成,并经过真实多模块应用验证;它不表示所有 API 已经 永远不变。在 1.0.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 后端必须在成熟框架的工程效率与 Native 的原生效率之间做选择?
Neton 的答案,是不再选择。Kotlin/Native 的服务端时代,现在开始。