Hunt Framework Hunt Framework 3.0.0 发布,D语言全栈 Web 开发框架

· Created · Last modified by Brian replied at · 402 times read

Hunt Framework 3.0.0 更新日志

此版本是由 HuntLabs 与葡萄科技服务端团队开发者紧密的合作,历时近半年的开发迭代,共同打造的一个重要的版本。依托 Dependency Injection 技术,整个框架的模块划分变得更加合理,且易于扩展和维护。

现在您可轻松使用 DLang 语言构建稳定的服务端应用,包含 Restful Api、gRPC、RabbitMQ、RedisMQ、Redis Cache、Momory Cache、Entity ORM 等关键技术的支持,开发者像 PHP 那样快速构建 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

Login to reply