flightjs/flight là một trong những repo mã nguồn mở mà TopGit theo dõi, hiện có 6.5k sao, viết chủ yếu bằng JavaScript. A component-based, event-driven JavaScript framework from Twitter
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Flight is not under active development. New pull requests will not be accepted unless they fix core bugs or security issues.
Flight
Flight is a lightweight, component-based,
event-driven JavaScript framework that maps behavior to DOM nodes. It was
created at Twitter, and is used by the twitter.com and
TweetDeck web applications.
Website
API documentation
Flight example app (Source)
Flight's Google Group
Flight on Twitter
Flight on Freenode IRC (#flightjs)
Example
A simple example of a Flight component.
/* Component definition */
var Inbox = flight.component(inbox);
function inbox() {
this.doSomething = function() { /* ... */ }
this.doSomethingElse = function() { /* ... */ }
// after initializing the component
this.after('initialize', function() {
this.on('click', this.doSomething);
this.on('mouseover', this.doSomethingElse);
});
}
/* Attach the component to a DOM node */
Inbox.attachTo('#inbox');
Installation
Quick start using the pre-built
library (a
UMD bundle). It exposes all of its modules as
properties of a global variable, flight.
Flight is only ~5K minified and gzipped. It's built upon jQuery.
Flight components are highly portable and easily testable. This is because a
Flight component (and its API) is entirely decoupled from other components.
Flight components communicate only by triggering and subscribing to events.
Flight also includes a simple and safe
mixin
infrastructure, allowing components to be easily extended with minimal
boilerplate.
Development tools
Flight has supporting projects that provide everything you need to setup,
write, and test your application.
Flight generator
Recommended. One-step to setup a Flight-based web app.
Flight package generator
Recommended. One-step to setup everything you need to write and test a
standalone Flight component.
Jasmine Flight
Extensions for the Jasmine test framework.
Mocha Flight
Extensions for the Mocha test framework.
Finding and writing components
You can browse all the Flight components
available at this time. They can also be found by searching the Bower registry:
bower search flight
The easiest way to write a new Flight component is to use the Flight
package generator:
Here's a brief introduction to Flight's key concepts and syntax. Read the API
documentation for a comprehensive overview.
Components (API)
A Component is nothing more than a constructor with properties mixed into its prototype.
Every Component comes with a set of basic functionality such as event handling and component registration.
(see Base API)
Additionally, each Component definition mixes in a set of custom properties which describe its behavior.
When a component is attached to a DOM node, a new instance of that component is created. Each component
instance references the DOM node via its node property.
Component instances cannot be referenced directly; they communicate with other components via events.
Interacting with the DOM
Once attached, component instances have direct access to their node object via the node property. (There's
also a jQuery version of the node available via the $node property.)
Events in Flight
Events are how Flight components interact. The Component prototype supplies methods for triggering events as
well as for subscribing to and unsubscribing from events. These Component event methods are actually just convenient
wrappers around regular event methods on DOM nodes.
Mixins (API)
In Flight, a mixin is a function which assigns properties to a target object (represented by the this
keyword).
A typical mixin defines a set of functionality that will be useful to more than one component.
One mixin can be applied to any number of Component definitions.
One Component definition can have any number of mixins applied to it.
Each Component defines a core mixin within its own module.
A mixin can itself have mixins applied to it.
Advice (API)
In Flight, advice is a mixin ('lib/advice.js') that defines before, after and around methods.
These can be used to modify existing functions by adding custom code. All Components have advice mixed in to
their prototype so that mixins can augment existing functions without requiring knowledge
of the original implementation. Moreover, since Components are seeded with an empty initialize method,
Component definitions will typically use after to define custom initialize behavior.
Debugging (API)
Flight ships with a debug module which can help you trace the sequence of event triggering and binding. By default
console logging is turned off, but you can log trigger, on and off events by means of the following console
commands.
Authors
@angus-c
@danwrong
@kpk
Thanks for assistance and contributions:
@sayrer,
@shinypb,
@kloots,
@marcelduran,
@tbrd,
@necolas,
@fat,
@mkuklis,
@jrburke,
@garann,
@WebReflection,
@coldhead,
@paulirish,
@nimbupani,
@mootcycle.
Special thanks to the rest of the Twitter web team for their abundant
contributions and feedback.
License
Copyright 2013 Twitter, Inc and other contributors.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/flightjs/flight là nguồn chính thức.
flightjs/flight có bao nhiêu sao?
flightjs/flight có 6.5k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/flightjs/flight. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
flightjs/flight có phải mã nguồn mở không?
Có — flightjs/flight phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/flightjs/flight.
flightjs/flight có trang demo không?
Dự án có trang chủ ở http://flightjs.github.io/. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
flightjs/flight là gì?
flightjs/flight (flightjs/flight) là dự án JavaScript trên GitHub. Theo mô tả gốc: A component-based, event-driven JavaScript framework from Twitter
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về flight?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về flight.