转载

CanJS 3.0版将框架划分为更细粒度的模块

Bitovi 发布了 JavaScript框架CanJS的3.0版。据公司的CEO Justin Meyer介绍,该版本“最终表示了对CanJS特性的理解和接受,即要么适应要么消亡”。

CanJS最早出现于2007年,开始时是“巨无霸”JavaScript框架JavaScriptMVC的一部分,现在成为从JavaScriptMVC中独立出来的一系列项目之一。3.0版更新距最初的发布已过去了近10年,该版本为开发人员提供了新的特性。

最新版本中的技术改进使CanJS的 模型层 和 Observable对象 更强大也更易用。在3.0版中还可清晰看到,框架中做了更细粒度的模块划分。

作为Bitovi公司的开发布道师,Chasen Le Hara与InfoQ进行了一次面对面的交流。Le Har诠释了CanJS所做的改进。

Le Hara说:“对项目做大规模升级是一件困难的事情,要么一步到位要么什么都不要做。开发人员必须一鼓作气完成所有大幅度变更。更糟的是,如果移除了一些所谓的旧特性,那么开发人员就必须要面对抉择,即是否应升级为新的替代特性,或是完全不升级。”

“前期在Can-ejs上我们就经历了这种事情。Can-ejs是我们曾想要推出的一种语言,几年前被我们弃用了,但是我们依然希望能为仍在使用该语言的社区成员提供支持。现在Can-ejs以独立项目形式存在,其维护并未对主项目产生任何妨碍。”

Le Hara提出,将CanJS划分为细粒度模块有助于团队和社区去试验新技术。

“在我们的 生态系统 中有很多的项目,这些项目无需交付到主模块中。”Le Hara说。“当你想要试验一些新特性时,通过开关模块功能就能轻松实现。对此我们正使用与 Kefir 集成的 Can-stream 和 Can-define-stream 库实现。”这简化了函数式响应型编程。

在CanJS模型层Can-connect中的改进涉及了对特性的抽取,其中包括了内存管理、自动列表更新和fall-through缓存等。Le Hara告诉InfoQ,将这些特性包含在程序库中方便了开发人员在应用中使用它们,“避免了自己去开发这些特性”。

2017年CanJS将十岁了。Le Hara说,社区“依然在谈论”其应优先发展什么,为了与其它的项目及新技术更好地协作,CanJS团队计划对框架的模块进行改进。Can-connect模型层在设计上可与Angular和React等项目协作,并且CanJS团队在寻找熟悉相关技术的贡献者来一起找出与这些框架集成的最好方式。

CanJS是开源的,并以 MIT许可 发布。CanJS鼓励InfoQ读者成为项目贡献者。项目 贡献者指南 是最好的切入点,其中给出了如何提交软件缺陷和建议特性的信息。CanJS还具有活跃的 论坛 和 Gitter聊天室 ,欢迎新的项目开发人员加入。

查看英文原文: CanJS 3.0 Release Breaks Framework into Smaller Modules

感谢薛命灯对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。

原文  http://www.infoq.com/cn/news/2017/01/canjs-30
正文到此结束
Loading...