今天,Kotlin/Native 服务端真正拥有了自己的工程级应用框架。 欣赏 Neton 代码的魅力: 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 或边缘服务。 它真正想颠覆什么 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 意味着什么 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 的服务端时代,现在开始。 官方网站 快速开始 GitHub 源码与 beta1 标签 官方启动模板 Maven Central 制品 Apache 2.0 License
Neton 1.0.0-beta1 发布:Kotlin/Native 服务端时代,从这一刻开始
来源:开源中国
2026年08月29日 14:01
0 阅读
分享到: