写点什么

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

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

关注

评论

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

硬核!互联网资深大佬手码高并发编程速成笔记(2023版)限时开源

Java你猿哥

性能优化 系统架构 ssm 高并发 Java高并发

面对向多模态发展的趋势,为什么这些业界和学界专家说“不必追热点”

小红书技术REDtech

深度学习 专家 活动回顾

java性能优化实战:高并发系统的法宝之缓存设计

Java你猿哥

高并发 缓存并发 缓存设计 Java高并发 Java性能优化

SpringCloud 网关实现线程池异步批量保存请求日志

Java你猿哥

spring Spring Cloud Java工程师 日志表

人工智能基础数据服务,第一!

百度开发者中心

人工智能 数据标注 元宇宙

数据库原理及MySQL应用 | 日志管理

TiAmo

数据库 MySQL数据库 日志管理 三周年连更

横扫一线大厂面试的高并发笔记到底有多硬核?

小小怪下士

Java 程序员 后端 高并发 java面试

Redis源码之SDS简单动态字符串

Java你猿哥

Java redis ssm Java工程师

安全测试前置实践2-安全渗透测试

京东科技开发者

测试 安全测试 功能测试 网络安全渗透测试 企业号 4 月 PK 榜

京东技术专家首推:微服务架构深度解析,GitHub星标120K

Java你猿哥

数据库 架构 微服务 ssm Java微服务

跟随项曙明走进中兴通讯,探索企业开源风险治理优秀实践

开源雨林

开源治理 中兴通讯

数据解析NFT Q1市场表现:NFT生态正向Polygon聚拢,蓝筹项目"保值"难

NFT Research

数据分析 NFT

分享:CUDB for OceanBase分布式数据库产品规模应用

OceanBase 数据库

数据库 oceanbase

基于IM的企业移动应用平台,支持企业定制化

BeeWorks

使用Python实现一个简单的垃圾邮件分类器

海拥(haiyong.site)

三周年连更

聊聊简单又不简单的图上多跳过滤查询

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

阿里P8面试官让我吃透这份10W字Java面试题,终于拿下Java高级岗Offer

Java java面试 Java八股文 Java面试题 Java面试八股文

SpringCloud 网关实现线程池异步批量保存请求日志

Java Spring Cloud 网关设计

cad看图:MiniCAD 中文版

真大的脸盆

Mac Mac 软件 cad cad看图

ChatGPT背后的AI背景、技术门道和商业应用(万字长文,建议收藏)

京东科技开发者

人工智能 AI ChatGPT 人工智能ChatGPT 吗? 企业号 4 月 PK 榜

关于Blender你想了解的都在这里

Finovy Cloud

blender 3D软件

Kubernetes 中容器跨主机网络是怎么样的?

Java Kubernetes 云原生

3000字13张图详细介绍RAID0、1、5、6、10、50、60,非常值得收藏!

wljslmz

raid 存储技术 三周年连更

【机器学习入门与实践】数据挖掘-二手车价格交易预测(含EDA探索、特征工程、特征优化、模型融合等)

汀丶人工智能

人工智能 数据挖掘 机器学习 深度学习 模型融合

AI与打工人:相互补充,共同进步 | 社区征文

海拥(haiyong.site)

三周年征文

一文解读基于PaddleSeg的钢筋长度超限监控方案

飞桨PaddlePaddle

人工智能 图像识别 飞桨

什么是接口定义? 接口定义的概念和用途详解

Apifox

前端 接口 后端 API 接口定义

技术不行还说Java卷!靠468页SpringBoot企业级项目实战成功逆袭

Java 微服务 Spring Boot 框架

投放视频广告时,如何快速与第三方播放器兼容?

HarmonyOS SDK

HMS Core

私有化视频会议系统, WorkPlus Meet助力企业 “面对面”安全开会!

BeeWorks

分享:作业帮在多云环境下的高可用双活架构优化实践

OceanBase 数据库

数据库 oceanbase

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