Home
Glossary
This is a glossary of technical terms used throughout the [Famo.us reference documentation][0]. The definitions are grouped into two categories: [Famo.us-specific terms][1], and [terms that apply more broadly][2] to software engineering and web development.
Famo.us-specific terms
- Renderable
- In Famo.us, a renderable is an element that can be displayed on the screen, usually via the DOM. Surfaces are the primary type of renderable. Contrast with views, which aren't displayed but which encapsulate renderables.
- Render spec
- In Famo.us, a render spec is an object that describes how a single target — or the targets that belong to an array of child specs — should be rendered. Render specs are what the render tree is composed of. Render specs look like this:
{
transform: ... ,
opacity: ... ,
origin: ... ,
align: ... ,
size: ... ,
target: ... // An ID, or an array of specs
}
- Target
- In the context of a render spec, the target is the identifier for an individual renderable. In simplified terms, you could think of it as a reference to a
<div>
, to which the engine applies styles.
General terms
- AMD
-
The AMD (or asynchronous module definition) API specifies a way to define modules such that modules are asynchronously loaded. In code, module definitions using the AMD style look like this:
define('mymodule', function(mymodule) {
// Module code goes here
});
- Backface visibility
- In CSS, when an element's
backface-visibility
property is set to visible
, the element remains visible when its front is facing away from the screen.
- Box Model
- In CSS, elements are represented as rectangular boxes. In this system, the box model describes the content of the space taken up by each element. Read a thorough description on MDN.
- Box-Sizing
- In CSS, the
box-sizing
property alters the CSS box model when the width and height of elements are calculated. In the wild it is most often used to make element sizing behave more intuitively with respect to margins and padding.
- Camel-case
- Camel-case is a convention for writing variables where the first letter of each part of a compound word, with the exception of the variable's first letter, is capitalized. For example:
weLikeCoffee
.
- Coefficient
- A coefficient is a multiplying factor in a mathematical expression. It is a plain number that multiples a variable. E.g., in the expression
3x + 2y
, the coefficients are 3
and 2
.
- CSS3 transformation matrix
- CSS3 includes a
transform
property, which we can assign a matrix3d()
function for styling. The CSS3 matrix3d()
function takes 16 arguments, each of which represents an element in a 4x4 homogenous matrix. More about the CSS3 transform function »
- Damping
- Damping is a type of restriction that prevents oscillations or bounce-backs. In the context of physics, damping reduces the countereffect of an applied force. You can use
dampingRatio
, for example, to reduce the springyness of a spring force.
- DOM
- DOM stands for the Document-Object Model, the conventions for interacting with objects in HTML. We often use the term (colloquially) as a shorthand for the document objects themselves. More about the DOM on MDN »
- Normal flow
- Flow, normal flow, or normal document flow is the way a web page is presented when no structural layout styling has been applied to the elements. An element is said to be "out of flow" if it has been floated or absolutely positioned.
- FPS
- FPS stands for frames per second, the average number of animation frames rendered to the screen every single second. In Famo.us, the framerate can be controlled via the engine.
- Object-oriented programming (OOP)
- Object-oriented programming is a model for writing software in which objects interact to carry out the program's intent. Objects are structures that encompass data and behavior, often corresponding to things in the real world. More about OOP on Wikipedia »
- Prototypal inheritance
- In JavaScript, there are no classes. Objects inherit from other objects via the prototype chain. More about prototypal inheritance on MDN »
- Reflow
- In browsers, reflow occurs when change to an element causes the need for the layout of child and ancestor elements to be recomputed. The browser must re-draw what you see on the screen to represent the new layout.
- Repaint
- The browser is said to repaint when changes are made to elements' visual properties that do not affect layout. When a change is made to the outline or background color of an element (for example), the browser must re-draw what you see on the screen.
- Singleton
- A singleton is an object of which there is only ever one instance. More about singletons on Wikipedia »
- Vanishing point
- When viewing a scene with perspective, the vanishing point is the point at which parallel lines appear to converge.
- YUIDoc
- YUIDoc is a modified form of JSDoc comment tags, a convention for including formatted documentation within source code.
Copyright © 2013-2015 Famous Industries, Inc.