Remember Me (Тайна Коко)
- 1 year ago
- 0
- 0
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 кода приложения и позволяют встраивать в него динамически обновляемые выражения.