IHP 在发布首个公开版本两年后,终于推出了 1.0 正式版。开发团队表示,在 1.0 的开发周期中,总共发布了 34 个版本,包含超过 4700 次 commit 和 800 个 PR。
IHP 是一个现代的开箱即用 (batteries-included) Haskell Web 框架,基于 Haskell 和 Nix 构建,具有速度快、安全、易于重构的特点。从构建原型到在生产环境使用,IHP 内置了足够完备的工具库,旨在提供最佳的开发者体验。
基于 Haskell 出色的类型系统和优雅的纯函数式设计,IHP 不仅能够高效地构建 Web 应用,还可以方便地进行重构。
IHP v1.0 主要变化
IHP v1.0 意味着大多数 API 和功能已正式 GA——到达稳定状态。此版本将默认 CSS 框架从 Bootstrap 4 升级到 Bootstrap 5,并为 M1 Mac 设备预置了二进制文件。此外还优化了性能,例如将 IHP 应用程序打包成 docker 镜像时,其体积从 300 MB 压缩到 80 MB。
-
Bootstrap 5
将默认 CSS 框架从 Bootstrap 4 升级到 Bootstrap 5。
所有使用formFor
渲染的表单现在都会建议默认使用 Bootstrap 5,当然开发者需要使用 Bootstrap 4 也仍被支持。 -
M1 Builds
该版本为 Apple M1 设备预构建了二进制文件。此前从头开始编译 IHP 所需的所有内容可能需要几个小时,现在只需要一分钟即可下载二进制文件。 -
Schema Designer:索引管理
IHP Schema Designer 现已支持通过可视化界面来创建、编辑和删除列索引。在这之前,这些操作只能通过手动编辑Schema.sql
来实现 -
更小更快的生产环境使用构建
此版本优化了 nix 构建过程,此前在为生产使用构建时,nix 构建的输出包含许多开发工具,例如 Postgres 服务器和 Haskell 语言服务器。而这些在生产使用中是不需要的。随着最近的更改,它们已被排除在生产版本之外,这可以节省大量空间。例如,当打包一个简单的 IHP 应用程序时,docker 镜像的文件大小从 300 MB 压缩到 80 MB。
未来计划
开发团队表示,接下来还有几个大主题需要关注:nix flakes 集成、处理 npm 和提供完整的 I18n。
详情查看 Release Note。