ThinkJS 3 正式版发布!

2017-09-04 09:47:04 +08:00
 welefen

ThinkJS 是一款拥抱未来的 Node.js Web 框架,致力于集成项目最佳实践,规范项目让企业级团队开发变得更加简单,更加高效。我们的 Github 地址是: https://github.com/thinkjs/thinkjs 欢迎大家 star~

ThinkJS 2.x 发布的时候,虽然我们带来了很多非常棒的功能,但我们也意识到本身的不足。针对这些问题,开发团队经过几个月的紧张开发,我们很高兴的宣布,ThinkJS 迎来了新的大版本 3.0。目前该版本已经在线上多个项目中使用,简单一个命令就可以让你下载使用它:

npm install -g think-cli 

有哪些更新?

正如之前所说,为了解决之前遗留的不足问题我们开发了新版本,下图为我们新版的架构图。

除了引进了新的架构,对框架进行高度解构外,我们还增加了很多新的功能,优化了老版为人诟病的用法,下面就让我们来具体看看有哪些更新吧。

基于 Koa 重构框架架构

相较于之前使用自身集成架构,3.0 最大的改变就是将底层架构基于 Koa 重构。重构之后的 ThinkJS 3.0 版本能完全兼容 Koa 的中间件。使用 Koa 重构主要有下面几个原因:

精简核心,支持扩展和适配器

ThinkJS 2.x 版本内置了很多功能,这些功能基本上是很多项目的最佳实践,但并不一是每个项目都需要这些所有的功能,但基于 2.x 的架构要实现这个需求就非常困难。所以 ThinkJS 3.0 版本基于 Koa 重构后在这块做了精简,不再提供丰富的功能,而是提供一个最基本的核心,然后通过扩展满足更多的需求。

多进程模型

ThinkJS 2.x 单进程是可选配置,且框架设计较为简单,很多功能需要开发者手动处理。我们在 3.0 中开发了 think-cluter 模块直接内置了多进程模型,最大限度的利用多核 CPU 提高响应速度。 同时,提供一套进程之间通信的方式,如::通知其他进程执行某个任务,代码在线更新后重启所有的子进程。

智能的错误提示

Node.js 开发中一个比较头疼的问题就是错误处理问题,遇到问题后查错和定位问题后比较麻烦,尤其是使用了 Babel 转译之后,为此我们专门开发了 think-trace 模块用来跟踪错误问题,能够更加友好的捕捉显示错误堆栈信息。

还有!

除了刚才说的一些功能,我们还有一些其它的更新要告诉大家:

感谢

最后感谢所有使用 ThinkJS 框架的用户,感谢你们多年来的支持,是你们的存在让我们有了更进一步的勇气。当然还需要感谢所有为 ThinkJS 项目做过贡献的贡献者,包括代码贡献和文档贡献,你们的努力让 ThinkJS 变的越来越棒!如果没时间帮助贡献代码想用其它方式支持我们也可以通过捐赠的方式支持我们,你们的捐赠会用来帮助 ThinkJS 推广。感谢你们所有人,让我们一起拥抱 ThinkJS,期待更美好的未来吧!

8047 次点击
所在节点    Node.js
23 条回复
hantsy
2017-09-05 10:13:49 +08:00
@welefen 现在的一些框架基本都是流行从 callback 到 closure/lambda,expressjs 一个核心概念就是 middleware。

前端框架现在也是借助类似概念,react/redux,angular 4.3 的 HTTP Client 设计等。
后端 PHP 的规范 PSR 中也定义了 Middleware,Java 中的一些框架, vertx (支持多种语言), sparkjava, 都多少有 expressjs 的影子,Spring 5 也引入 fp 类似编程模型,如 RouterFunction, HandlerFunction, (可以使用 Labmda 简化)等,https://github.com/hantsy/spring-reactive-sample/blob/master/boot-routes/src/main/java/com/example/demo/DemoApplication.java。

当然像 ThinkJS 这种直观的 controller,肯定会有人喜欢,就如十几年前我第一次看到 Struts 一样,当时也在试用 Spring MVC,一些人鼓吹 Spring MVC 有多好,我当时也没觉得。但 Struts 最糟糕的设计就是强制继承( Form,Action ),Spring MVC 相对设计自由一些,Spring MVC 真正的优势在于后面借助 Java 5 Annotation 后,整个项目代码就干净了很多。
viko16
2017-09-05 10:15:12 +08:00
依旧满满的 PHP 写法即视感
ie88
2017-10-12 17:32:44 +08:00
想知道 3.x 的文档在哪里?官网只有 2.0 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/387940

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX