写点什么

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:573029
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

leetcode 153. Find Minimum in Rotated Sorted Array 寻找旋转排序数组中的最小值(中)

okokabcd

LeetCode 查找

微信朋友圈的复杂度

爱晒太阳的大白

LabVIEW控制Arduino实现模拟数据采集(基础篇—8)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT 模拟数据采集

AbstractFactoryPattern-抽象工厂模式

梁歪歪 ♚

设计模式

LabVIEW控制Arduino实现RGB调色灯(基础篇—6)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT RGB调色灯

什么是区块哈希?哈希趣投娱乐竞猜游戏开发逻辑(成熟源码)

开发微hkkf5566

带你认识String类

开发微hkkf5566

云图说丨每个成功的业务系统离不开API网关(APIG)的保驾护航

华为云开发者联盟

云计算 华为云 API网关 业务系统 APIG

带你读顶会论文丨基于溯源图的APT攻击检测

华为云开发者联盟

安全

贪心算法:Dota2 参议院 🏯

空城机

LeetCode 5月月更

LabVIEW控制Arduino实现示波器(基础篇—7)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT Arduino实现示波器

【LeetCode】检查句子中的数字是否递增Java题解

Albert

LeetCode 5月月更

架构实战营模块2课后作业

Geek_53787a

模块2作业

Geek_701557

值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢

迷彩

MySQL 数据库 大数据运维 5月月更

哈希能作弊吗?哈希竞猜游戏防作弊系统开发逻辑(稳定运营)

开发微hkkf5566

FactoryMethodPattern-工厂方法模式

梁歪歪 ♚

设计模式

高性能 PHP 应用容器之 Workerman

CRMEB

解析数仓lazyagg查询重写优化规则

华为云开发者联盟

数据库

借势双碳东风:干“实事”的“虚拟”电厂

脑极体

LabVIEW控制Arduino驱动1602液晶显示屏(基础篇—10)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT 驱动1602液晶显示屏

LabVIEW控制Arduino实现舵机联控(基础篇—9)

不脱发的程序猿

单片机 LabVIEW Arduino LIAT 舵机联控

密码学系列之:X.690和对应的BER CER DER编码

程序那些事

密码学 程序那些事 5月月更

三、KVM管理工具

穿过生命散发芬芳

kvm 5月月更

Java设计模式系列学习

梁歪歪 ♚

设计模式

Crypto巨头们ALL IN元宇宙,PlatoFarm或能突围

BlockChain先知

研发效能团队规模、职能划分和优劣势分析概述(第一篇)

laofo

DevOps cicd 研发效能 组织架构 平台建设

GitOps自问自答

俞凡

最佳实践 研发效能 gitops

Crypto巨头们纷纷聚焦“Building platonic”,PlatoFarm会是解决方案吗?

西柚子

Sa-Token 单点登录 SSO模式二 URL重定向传播会话示例

Java 登录验证 SaToken

SingletonPattern-单例模式

梁歪歪 ♚

设计模式

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