发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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:002185
用户头像

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

关注

评论

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

Acrobat Pro DC 2023(PDF编辑软件)mac/win

iMac小白

Acrobat DC 2023 PDF编辑软件 Acrobat DC 2023破解版 Acrobat DC 2023下载

低代码:时代的选择

树上有只程序猿

低代码 低代码开发平台

敏捷思维和免费敏捷管理工具

顿顿顿

敏捷项目管理 敏捷开发管理工具 scrum工具 scrum敏捷工具 敏捷开发工具

跬智信息(Kyligence)入选 IDC《中国数据智能市场生态图谱V4.0》

Kyligence

数据分析 指标平台

等不及了,2023云栖大会精彩剧透提前看!

阿里云视频云

云计算 云栖大会

大模型背景下软件工程的机遇与挑战

CODING DevOps

被誉为轻量云服务器“鼻祖”的腾讯云,遇到最硬核对手

平平无奇爱好科技

软件开发“自我毁灭”的七宗罪

高端章鱼哥

计划 软件开发

面对纷繁复杂的低代码和无代码产品,开发者该如何选择?

这我可不懂

低代码 无代码

文心4.0,启动大模型时代的飞轮效应

脑极体

AI

快收藏!中小电商企业必用的ERP软件ODooo“奶妈级”教程来了

平平无奇爱好科技

2023-10-18:用go语言,给定一个数组arr,长度为n,表示有0~n-1号设备, arr[i]表示i号设备的型号,型号的种类从0~k-1,一共k种型号, 给定一个k*k的矩阵map,来表示型号

福大大架构师每日一题

福大大架构师每日一题

Generative AI 新世界 | 大模型参数高效微调和量化原理概述

亚马逊云科技 (Amazon Web Services)

人工智能 机器学习 生成式人工智能 Amazon SageMaker 大语言模型

语音识别技术:端到端的挑战与解决方案

来自四九城儿

阿里内推强推的并发编程学习笔记,原理+实战+面试题,面面俱到!

小小怪下士

Java 程序员 并发编程

使用指南|如何将 GreptimeDB 数据保存在阿里云 OSS

Greptime 格睿科技

数据库 阿里云 云原生 Greptime GreptimeDB

消除隐患 防患未然|AIRIOT智慧消防管理解决方案

AIRIOT

9款好用的在线流程图软件推荐!

彭宏豪95

效率 流程图 在线工具 科技 流程图绘制

大规模语言LLaVA:多模态GPT-4智能助手,融合语言与视觉,满足用户复杂需求

汀丶人工智能

人工智能 计算机视觉 GPT 大语言模型

“创新启变 聚焦增长”极狐(GitLab)媒体沟通会,共话智能时代软件开发新生态

Geek_2d6073

主打一个遥遥领先,这款轻量应用服务器真是太“硬”了

平平无奇爱好科技

语音识别技术的挑战与机遇再探讨

来自四九城儿

稳定币揭幕:了解发展策略

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

腾讯云发布新品数据编排平台(dop)-与大数据生态紧密结合,提供通用数据编排服务

腾讯云大数据

大数据

软件测试/测试开发丨深入了解性能测试:方法、工具和最佳实践

测试人

软件测试 性能测试 测试开发

想做跨境电商不知道如何搭建网站?看这篇教程就够了

平平无奇爱好科技

Disruptor在流程编排中的应用与探索

ZA技术社区

金融科技 众安保险 ZA技术社区 keji

TiDB 7.4 发版:正式兼容 MySQL 8.0

编程猫

数字化转型与架构-架构设计篇|系统组件有哪些?

数字随行

数字化转型

网络安全(黑客)自学方向

网络安全学海

程序员 黑客 网络安全 信息安全 渗透测试

通过观测云快速了解真实用户体验

Yestodorrow

可观测性 用户增长 业务增长 真实用户体验

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