什么是 Nex?
Nex 是一个基于 Elixir 的极致简约 Web 框架。它的核心目标是:通过消除前端工程的复杂性,让 Web 开发重回“服务端驱动”的快乐。
🚀 框架定位
Nex 是一次关于“简单性”的赌注。我们选择 HTMX 作为默认的交互层,是因为我们相信:对于大多数 Web 应用,服务端渲染结合轻量级声明式交互,能提供远超当前主流前端堆栈的开发效率。
Nex 不是 Phoenix 的替代品,而是针对特定场景的轻量化选择。
- 极简主义:没有繁琐的配置文件,没有复杂的 JavaScript 构建流程(No Node.js, No Webpack/Esbuild)。
- 声明式交互:借助 HTMX,通过简单的 HTML 属性实现异步交互,无需手动编写复杂的 AJAX 逻辑。
- Vibe Coding 友好:专门为 AI 辅助编程优化,代码结构极其局部化(Locality of Behavior)。
✨ 核心特性
1. 极简的交互模型
Nex 将异步交互简化为 HTML 属性。我们押注 HTMX 能够覆盖 90% 的交互需求,而无需引入重型的客户端框架。
2. 文件系统路由
项目结构即路由。
-
src/pages/index.ex->/ -
src/pages/users/[id].ex->/users/123 -
src/api/login.ex->/api/login
3. 服务端状态管理 (Nex.Store)
Nex 提供了一个基于页面的状态存储机制。这是对 Web 交互中“临时状态”处理方式的一次重新思考,让状态保持与用户心智中的“页面生命周期”同步。
4. 智能错误处理
Nex 会根据请求意图自动选择最佳的错误展示方式,确保无论在异步片段更新、JSON API 还是全页导航场景下,都有合理的反馈。
🎯 适用场景
| 适合使用 Nex | 不适合使用 Nex |
|---|---|
| 内部管理系统、后台看板 | 复杂的实时多人协作工具(建议使用 LiveView) |
| CRUD 类应用、原型快速开发 | 极其重度的客户端动画/交互 |
| 追求极致开发效率的个人项目 | 需要高度自定义 Webhook 处理的底层服务 |
| 配合 AI 快速生成功能的场景 | 大型、超长期维护的企业级遗留系统 |
⚖️ 框架对比
| 特性 | Nex | Phoenix | React/Vue |
|---|---|---|---|
| 学习曲线 | 极低(只需 HTML/Elixir) | 中/高 | 高(需要掌握 JS 生态) |
| 构建工具 | 无 | Esbuild/Tailwind CLI | Vite/Webpack |
| 状态同步 | 自动 (HTMX + Store) | 强 (LiveView) | 手动 (API + State) |
| JS 代码量 | 接近 0 | 少量 | 100% |
| AI 编写难度 | 极易 | 一般 | 较难(上下文散乱) |