AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

T3:为创建大型 JavaScript 应用而打造的开源前端库

  • 2015-04-22
  • 本文字数:979 字

    阅读完需:约 3 分钟

T3 是一个为创建大型 JavaScript 应用而打造的前端库,它由前 Yahoo! 首席前端工程师和 YUI 代码贡献者 Nicholas C. Zakas 加入安全内容平台 Box 后与团队成员一起创建,并基于 Apache License 2.0 许可协议开源。T3 的设计完全遵循可扩展JavaScript 应用体系结构相关原则,尤其是组件间强调松耦合、依赖透明化、为不明确的需求留有扩展点以备扩展、抽象出共同点等原则。T3 的创建目的是鼓励开发者编写一些小且用途单一的组件,继而创建出扩展性比较强的客户端代码。T3 依赖jQuery 1.8 或更高版本, 目前支持的浏览器包括Internet Explorer 8 及以上和最新版本的Firefox、Chrome 、Safari。

与MVC 框架大不同,T3 允许开发者决定自己所创建的组件类型,且这些组件具有松耦合、少模型的特征。T3 又可以同其它框架如 Backbone 或者 React 配合使用,以使得开发者根据自己的需要组成一个完成的客户端开发栈。组件类型分为以下三种:

  • 服务(Service):为应用提供额外工具的库,例如 Cookie 工具、URL 转码和解码、弹出菜单等;
  • 模块(Module):模块可以使用服务来完成任务,但模块不能直接引用其他模块;
  • 行为(Behavior):混合模块,旨在允许连接由多个模块共享的事件,如拦截链接点击来执行 Ajax 导航事件。行为可以使用服务来完成任务,但是不能直接引用模块或其他行为。

Nicholas 指出他们所创建的组件都符合以上三种类型,并且开发者混合使用这些类型足以创建出许多不同类型的用户体验。组件间以及同其他框架间的通信示意图如下:

在经过数月的使用后,T3 已经获得了如下成就:

  • T3 组件代码测试覆盖率为 80%,其组件非常易于测试,开发者可以根据需要进行各种测试;
  • 能够根据反馈以更快的速度实现新特性
  • 消除了“what goes where”问题,所以当需要做一个改变时,开发者很容易知道在哪实现;
  • 逐步改造和测试页面部分,自从 T3 可以与其他框架一起工作后,创建和转换组件变得很容易,而不用停止重新编写整个客户端。

在 Box,T3 已经有了 18 个月的使用历史,且今年 Box 的所有 Web 应用已经完全改造为由 T3 实现。更多有关 T3 的信息,请开发者参考 GitHub 其官网


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-04-22 08:253435
用户头像

发布了 46 篇内容, 共 54.5 次阅读, 收获喜欢 15 次。

关注

评论

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

阿里云 EMAS Serverless 升级发布

移动研发平台EMAS

小程序云开发 阿里云 Serverless 开发者 云开发

利用java实现视频人像分割及视频背景替换

夏夜许游

Java 图像分割 视频人像分割 背景替换

技术干货|如何将 Pulsar 数据快速且无缝接入 Apache Doris

SelectDB

数据库 Doris pulsar 数据导入 kafaka

使用华为HECS云服务器打造Telegraf+Influxdb+Grafana 监控系统【华为云至简致远】

科技云未来

Grafana Influxdb 系统管理 开源监控系统 提高效率

兆骑科创高层次人才引进平台,创新创业赛事活动路演

兆骑科创凤阁

Jupyter Notebook 交互式编程 & 低代码拖拽式编程 | 数据科学生态下的理想平台

ModelWhale

云原生 Jupyter Notebook 数据科学 低代码开发 协作平台

R7 6800H+RTX3050+120Hz 2.8K OLED屏,无畏Pro15 2022开启预售

科技热闻

开源一夏 | 阿里云物联网平台之极速体验

六月的雨在InfoQ

阿里云 开源 物联网 8月月更

破解数字化转型困局,企业分析协同场景案例解析

ModelWhale

数据分析 数字化转型 构建模型 成功案例 协同软件

为什么Spring Boot项目加上就可以更新版本?

冉然学Java

程序员 源码分析 springboot Java 分布式 Java core

高性能创作本,日常修图剪辑选华硕无畏Pro15 2022完全足矣!

科技热闻

快速定位线上慢SQL问题,掌握这几个性能排查工具可助你一臂之力

IT学习日记

MySQL性能优化 数据库优化 MySQL 数据库 签约计划第三季 explain关键字

一次做数据报表的踩坑经历,让我领略了数据同步增量和全量的区别

百思不得小赵

数据同步 增量同步 全量同步 签约计划第三季 8月月更

DeepLink在转转的实践

转转技术团队

ios android 客户端

生物统计师与临床医生协同研究使用的低代码洞察平台丨数据科学 x 临床医学

ModelWhale

团队协作 Jupyter Notebook 数据科学 低代码开发 临床医学

大数据程序员培训学习多长时间可以找工作

小谷哥

Mysql 生成排序序号

六月的雨在InfoQ

8月月更

兆骑科创创业大赛,双创服务平台,线上直播路演

兆骑科创凤阁

【实战】Next.js + 云函数开发一个面试刷题网站

狂奔滴小马

Serverless React

阿里大佬力荐的这份“Spring全家桶”太强了,在轻松中学习掌握

Java工程师

Java spring spring-boot

ffplay视频播放原理分析

百度Geek说

音视频

云硬盘EVS详解以及如何用与避坑【华为云至简致远】

神奇视野

Python 后端 云服务 科技

开源一夏 | 打工人的第25天-曾经的考研人

Amazing_eve

#开源

ModelWhale 云端运行 WRF 中尺度数值气象模式,随时随地即开即用的一体化工作流

ModelWhale

数据科学 气象 全流程一体化 WRF 大气科学

出海季,互联网出海锦囊之本地化

融云 RongCloud

元宇宙 IT业界

使用前端技术实现静态图片局部流动效果

dragonir

CSS JavaScript html 前端 SVG

彻底搞懂云桌面配置及实践踩坑【华为云至简致远】

神奇视野

Python 科技

NFT盲盒挖矿DAO智能合约dapp系统开发详情

开发微hkkf5566

2022最新发布超全的Java面试八股文,整整1700页,太全了

Java工程师

Java 面试 八股文

手摸手带你完成智慧路灯构建及避坑【华为云至简致远】

神奇视野

Python 科技

交大医学院临床研究中心如何将 ModelWhale 应用于临床医生教学、研究丨数据科学 x 临床医学

ModelWhale

人才培养 数据科学 低代码平台 教学 临床医学

T3:为创建大型JavaScript应用而打造的开源前端库_JavaScript_李小兵_InfoQ精选文章