Ember Book (Ember Book)
Бесплатно!
With Membership
$7.99
Minimum paid price

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.

Об авторе

Oleg Nechiporenko
Oleg Nechiporenko

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

Оглавление

  • Предисловие
  • Установка необходимого ПО
  • 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
    • Мок-данные
    • Заключение

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

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

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

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

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

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