Ember.js — свободный веб-фреймворк на JavaScript, реализующий шаблон MVC и нацеленный на упрощение создания масштабируемых одностраничных веб-приложений.

Фактически является версией 2.0 фреймворка SproutCore (в декабре 2011 года был переименован в Ember.js для отличия от SproutCore 1.0). Основные авторы — Том Дейл и Йегуда Кац, всего в основной команде разработчиков — более 10 человек. Применяется на таких сайтах, как TED, Yahoo!, Twitch.tv и Groupon.

Основные принципы Основные внутренние концепты, используемые фреймворком — маршруты, модели, контроллеры и шаблоны.

Маршруту объекта соответствует URL-адрес, который определяет текущее состояние приложения. Маршруты определены в единственном объекте маршрутизатора. Концепция маршрутов подчёркивают важность URL в управлении состоянием приложения.

Каждому маршруту соответствует модель, в которой содержатся данные, соответствующие текущему состоянию приложения. И несмотря на то, что есть возможность использовать jQuery чтобы загружать с сервера JSON-объекты, большинство приложений все-таки использует для этих целей библиотеку с моделью данных, например, Ember Data.

Контроллеры используются для того, чтобы добавить модели некую логику отображения. Ранее стандартной практикой было наследовать контроллер от ObjectController если модель представляла собой один объект, и от ArrayController — если модель была массивом записей. Сейчас эти базовые классы считаются устаревшими и нормальной практикой считается обращение к свойствам модели из Ember.Controller.

Шаблоны написаны на языке HTMLBars и описывают пользовательский интерфейс. Шаблоны используются для построения HTML кода приложения и позволяют встраивать в него динамически обновляемые выражения.

Литература

Примечания

Ссылки

twitter

__NOTOC__

Категория:Веб-фреймворки на JavaScript Категория:Библиотеки JavaScript Категория:JavaScript Категория:Свободное кроссплатформенное программное обеспечение