Ember Book (Ember Book)
Ember Book
О книге
Книга предназначена как для новичков, которые не знакомы с Эмбером, так и для опытных разработчиков, которые тоже найдут для себя кое-что интересное и полезное.
В первой главе вы познакомитесь с ember-cli
. Это консольная утилита без которой сейчас трудно представить работу с Эмбером. Создание приложения, генерация файлов, готовая файловая структура, запуск тестов, запуск сервера для разработки - это не полный список задач, с которыми справляется ember-cli
.
Далее вы узнаете, что такое Ember.Object
и чем он отличается от обычных объектов в JS. Что за "магия" скрывается за методами get
и set
? Как работает связывание и обновление данных внутри экземпляров Ember.Object
? Почему вычисляемые свойства так хороши? На все эти вопросы вы получите исчерпывающие ответы.
В третьей главе мы поговорим об архитектурных единицах в Эмбере. Их много, но никто не остается без внимания:
- Роутер и роуты
- Данные (Хранилище, Модели, Записи, Адаптеры, Сериализаторы, Трансформации)
- Шаблоны (основные конструкции и вспомогательные функции)
- Контроллеры
- Компоненты (от простых до контекстных)
- Внедрение зависимостей (Инициализаторы Приложения и его Экземпляров, а так же Сервисы)
Код сам по себе - это хорошо. А код, покрытый тестами, выглядит еще лучше. Четвертая глава полностью посвящена тестированию. В Эмбере покрыть тестами можно все. Нам доступны интеграционные, приемочные и юнит-тесты. Помимо ember-qunit
, мы рассмотрим еще ember-cli-mirage
и ember-cli-page-object
, благодаря которым тестировать код и вести разработку будет куда проще.
Эмбер очень активно развивается. На момент, когда были написаны первые строки этой книги, актуальной была версия ember@2.10.0. Ближе к завершению вышла версия ember@2.13.0. Вполне может быть, что когда вы будете читать это, то выйдет уже и 2.14. Код из примеров книги не содержит никаких особенностей под конкретную версию (Эмбер младше 2.4 все-таки использовать не рекомендуется).
Что не вошло в книгу? За бортом остались pods, обновление Эмбера в рамках проекта, "выкатка" собранного приложения. Эти темы хорошо описаны в документации к ember-cli. Так же мы не разбирали Ember FastBoot.
Содержание
- Предисловие
- Установка необходимого ПО
-
ember-cli - точка входа
-
Список команд
-
ember init
-
ember new <app-name>
-
ember build
-
ember server
-
ember test
-
ember install "addon-name"
-
-
Скелет приложения
- Смотрим в корень
- app - каталог с кодом вашего приложения
-
Генераторы
- ember generate
- ember destroy
- Файлы и директории
- Заключение
-
Список команд
-
Фундамент EmberJS
-
Ember Object vs POJO
- Классы и экземпляры классов
- Переопределить нельзя дополнить
- Внесение изменений в уже существующие классы
- Использование Примесей (Миксин)
- Методы доступа get и set
-
Еще несколько методов доступа
- setProperties
- getProperties
- toggleProperty
- incrementProperty и decrementProperty
- getWithDefault
-
Вычисляемые свойства
- Циклические (перекрестные) зависимости
- Зависимости от сложных структур данных
- Задание значения вычисляемого свойства
- Наследование вычисляемых свойств
- Наблюдатели
-
Перечисляемые типы данных
- Новые свойства
- Новые методы
-
Макросы
- Готовые макросы в Эмбере
- Как писать свои макросы
- Где и как хранить макросы
- Заключение
-
Ember Object vs POJO
-
Архитектура EmberJS
-
Роутер и Роуты
- Роутер
- Создание Роутов
- Предопределенные Роуты
- Алгоритм работы Роутов
-
Хуки Роута и методы
then
,finally
- Состояние загрузки данных
- Состояние ошибки загрузки данных
-
Взаимодействие субсостояний
loading
иerror
- Перенаправление пользователя
- Контроль переходов пользователя
- Параметры запроса
- Очередность вызовов методов и событий Роутов при переходах между ними
- Заключение
-
Данные и работа с ними
- Модели
- Хранилище
- Адаптеры
- Сериализаторы
- Заключение
-
Шаблоны
- Основы шаблонизации
- Вспомогательные функции (helpers)
- Условные конструкции
- Циклы
- Атрибуты элементов
- Ссылки
- Взаимодействие пользователя с приложением
- Элементы ввода
- Отрисовка Шаблонов
- Заключение
- Контроллеры
-
Компоненты
- Введение в Компоненты
- Передача параметров в Компоненты
- Жизненный цикл Компонентов
- Настройка DOM-элемента Компонента
- Обработка событий в Компоненте
- Контекстные Компоненты
- Заключение
-
Приложение и его экземпляры
- Внедрение зависимостей
- Инициализаторы
- Сервисы
- Заключение
-
Циклы выполнения задач
-
Методы
Ember.run
- Заключение
-
Методы
-
Конфигурация приложения
- Настройки приложения
- Расширение прототипов JavaScript
- Отладка
- Заключение
-
Роутер и Роуты
-
Тестирование
-
Юнит-тесты
- Тестирование вычисляемых свойств
- Тестирование методов-наблюдателей
- Тестирование обычных методов
- Тестирование обработчиков событий
- Юнит-тесты разных архитектурных сущностей
-
Интеграционные тесты
- Вспомогательные функции
- Компоненты
- Работа с Сервисами в зависимостях
-
Приемочные тесты
- Асинхронные вспомогательные функции
- Синхронные вспомогательные функции
-
Функция
andThen
-
Функция
pauseTest
- Создание своих вспомогательных функций для приемочных тестов
- Page Objects
- Мок-данные
- Заключение
-
Юнит-тесты
60-дневная гарантия 100% удовлетворения от Leanpub
В течение 60 дней после покупки вы можете получить 100% возврат средств за любую покупку на Leanpub всего в два клика.
Технически это рискованно для нас, поскольку файлы книги или курса останутся у вас в любом случае. Но мы настолько уверены в наших продуктах и услугах, а также в наших авторах и читателях, что с радостью предлагаем полную гарантию возврата денег за всё, что мы продаем.
Узнать, насколько что-то хорошо, можно только попробовав, а благодаря нашей 100% гарантии возврата денег это можно сделать без всякого риска!
Так что нет причин не нажать кнопку "Добавить в корзину", не так ли?
Ознакомьтесь с полными условиями...
Получайте $8 с покупки за $10 и $16 с покупки за $20
Мы выплачиваем 80% роялти за покупки от $7.99 и выше, и 80% роялти минус фиксированную комиссию 50 центов за покупки в диапазоне от $0.99 до $7.98. Вы зарабатываете $8 с продажи за $10 и $16 с продажи за $20. Таким образом, если мы продадим 5000 невозвращенных копий вашей книги по $20, вы заработаете $80,000.
(Да, некоторые авторы уже заработали намного больше этого на Leanpub.)
Фактически, авторы заработалиболее $14 миллионов, создавая, публикуя и продавая на Leanpub.
Узнайте больше о писательстве на Leanpub
Бесплатные обновления. Без DRM.
Если вы покупаете книгу на Leanpub, вы получаете бесплатные обновления, пока автор обновляет книгу! Многие авторы используют Leanpub для публикации своих книг в процессе написания. Все читатели получают бесплатные обновления, независимо от того, когда они купили книгу и сколько заплатили (включая бесплатные книги).
Большинство книг Leanpub доступны в форматах PDF (для компьютеров) и EPUB (для телефонов, планшетов и Kindle). Форматы, в которых доступна книга, показаны в правом верхнем углу этой страницы.
Наконец, книги Leanpub не имеют никакой бессмысленной DRM-защиты, поэтому вы можете легко читать их на любом поддерживаемом устройстве.
Узнайте больше о форматах электронных книг Leanpub и где их читать