Hunt Framework 3.0.0 发布,D语言 Web 开发框架
Hunt Framework 3.0.0 更新日志
此版本是由 HuntLabs 与葡萄科技服务端团队开发者紧密的合作,历时近半年的开发迭代,共同打造的一个重要的版本。依托 Dependency Injection 技术,整个框架的模块划分变得更加合理,且易于扩展和维护。
现在您可轻松使用 DLang 语言构建稳定的服务端应用,包含 RESTFul API、gRPC、RabbitMQ、RedisMQ、Redis Cache、Momory Cache、Entity ORM 等关键技术的支持,开发者像使用 Laravel 和 Spring Boot 那样快速构建 Web 服务端应用;
此版本进一步简化操作,提升开发者的友好度,让更多 PHP 和 Java 开发者能几分钟入门开发 Web 服务。
版本重要更新
- 重构框架核心,依托 Dependency Injection 技术增强扩展性;
- 重构了二进制序列化模块,性能提升 1000%,比 C++ 二进制库 cereal 性能还要快 100%;
- 增强 JSON 序列化的操作,支持更复杂的对象与 JSON 字符串的相互转换和绑定;
- 增强错误处理,在各种 500 错误的情况下根据设定可显示详细的错误堆栈信息;
- 整合最新的 Hunt Console ,可在启动时增加参数进行一些配置;
- 重新设计配置文件形式,方便用户自定义配置文件由框架统一加载,对未来的配置中心进行铺路;
- 重构后加入很多基础框架的 ServiceProvider 模块;
- 支持更稳定的 Worker 模式,改进底层并发能力;
- 支持最新的 RabbitMQ,基于 Hunt AMQP 实现;
- Redis 重构全新的连接池方案,更稳定;
- Database 和 Redis 对象统一回收管理机制,更好的控制内存分配;
- 基于 Hunt Shiro + Hunt Jwt 整合用户安全认证方案;
- Database 和 Redis 都采用 Hunt Net 网络库实现通信,减少对第三方库的依赖,更强可跟踪性;
- 改进 Linux 平台下 epoll 并发模型的稳定性;
- 对 Windows 平台 IOCP 模型进行支持;
- 改进 macOS 平台 kqueue 并发模型的稳定性;
- 移除 STOMP 模块,因为一般项目中并不常用;
- 改进了 Hunt Cache 的 API,同时底层采用最新的二进制序列化库;
- 移除 Routing 模块,整合依赖 Hunt Http 库中的 Routing 模块;
- 增强改进 Request 和 Response 对象;
- 增强 Hunt Http 库中的 HttpClient,包括各种本地化的 Cookie 操作与文件上传的稳定性改进;
- 整合 Breadcrumbs 方案,让面包屑更容易管理;
- 增加 TaskExecutor 异步操作方案,基于内部消息队列实现(RabbitMQ、RedisMQ、MemoryMQ);
- 增强 Twig 模板引擎的兼容,更接近 PHP 开发者的使用习惯;
示例代码
import hunt.framework;
void main(string[] args)
{
app().run(args);
}
代码资源
Gitee: https://gitee.com/huntlabs/hunt-framework
Github: https://github.com/huntlabs/hunt-framework
相关文档与支持
D 语言中文社区: https://forums.dlangchina.com
官方 WIKI 文档: https://github.com/huntlabs/hunt-framework/wiki

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
微软开源基于 Rust 的新软件,可在 Kubernetes 上运行 WebAssembly
来自微软的 DeisLabs 团队最近开源了一款完全基于 Rust 的新软件 Krustlet,该软件可以用来在 Kubernetes 上运行 WebAssembly 模块。 Kubernetes 是来自谷歌的开源容器集群管理系统,主要用 Go 语言编写。而微软此次选用 Rust 来编写这款 Kubernetes 相关项目,背后有着怎样的原因? Azure DeisLabs 的高级软件工程师 Taylor Thomas 解释,主要动机之一是 Rust 与 WebAssembly(缩写为 WASM)的兼容性。WASM 是便携式的抽象语法树,能够让开发者运用自己熟悉的编程语言进行编译,再借由虚拟机引擎在浏览器内运行。经过编译的 WASM 二进制文件(或称模块)可以在任何系统上运行,而Rust 是为这些二进制文件提供本机构建支持的少数语言之一。 除了兼容性之外,DeisLabs 团队选择 Rust 的另一大原因是其“强大的安全保障”。Thomas 表示,尽管 Rust 的借用检查器(borrow checker)在项目初期带来一些麻烦,可一旦学习并熟练使用后,用 Rust 编写的效率就非常高...
-
下一篇
2020云游戏喜迎“开门红”!华为云扮演“多面手”,技术赋能游戏厂商
即将开播:4月29日,民生银行郭庆谈商业银行金融科技赋能的探索与实践 【51CTO.com原创稿件】2020年,固然有众多行业因新冠疫情被迫按下了暂停键,如旅游、餐饮、影视院线等等,但也有一些行业因疫情变得更加火爆,譬如游戏行业。按照传统,每年的春节假期基本上都是游戏行业一年中的高峰值阶段,这次疫情又间接增加了大家“宅”的时间,游戏一跃成为人们社交娱乐的首选。在众多游戏爆款中,“云游戏”成为广大游戏爱好者的新宠,不需要消费过多的硬件设备,凭着商用5G网络,玩家们就可以畅玩超清画质游戏。在这波新势力新趋势中,华为云作为“云游戏”火爆背后的底层支撑服务商而备受各方关注。 储备云游戏产业生力军 作为云游戏领域整体技术解决方案服务商,华为云早在2016年就做出了云游戏的产品原型,从芯片、AI算法、云端计算渲染到网络优化均为华为云自研技术。这让华为云在所有云游戏的技术支持服务商里,成为了一道独特的风景线。 和其他玩家不同,华为云不仅仅扮演了一个云服务商的角色,凭借在5G网络方面的深厚积淀,华为云更了解如何为云游戏厂商提供低延时更优化的通信网络;同时,华为还肩负着智能终端厂商的角色,通过与终端系统...
相关文章
文章评论
共有0条评论来说两句吧...