Русская Википедия:Ember.js

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

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

Основные принципы

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

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

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

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

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

Шаблон:Переработать

Литература

Примечания

Шаблон:Примечания

Ссылки

Шаблон:JavaScript

  1. Ошибка цитирования Неверный тег <ref>; для сносок singlepage не указан текст
  2. Ошибка цитирования Неверный тег <ref>; для сносок newname1 не указан текст
  3. Ошибка цитирования Неверный тег <ref>; для сносок newname2 не указан текст
  4. Ошибка цитирования Неверный тег <ref>; для сносок users не указан текст
  5. Ошибка цитирования Неверный тег <ref>; для сносок routes не указан текст