写点什么

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

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

关注

评论

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

网易云音乐:基于分布式图学习PGL的推荐系统优化之路

百度开发者中心

SDK 是如何存储事件数据的?

神策技术社区

ios 大数据 存储 数据采集 神策数据

跟公司新招的这个“同事”搭档,工作搬砖太“自动化”了

华为云开发者联盟

华为 AI RPA 自动化 员工

云原生时代下,容器安全的“四个挑战”和“两个关键”

阿里巴巴云原生

容器 云原生 k8s 安全 监控

私藏干货 | 实现分布式锁的三种方案对比

架构精进之路

分布式锁 3月日更

寻找被遗忘的勇气(十七)

Changing Lin

3月日更

LeetCode题解:647. 回文子串,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

你遇到过哪些质量很高的 Java 面试?

张小方

Java 面试 阿里 薪资

Kubectl Plugin 推荐(三)| 插件开发篇

郭旭东

Kubernetes kubectl kubectl plugin

NAC公链——Nirvana NA公链白皮书

区块链第一资讯

挖矿 区块链+

带你走进与千万数据通信者共成长的“家园”

华为云开发者联盟

华为 开发者 网络 华为数据通信 社区

多端框架开发 | 拼团商城项目开发说明

YonBuilder低代码开发平台

小程序云开发 大前端 移动终端 APP开发 多端开发

区块链数字版权管理,区块链赋能知识产权保护

13530558032

沙龙报名 | 云计算进入多元架构,云原生时代的挑战与机遇

京东科技开发者

云计算 云原生

数据驱动业务:一张大屏掌控城市运行,效率提高95%

一只数据鲸鱼

物联网 数据可视化 智慧城市 智慧园区 智慧交通

看故事学Redis:再不懂,我怀疑你是假个开发

华为云开发者联盟

MySQL 数据库 redis 缓存 数据

阿里P8大牛亲自讲解!2021年Android网络编程总结篇,醍醐灌顶!

欢喜学安卓

android 程序员 面试 移动开发

面试官:啥?SynchronousQueue是钟点房?

四猿外

Java 并发编程 高并发 并发 SynchronousQueue

区块链数字版权管理,区块链赋能知识产权保护

13530558032

您的客户管理决策是否低于10毫秒?

VoltDB

5G 物联网 解决方案 电信

阿里P9春招特此分享:Java核心开发成长手册(2021版)涵盖所有p5-p8技术栈

比伯

Java 编程 架构 面试 程序人生

拍乐云创始人&CEO赵加雨:深耕18载,打造全景式音视频服务

拍乐云Pano

音视频 WebRTC 在线教育 RTC 实时通信

C语言中“野指针”、“悬空指针”是什么?

不脱发的程序猿

c 指针 编程之路 bug 3月日更

阿里P8大牛亲自教你!一个三非渣本的Android校招秋招之路,满满干货指导

欢喜学安卓

android 程序员 面试 移动开发

有道技术沙龙 | AI 语音交互技术在语言学习场景的实践

有道技术团队

人工智能

【LeetCode】不同的子序列Java题解

Albert

算法 LeetCode 28天写作 3月日更

电商千万级交易的金手指:分布式事务管理

华为云开发者联盟

微服务 事务 华为云 分布式事务管理 DTM

阿里二面:什么是mmap?

艾小仙

架构师训练营第十一周作业 - 命题作业

阿德儿

OpenKruise v0.8.0 核心能力解读:管理 Sidecar 容器的利器

阿里巴巴云原生

容器 微服务 云原生 k8s 应用服务中间件

区块链电子证照应用赋能政府服务

13530558032

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