IHP 1.0 正式发布,开箱即用的 Haskell Web 框架


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。

 


相關推薦

2022-06-22

历经一年多的开发,mojo.js 终于发布了首个主要版本 1.0。 mojo.js 是 Node.js 实时 Web 框架,可将它视作采用 TypeScript 重写的 Mojolicious(Mojolicious 是 Perl 开发的 Web 框架)。mojo.js 使用了所有最新的 JavaScript 特性,专为聚焦超媒体

2024-08-10

ZUI 3是一个开源的UI组件库,同时也是开源项目管理系统「禅道项目管理软件 」的基础UI框架。ZUI 3支持最大限度的定制,不依赖任何其他JS框架,可以在任何Web应用中通过原生的方式使用。 在ZUI 3中主要包含如下内容: 统一

2023-05-05

Qwik 是一个全栈式 Web 框架,Qwik 基于 React、Angular 和 Vue 等其他 Web 框架的概念,但以 JavaScript 流等更新的方法脱颖而出,允许以高性能向用户交付复杂的 Web 应用程序。 随着 Web 应用程序变得越来越大,它们的启动性能会下降

2022-06-30

构建步骤,可以将部署时间缩短一个数量级。近日,Fresh 发布了第一个稳定版本。 Fresh 使用了一种不同的模型:默认情况下,开发者会将 0 KB 的 JS 发送给客户端。因为大多数渲染在服务器上完成,客户端只负责重新渲染交互

2023-09-10

2022年9月8日,Javascript运行时Bun正式发布1.0版本,标志着这个由前Facebook工程师创建的项目正式进入稳定生产可用阶段。 Bun的愿景是通过深度整合,让Javascript开发“快如闪电”。这个新生力量是否能撼动Javascript界老牌霸主Node的

2024-01-03

更新日志: [规范] admin.js 变量命名。 [新增] 用户个人资料页面模板,用于个人资料的展示。 [新增] PearAdmin.instances.tabPage 实例。 [新增] PearAdmin.instances.tabPage.removeTab 方法。 [新增] PearAdmin.instances.tabPage.removeCurrentTab 方法。 [新增]

2023-02-13

Fastcms 是基于 SpringBoot 前后端分离技术,且具有插件化架构的 CMS 系统,系统具有高扩展性,易维护性,可以快速搭建网站,微信小程序,是开发微信营销插件的基石 Fastcms 是真正意义上的插件化开源项目,支付,搜索,订单催

2023-09-26

Pigsty v2.4.1 现已发布,支持 Supabase、PostgresML,与大量实用新扩展插件。 Highlights Supabase 支持:使用 Pigsty 管理的外部 postgres 运行开源 Firebase 替代版本:配置示例 支持 PostgresML: 在 Postgres 中运行 LLM、向量运算、经典机器学

2022-09-16

Jeepay 是一套适合互联网企业使用的开源支付系统,支持多渠道服务商和普通商户模式。已对接微信支付,支付宝,云闪付官方接口,支持聚合码支付。 v1.15.0 版本升级内容: 增加计全付(jeepay plus线上支付平台)支付渠道接

2022-11-30

Jeepay 是一套适合互联网企业使用的开源支付系统,支持多渠道服务商和普通商户模式。已对接微信支付,支付宝,云闪付官方接口,支持聚合码支付。 v1.16.0 版本升级内容: 微信转账接口支持V3版本 微信分账接口支持V3版

2022-11-08

十月初,MQTT X 团队发布了 1.8.3 版本。对桌面端应用实现了 MQTT 5.0 版本适配,MQTT X CLI 支持了多主题订阅,同时修复了多个已知问题。此外,团队正专注于 1.9.0 版本的开发,最主要的更新是为 MQTT X CLI 加入了新的命令 – bench,

2024-03-28

Zino 开发框架已发布 0.18 版本!这两个多月的改进,主要集中在以下方面: 添加了Plugin类型,可用于加载异步初始化的插件,支持运行环境选择以及依赖检测; 进一步改善ORM,添加时区设置,优化数据库连接时create_table的

2022-09-12

Fresh 1.1 稳定版已发布,新版本包含许多重要的改进,使 Fresh 更易于使用、更快,并且更实用。 Fresh 是 Deno 的全新全栈 Web 框架。默认情况下,使用 Fresh 构建的网页不会向客户端发送 JavaScript。该框架没有构建步骤,可以将部署

2023-04-24

blendOS v2 “Avial” 已发布,这是一个基于 Arch Linux 的终极混合发行版。 blendOS 致力于在一个操作系统中提供所有软件。用户可以从 Arch、Fedora、Ubuntu 等发行版仓库下载软件,也可使用 apt、dnf-3、pacman 和 yay 等包管理器直接安装