免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

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

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

关注

评论

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

StarkNet新手入门教程:教你用bitget 钱包入门

股市老人

Starknet 最好的钱包是什么?

BlockChain先知

Java 枚举(Enums)解析:提高代码可读性与易维护性

小万哥

Java 程序人生 编程语言 软件工程 后端开发

aigo发布“国民好物合创工程” 携京东、HICOOL助力中小微企业走向科技发展之路

ToB行业头条

更无缝地管理 API 访问

Gingxing

kong API网关 Kong 网关 消息网关 Kong Gateway

C++中的const成员变量和成员函数

百度搜索:蓝易云

c++ Linux 运维 云服务器 const

SAAS系统建站的优势是什么

百度搜索:蓝易云

云计算 Linux 运维 SaaS 云服务器

【鸿蒙开发】在ArkTS线程中通过napi创建的C++线程返回处理结果

贺公子之数据科学与艺术

互联网时代下体育直播平台的四大发展机遇与盈利创新

软件开发-梦幻运营部

LLM 大模型框架 LangChain 可观测性最佳实践

观测云

LLM #LangChain

活动报名|AutoMQ x 阿里云云原生创新论坛(2024.03.09)见证“新一代云原生 Kafka ”重磅发布!

AutoMQ

kafka 阿里云 云原生 论坛

上云还是下云,最大挑战是什么?对话章文嵩、毕玄、王小瑞

AutoMQ

阿里云 云原生 上云 云上架构

小程序管理平台,企业研发效能提升利器

FinFish

小程序管理平台 小程序管理 小程序开发平台

搭个ChatGPT算法模型,离Java程序员有多远?

京东科技开发者

ChatGPT 新增朗读功能;微软 Win11 鼠标悬停自动打开 Copilot 丨 RTE 开发者日报 Vol.158

声网

《操作系统导论》PDF

程序员李木子

马斯克和OpenAI:分手,不要体面

脑极体

AI

融合低代码平台,实现政企业务快速高效加载

鲸品堂

低代码 企业号 3 月 PK 榜

和鲸科技受邀参与湖南省气象信息中心开展人工智能研究型业务支撑平台学术交流

ModelWhale

人工智能 机器学习 大数据 气象 地球科学

NFTScan :什么是 ERC-404?深入解读 NFT 协议的未来

NFT Research

ERC20 NFT ERC721 NFTScan

喜报|3DCAT成为国内首批适配Vision Pro内容开发者

3DCAT实时渲染

实时云渲染

技术管理者如何避免被裁掉(2)

芃篙君

管理

StarkNet新手入门教程:教你用bitget 钱包入门

大瞿科技

Apollo配置中心介绍

百度搜索:蓝易云

云计算 Linux 运维 云服务器 Apollo

Linux网络配置文件:MAC,UUID,设备名,子网掩码,网关,DNS等底层结构、架构图,工作原理 ,使用场景详解

百度搜索:蓝易云

Linux 运维 Mac DNS 云服务器

Anthropic Claude 3 Sonnet 基础模型现已登陆 Amazon Bedrock

亚马逊云科技 (Amazon Web Services)

生成式人工智能

StarkNet新手入门教程:教你用bitget 钱包入门

石头财经

Amazon Bedrock 上的新一代 Anthropic 模型 Claude 3

亚马逊云科技 (Amazon Web Services)

生成式人工智能

架构设计常见原则

凌晞

架构设计 架构设计原则

在k8s中用label控制Pod部署到指定的node上

百度搜索:蓝易云

云计算 Linux Kubernetes 运维 云服务器

文本溢出解决text-overflow: ellipsis;不生效的问题

百度搜索:蓝易云

云计算 Linux 运维 云服务器 ECS

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