Ember Book
Ember Book (Ember Book)
Бесплатно!
Минимальная
$0.00
Рекомендуемая
Ember Book

Эта книга является на 100%

Завершенный на 2017-07-04

О книге

Книга предназначена как для новичков, которые не знакомы с Эмбером, так и для опытных разработчиков, которые тоже найдут для себя кое-что интересное и полезное.

В первой главе вы познакомитесь с 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.

Table of Contents

  • Предисловие
  • Установка необходимого ПО
  • 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
    • Вычисляемые свойства
      • Циклические (перекрестные) зависимости
      • Зависимости от сложных структур данных
      • Задание значения вычисляемого свойства
      • Наследование вычисляемых свойств
    • Наблюдатели
    • Перечисляемые типы данных
      • Новые свойства
      • Новые методы
    • Макросы
      • Готовые макросы в Эмбере
      • Как писать свои макросы
      • Где и как хранить макросы
    • Заключение
  • Архитектура EmberJS
    • Роутер и Роуты
      • Роутер
      • Создание Роутов
      • Предопределенные Роуты
      • Алгоритм работы Роутов
      • Хуки Роута и методы then, finally
      • Состояние загрузки данных
      • Состояние ошибки загрузки данных
      • Взаимодействие субсостояний loading и error
      • Перенаправление пользователя
      • Контроль переходов пользователя
      • Параметры запроса
      • Очередность вызовов методов и событий Роутов при переходах между ними
      • Заключение
    • Данные и работа с ними
      • Модели
      • Хранилище
      • Адаптеры
      • Сериализаторы
      • Заключение
    • Шаблоны
      • Основы шаблонизации
      • Вспомогательные функции (helpers)
      • Условные конструкции
      • Циклы
      • Атрибуты элементов
      • Ссылки
      • Взаимодействие пользователя с приложением
      • Элементы ввода
      • Отрисовка Шаблонов
      • Заключение
    • Контроллеры
    • Компоненты
      • Введение в Компоненты
      • Передача параметров в Компоненты
      • Жизненный цикл Компонентов
      • Настройка DOM-элемента Компонента
      • Обработка событий в Компоненте
      • Контекстные Компоненты
      • Заключение
    • Приложение и его экземпляры
      • Внедрение зависимостей
      • Инициализаторы
      • Сервисы
      • Заключение
    • Циклы выполнения задач
      • Методы Ember.run
      • Заключение
    • Конфигурация приложения
      • Настройки приложения
      • Расширение прототипов JavaScript
      • Отладка
      • Заключение
  • Тестирование
    • Юнит-тесты
      • Тестирование вычисляемых свойств
      • Тестирование методов-наблюдателей
      • Тестирование обычных методов
      • Тестирование обработчиков событий
      • Юнит-тесты разных архитектурных сущностей
    • Интеграционные тесты
      • Вспомогательные функции
      • Компоненты
      • Работа с Сервисами в зависимостях
    • Приемочные тесты
      • Асинхронные вспомогательные функции
      • Синхронные вспомогательные функции
      • Функция andThen
      • Функция pauseTest
      • Создание своих вспомогательных функций для приемочных тестов
    • Page Objects
    • Мок-данные
    • Заключение

Об авторе

Oleg Nechiporenko
Oleg Nechiporenko

JS-разработчик, который помнит транзакции в ember-data и работал с Ember до версии 1.0. Автор ember-models-table и chai-string.

Безусловная 100% гарантия счастья без риска от Leanpub

В течение 45 дней с момента покупки вы можете получить 100% возврат средств на любую покупку в Leanpub всего в два клика. Мы обрабатываем заявки на возврат средств вручную, так что этот процесс может занять несколько дней. Смотрите полные условия.

Пишите и публикуйте на Leanpub

Авторы и издатели используют Leanpub для публикации замечательных ещё незаконченных и уже завершенных книг, как эта. Вы можете использовать Leanpub для написания, публикации и продажи своей книги! Leanpub - мощная платформа для серьезных авторов, сочетающая простой, элегантный письменный и издательский процесс с магазином, ориентированным на продажу продвигаемых электронных книг. Leanpub - волшебная пишущая машинка для авторов: просто пишите в текстовом виде и опубликуйте свою книгу, просто нажимая кнопку. Это действительно проще простого.

Узнать подробнее о написании на Leanpub