阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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

  • 2017-01-03
  • 本文字数:1144 字

    阅读完需:约 4 分钟

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 )关注我们。

2017-01-03 18:003693
用户头像

发布了 227 篇内容, 共 80.9 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

7.3万字肝爆Java8新特性,我不信你能看完!(建议收藏)

冰河

程序员 java8 编程基础 Lamdba表达式 Stream API

呼和浩特市等保测评公司在哪里?联系电话多少?

行云管家

等保 等级保护 等保测评

荣获中国专利金奖!百度连续四年AI专利申请和授予量全国第一

百度大脑

人工智能

微信小程序获取位置信息

程思扬

小程序 小程序云开发 开发者 开发 小程序生态

微服务架构 | 如何让接口权限继续继承下去?

李尚智

Auth2 OAuth 2.0 SpringCloud Alibaba spring aop Java 开发

2021年我读过的52本书

SkyFire

c++ 个人成长 总结 读书 计算机

格创东智选择TDengine,实现海量数据实时全生命周期管理

TDengine

数据库 大数据 tdengine

云基华海正式加入openGauss社区

全新缓存组件,大幅加速云上飞桨分布式训练作业

百度开发者中心

飞桨

linux学习零基础教学课程:Linux文件系统结构

侠盗安全

Linux 运维 运维工程师 云计算架构师

关于 Apache Flink 和实时计算的最新动态、未来方向,你想知道的都在这里

Apache Flink

大数据 flink 编程 后端 实时计算

图解MongoDB集群部署原理(3)

Tom弹架构

绥北人民法院:用宜搭打造“线上法庭”,让群众少跑腿

一只大光圈

低代码 数字化转型 法院 钉钉宜搭

多种网络设备的优缺点及网络故障的排除方法

恒生LIGHT云社区

故障 网络设备

盘点2021 | 也无风雨也无晴-转行三年,再度出发

Geek_rze78a

程序员 转行 人生修炼 盘点2021 盘点 2021

性能提升一个数量级,Java大杀器来了!Java冷启动问题的成因与解决

华章IT

Java

百度飞桨EasyDL桌面版正式上线,没网也能训练AI!

百度大脑

人工智能

书单 | 2021年度经典畅销佳作盘点!

博文视点Broadview

邮储银行新一代个人业务核心系统国际汇款业务上线,openGauss核心应用再创新高度

谈B端产品技术团队的核心价值(1/100)

hackstoic

团队建设

政法委多部门联防联控平台,重点人员联防联控平台建设

a13823115807

2021年度总结,欲望反光

程思扬

经验分享 #总结# 经验总结 盘点 2021

“千言”开源数据集项目全面升级:数据驱动AI技术进步

百度大脑

人工智能

Linux之目录结构

入门小站

开源堡垒机是什么?开源堡垒机的优缺点是什么?

行云管家

开源 网络安全 堡垒机 开源堡垒机

注意,你所做的A/B实验,可能是错的!

字节跳动数据平台

大数据 测试 AB 增长黑客

使用APICloud开发app的性能提升实践

YonBuilder低代码开发平台

android APP开发 APICloud 跨端开发 app性能

云计算厂商们,你们辜负了中国的用户

码农一米

云计算 云服务

在线JSON转HTML,TABLE表格工具

入门小站

工具

构建测试的体系化思维(基础篇)

BY林子

软件测试 测试思维

大数据SQL优化之数据倾斜解决案例全集

安第斯智能云

数据

CanJS 3.0版将框架划分为更细粒度的模块_JavaScript_James Chesters_InfoQ精选文章