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。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring Data 2022.0.0-RC1, 2021.2.5 & 2021.1.8 发布
Spring Data 2022.0.0 发布了首个 RC 版本。 公告写道,此版本修订了模块结构,尤其是 Spring Data for Apache Geode 不再包含到发行版中。其他主要变化包括: 移除TypeInformation中对ClassTypeInformation的引用#2703 允许对Range进行函数式映射#2692 支持在 AOT 期间捕获通过 ManagedTypes 暴露的类型#2680 当使用 Java Records 时,支持在构造函数解析中回滚到规范构造函数 (canonical constructor)#2625 同时发布的还有 2021.2.5 和 2021.1.8,但没有提供更新说明,点此查看详情。 Spring Data 是一个用于简化数据库访问,并支持云服务的开源框架,旨在为数据访问提供一个熟悉的、一致的、基于 Spring 的编程模型,同时仍然保留底层数据存储的特殊特性 (traits),使得数据访问技术、关系型和非关系型数据库、map-reduce 框架和基于云的数据服务的使用变得简单。 Spring Data 属于大型工程项目,包含许...
- 下一篇
Mongoose 6.7 发布,MongoDB 异步对象模型工具
Mongoose 是设计用于异步环境的 MongoDB 对象模型工具。Mongoose 支持 promises 和 callbacks。Mongoose 6.7 正式发布,本次更新内容如下: 升级到 mongodb 驱动 4.11.0 添加 UUID 模式类型(BSON Buffer SubType 4) 添加 $fill 管道阶段 允许使用 mongoose.Types.* 定义模式路径,以解决 TS 类型推理问题 添加 alias() 方法,使其更容易为一个给定的路径定义多个别名 为 Model.discriminator() 添加 mergeHooks 选项,以避免重复的 hooks 添加 $timestamps() 方法,为 save()、bulkSave() 和 insertMany() 设置时间戳 更多详情可查看:https://github.com/Automattic/mongoose/releases/tag/6.7.0
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程