#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# app Module

Defined in: `app/js/view.js:11`

Available since 3.4.0

The App Framework provides simple MVC-like building blocks (models, model lists, views, and URL-based routing) for writing single-page JavaScript applications.

This module provides the following classes:

- App
- App.Base
- App.Content
- App.Transitions
- App.TransitionsNative
- Controller
- LazyModelList
- Model
- ModelList
- ModelSync.REST
- Router
- View
- View.NodeMap

This module is a rollup of the following modules:

- app-base
  Provides a top-level application component which manages navigation and views.
- app-content
  `Y.App` extension that provides pjax-style content fetching and handling.
- app-transitions
  `Y.App` extension that provides view transitions in browsers which support native CSS3 transitions.
- app-transitions-native
  Provides the implementation of view transitions for `Y.App.Transitions` in browsers which support native CSS3 transitions.
- lazy-model-list
  Provides the LazyModelList class, which is a ModelList subclass that manages plain objects instead of fully instantiated model instances.
- model
  Attribute-based data model with APIs for getting, setting, validating, and syncing attribute values, as well as events for being notified of model changes.
- model-list
  Provides an API for managing an ordered list of Model instances.
- model-sync-rest
  An extension which provides a RESTful XHR sync implementation that can be mixed into a Model or ModelList subclass.
- router
  Provides URL-based routing using HTML5 `pushState()` or the location hash.
- view
  Represents a logical piece of an application's user interface, and provides a lightweight, overridable API for rendering content and handling delegated DOM events on a container element.
- view-node-map
  View extension that adds a static `getByNode()` method that returns the nearest View instance associated with the given Node (similar to Widget's `getByNode()` method).