【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

Box 发布 T3 JavaScript 框架

  • 2015-04-28
  • 本文字数:1165 字

    阅读完需:约 4 分钟

在线存储与内容平台 Box 最近推出了一个开源的前端 JavaScript 框架,名为 T3 。这个框架的目标是通过将代码分解为小型的独立片段,从而解决在大型应用程序开发中所遇到的各种问题。

Box 的首席架构师 Nicholas Zakas在一篇介绍 T3 的博客帖子中说道,他的团队中有多个开发者共同在一个巨型的代码库中工作,因此最初开发这个框架的目的是解决开发过程中的一些内部问题。在 InfoQ 与 Zakas 进行的一次访谈中,他表示:“现有的任何选择都无法实现我们的需求”。

现有的大多数解决方案都是面向基于 MVC 的架构所创建的,而我们打算走一条不同方向的路。虽然市面上也有产品使用不同的抽象概念,但它们都不足以实现我们在 T3 中所包含的功能。

T3 中的组件共包括以下三种类型:

  • 服务
  • 模块
  • 行为

在使用 T3 所编写的一个典型的 ToDo 列表示例中,该项目不仅展示了示例的源代码,同时也详细解释了每一段代码的功能。举例来说,在一段关于维护列表项状态的代码中,其描述是这样写的:

虽然所有的模块都是独立的,但每个模块都会与一个维护着 todo 状态的服务进行交互。todos-db 这个服务将负责在整个应用的生命周期中管理任务的添加、删除和标记为完成等工作。

T3 中服务的概念与 Angular 中的概念非常接近,比方说,开发者可以以这种方式在 Application 中注册某个服务:

复制代码
Application.addService('router', function(application) {
return {
route: function(url, state) {
history.pushState(state, '', url);
}
};
});

但与 Angular 中使用的依赖注入方式不同,在 T3 中的服务是通过对全局 Application 对象的请求获得的:

复制代码
var router = Application.getService('router');
router.route('/home', {});

与 React 类似,T3 并不排除与其它框架共同使用的可能性。Zakas 说道:“T3 完全能够与 Backbone、React 或任何框架一起使用,它只是帮助我们更好地组织个别的代码片段,并且允许工程师们以他们所希望的任意一种方式将这些片段拼接在一起,成为一个完整的客户端功能。”

Hacker News 上的某个讨论中,开发者们普遍表示了对该团队工作成果的赞誉,但同时也对 T3 的组件和 Ember、Angular 和 Meteor 中的组件进行了对比。用户 DigitalSea 对此抱怨说,T3 中并没有提供任何具有新意的东西:

我实在看不出为什么 Box 需要开发一套新的 JavaScript 框架,是不是我漏掉了些什么?作为一个前端开发者,我确实对 T3 这个产品感到兴奋,但我实在看不出 T3 到底实现了哪些其它框架中缺少了的东西。

Zakas 表示,T3 尤其适合于某种类型的应用。“T3 当然也能够用于其它途径,包括 MVC 架构以及单一页面应用,但它的长处特别体现在于渐进式增强这一点上。”Box 在它们的桌面应用与移动 Web 应用中都使用了 T3 进行开发。

可以在 GitHub 上找到 T3 项目的详细信息。

查看英文原文: Box Releases T3 JavaScript Framework

2015-04-28 07:211708
用户头像

发布了 428 篇内容, 共 172.0 次阅读, 收获喜欢 38 次。

关注

评论

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

Mac 上可以代替 Total Commander 的文件管理软件推荐

南屿

Mac软件推荐 文件管理软件 Total Commander

Eclipse 主网即将上线迎空投预期,Zepoch 节点或成受益者?

西柚子

如何搭建一个专属的认证中心(三)

Kevin_913

springboot Spring Security OAuth 资源服务器

文心一言 VS 讯飞星火 VS chatgpt (103)-- 算法导论10.1 1题

福大大架构师每日一题

福大大架构师每日一题

[大厂实践] 零配置服务网格与按需集群发现

俞凡

架构 netflix 大厂实践

玩 DeFi 必备的钱包!教你快速学会玩转 Web3 应用!

BlockChain先知

我设计的免费小程序不香吗,欢迎评论交流

一点点小创意

Apple芯片 (M1/M2)的Mac电脑降低安全性,启用内核扩展图文教程

展初云

Mac mac教程

[大厂实践] 无停机迁移大规模关键流量(上)

俞凡

架构 netflix 大厂实践

海信电视U8“死磕”技术,家庭影音娱乐的体验突围

脑极体

电视

智能文字识别技术——AI赋能古彝文保护

陈橘又青

人工智能

5大文件管理操作,Python自动化办公,整明白了

程序员晚枫

Python Office 自动化办公

【中秋国庆不断更】HarmonyOS对通知类消息的管理与发布通知(上)

HarmonyOS开发者

Web3钱包大比拼:Metamask、Trust Wallet、Bitget Wallet 和 Coinbase Wallet

小哈区块

十一假期带上HUAWEI Mate 60系列,HarmonyOS 4让旅行更精彩!

最新动态

【中秋国庆不断更】OpenHarmony定义可动画属性:@AnimatableExtend装饰器

OpenHarmony开发者

[大厂实践] Zuul连接控制实践

俞凡

架构 netflix 大厂实践

MacBook虚拟机Parallels Desktop 19正版安装密钥

南屿

Mac虚拟机下载 Parallels Desktop 19 PD19虚拟机破解版

不愧是疑问解决神器!你强任你强👍👍👍

控心つcrazy

JavaScript 读书 重构 代码优化 优化技巧

Microsoft 365 办公套件辅助功能介绍,让效率更高!

南屿

Microsoft 365 Office 2019破解版

苹果Mac纯净卸载用什么工具(App Cleaner & Uninstaller)

展初云

Mac Mac软件 卸载工具

【原理篇】Supabase的API Key工作机制和使用场景

张文平

权限 Supabase API Key

免费 AI 代码生成器 Amazon CodeWhisperer 初体验

亚马逊云科技 (Amazon Web Services)

人工智能 亚马逊云科技

macOS Sonoma 正式版系统已发布,macos14值得更新吗

南屿

苹果系统下载 macOS Sonoma MacOS14系统

探索AI世界:机器学习和深度学习

麦田的守望者

机器学习 深度学习、

区块链DAPP智能合约系统软件开发搭建

V\TG【ch3nguang】

Web3钱包大比拼:Metamask、Trust Wallet、Bitget Wallet 和 Coinbase Wallet

西柚子

英文版Premiere Pro怎么切换成中文?PR汉化包怎么安装

南屿

Mac软件 Premiere Pro 2023 PR2023中文版 Premiere Pro破解版

2023 年 Bitget Wallet 测评:这个钱包到底靠不靠谱?

石头财经

【中秋国庆不断更】XML在HarmonyOS中的生成,解析与转换(下)

HarmonyOS开发者

Eclipse 主网即将上线迎空投预期,Zepoch 节点或率先受益

大瞿科技

Box发布T3 JavaScript框架_JavaScript_David Iffland_InfoQ精选文章