NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Twitter 开源了基于事件的组件框架 Flight

  • 2013-02-04
  • 本文字数:688 字

    阅读完需:约 2 分钟

Twitter 开源了 Flight ,这是该公司内部用于产品中的、为网站提供功能的 JavaScript 框架。

Twitter Flight 是基于事件的框架,可用于为现有 DOM 结构添加功能。Flight 既不用于建模数据,也不用于 HTML 渲染,它不处理请求路由和页面模版,也不处理浏览器或服务器端的渲染。相反,它是一款高度解耦合的组件框架,这些组件连接到 DOM 节点,当在节点上调用事件时,可以提供预期的功能。

Flight 组件完全不知道其他组件的存在,一个组件也不能持有指向另一个组件的引用。组件是分别定义的,当它们被连接到节点时才会创建实例。组件会持有所连接节点的引用。之后为事件注册组件,事件会使用 DOM 的事件机制进行发送和接收。在接收到事件时,组件并不知道事件是来自节点还是来自另一个组件。它只是执行在组件定义时确定的、与各个事件关联的功能。

借助这种事件机制,Flight 支持开发者编写、测试和调试解耦合的组件,而无需依赖其他组件。即便其他组件出现问题,当前组件应该还能工作。

该框架也定义了 mixin,这是可以在组件和其他 mixin 间共享的小功能片段。Mixin 和面向对象语言(如 Java 或 C#)中的接口比较相似。

去年,Twitter 在对其网站进行更新时开始在产品中使用Flight。现在Twitter 基于 MIT 许可证开放了 Flight 的源代码,同时提供了一个演示应用,还提供了用于解释如何设置Flight、如何开始创建、测试和调试组件的文档

Flight 也依赖其他框架,包括使用 ES5-shim 来支持较老的浏览器,使用 JQuery 的 DOM 操作 API。该框架支持所有主要浏览器,包括 Firefox、Safari、Chrome、Opera 和 IE7+。

查看英文原文 Twitter Open Sources Flight, an Event-based Component Framework

2013-02-04 02:572600
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 130.3 次阅读, 收获喜欢 34 次。

关注

评论

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

Java并发编程系列插曲——对象的内存结构

孙苏勇

Java 内存模型 面向对象 ClassLayout

决定我们认知深度的究竟是什么?

石君

深度思考 方法论 连接

小论互联网项目管理

南方

项目管理 互联网 个人成长 碧海潮生曲

随手记备忘录的好习惯

changyou

Java并发编程系列——线程

孙苏勇

Java 并发编程 线程

回"疫"录(3):让人怀念的普通一天

小天同学

疫情 回忆录 现实纪录 纪实

世界知识产权日碎碎念

Yin

成长 随笔 知识产权

我为什么选择infoq写作平台

三爻

前端如何搞监控总结篇

大前端洞见

大前端 监控 全链路监控

「超级右键」

非著名程序员

macos 程序员 效率工具 软件 Mac

很不幸,自动化测试永远只能是必要非充分条件

刘华Kenneth

DevOps 敏捷 自动化 测试 金字塔

聊聊苹果公司技术部门的宫斗和冷战

赵钰莹

程序员 外包 apple

除了负载均衡的算法,你还应该知道这些

松花皮蛋me

Java 负载均衡 分布式

程序员陪娃漫画系列——看医生

孙苏勇

程序员 生活 陪伴 漫画

程序员都应该了解的运维知识经验

松花皮蛋me

DevOps 分布式 运维

Golang 真的好用吗?

极客时间

编程语言 Go 语言

知乎开发了一个搜索引擎

红泥

搜索引擎 百度 知乎

微信朋友圈为什么没有阅读数?

彭宏豪95

微信 产品 产品设计

爱他,就让他走?

Selina

团队管理 领导力 团队协作

敏捷开发 | 张三与需求管理

Worktile

敏捷开发 需求管理

程序员陪娃漫画系列——修龙头

孙苏勇

程序员 生活 陪伴 漫画

如何阅读源码?

武培轩

Java 源码 面试 进阶 后端

基于Kubernetes的多云和混合云

倪朋飞

云计算 架构 Kubernetes 微服务 Service Mesh

在谈判中,你有哪些属于自己的独特的方法和技巧?

Yolanda

别总说CMS、G1,该聊聊ZGC了

猿人谷

CMS G1 ZGC JVM

最近的一些人生感悟

小智

人生 哲学

克制文章长度

changyou

加班能解决交付的期望么?

拖地先生

项目管理 领导力 管理 时间管理

漫谈哲学与编程

keelii

编程 哲学

程序员5分钟:你了解32位带符号的整型吗?

顾仲贤

程序员

程序员5分钟:你的程序占用了多少内存?

顾仲贤

程序员

Twitter开源了基于事件的组件框架Flight_Web框架_Abel Avram_InfoQ精选文章