Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
От переводчика: После позитивного отклика на прошлый выпуск дайджеста, я решил продолжить перевод этого популярного источника последних новостей из мира Ember.js.
Как и в прошлый раз ссылки на материалы, на которые я находил перевод, я помечал (рус). Все ссылки без пометки указывают на англоязычные ресурсы. И как и всегда, на русском вопросы можно задать в нашем ламповом телеграмм-канале
С Новым годом, Эмберисты!
На этой неделе мы хотим представить вам специальный номер нашего издания, посвященный Ember Octane!
Мы собрали как можно больше информации об этом новом издании Ember. Таким образом, в этом посте вы найдете полезную информацию, которая поможет вам получить максимальную отдачу от Ember Octane.
В этом выпуске: что такое редакция Octane? ♀️♂️, где я могу узнать больше?, как перейти на Octane? ️, отзыв от компании Outdoorsy, покорить Octane с помощью Ember Atlas и Octane на EmberConf 2020 !
Octane — это современный Ember, и я очень рад, что мы смогли пересечь финишную черту и закончить его разработку. Желаю вам получить много удовольствия от создания приложений! ~ Йехуда Кац (@wycats)
Что такое Octane Edition? ♀️♂️
Начиная Ember Octane мы вводим понятие издания. Давайте посмотрим, что означает издание в Ember и какие функции вы можете найти в выпуске Octane.
Что такое издание?
В Ember при создании издания мы сосредотачиваемся на определенной теме, чтобы в итоге получить целостный опыт программирования. Например, выпуск Octane ориентирован на продуктивности и производительности!
Наличие выпусков помогает вам и командам разрабатывающим Ember во многих отношениях:
Вы можете увидеть общую картину того, как новые функции фреймворка работает вместе. До этого вам, возможно, приходилось постоянно следить за последними RFC (Requests For Comments) и комментариями к релизам, чтобы понять, почему какая-то функция была добавлена или удалена.
Людям, которые не следят за Ember внимательно — например, вам или другим людям из мира JavaScript — было легко пропустить значительные изменения, происходящие со временем. Издания помогают нам продемонстрировать рынку силу Ember.
Редакции дают возможность обновить документацию, идиомы, аддоны и инструменты Ember (такие как Ember Inspector, заготовки (blueprints), codemods и сообщения об ошибках). Конечный результат — это цельный опыт для разработчиков!
Какие функции есть в редакции Octane?
Многие новые функции объединяются, чтобы сформировать новую компонентную модель и новую систему реактивности для Ember. Эти два больших изменения заметно улучшают опыт разработчиков.
Вы можете найти полный список функций в Ember Guides. Мы же выделим несколько основных ниже:
Компоненты Glimmer предлагают значительно упрощенный API как для шаблона, так и для класса поддержки. Передайте привет внешней семантике HTML и аргументам в пространстве имен!
Модификаторы (modifiers) позволяют вам взаимодействовать с DOM — анимировать элемент, скролить к элементу, автоматически фокусироваться на первом вводе формы и т. д. Модификаторы работают с любыми элементами.
Отслеживаемые свойства (tracked properties) упрощают синхронизацию DOM с изменениями JavaScript. Вам больше не нужно писать и поддерживать списки зависимостей.
Я немного взволнована, потому мне кажется, что Octane значительно легче учить. Это отлично подходит как для компаний, которые нанимают разработчиков без знания Ember, так и для начинающих программистов. С включенным по умолчанию ember-auto-import мы можем работать с более широкой экосистемой JavaScript. Без особых усилий можно использовать ваши любимые библиотеки из npm. ~ Джен Вебер (@jenweber)
Где я могу узнать больше?
Если вы хотите попробовать Ember Octane, вы можете узнать больше о новых API и лучших способах создания современных Ember-приложений. Мы настоятельно рекомендуем вам следующие учебные ресурсы:
Для начала
Сообщество Ember усердно работало над тем, чтобы подготовить официальную документацию Ember, состоящую из руководства, учебного пособия и документации по API редакции Octane. Используйте эти учебные материалы в качестве первого шага.
- Официальная документация — Ember.js Guides
- Официальный учебник для начинающих — создание приложения Super Rentals
- Официальная ссылка на API — Документация API Ember.js
Первая часть учебника Super Rentals сейчас переведена на русский. Вот ссылки на часть 1.1 и часть 1.2.
Octane обеспечивает очень плавное погружение и позволяет учиться и развиваться в фреймворке по мере необходимости. Вы начинаете с шаблонов HTML, затем извлекаете фрагменты в шаблонные компоненты (template-only components) для ясности кода, затем добавляете аргументы для повторного использования компонентов, добавляете js-класс для обработки событий, добавляете сервис для общих функций, устанавливаете аддоны для более интересных вещей и т.д. Наконец, я могу учить людей той версии Ember, которая была у меня в голове. Проверьте новый учебник, чтобы увидеть разницу! ~ Годфри Чан (@chancancode)
Основные концепции, лежащие в основе Octane.
Особенно в начале вы, возможно, захотите ознакомиться с основными концепциями Octane, и как они связаны с тем, что вы уже узнали о JavaScript! Прочитайте некоторые из этих избранных постов блога, чтобы подробнее узнать о принципах этой редакции Ember.
- Серия блогов "Основные понятия октана" Криса Гарретта (@pzuraq)
- Часть 1: Нативные классы
- Часть 2: Синтаксис с угловыми скобками (angle brackets) и именованные (named) аргументы
- Часть 3: Отслеживаемые свойства
- Часть 4: Модификаторы
- Часть 5: Glimmer-компоненты
- Джен Вебер (@jenweber): Наиболее распространенные ошибки при использовании Octane и как их избежать
- Рикардо Мендес (@locks) Как Octane приносит ясность в шаблоны
- Frontend Masters (платная подписка 39$ в месяц): Курс по основам Ember Octane от Mike North (@ mike-north)
С самого начала Ember развивался вместе с языком JavaScript. Ember служил испытательным полигоном для таких функций, как классы и модули, и в течение многих лет отдавал больше, чем получал. В Octane мы исправляем ситуацию. Ember теперь становится таким же современным, как любая другая JavaScript-инфраструктура, максимально используя возможности языка, которые он помог сформировать. И его приверженность стабильности в эволюции означает, что эта тенденция будет продолжаться в течение многих лет. ~ Дэн Гебхардт (@dgeb)
Как перейти на Octane ️
Воспользуйтесь совместимостью Octane с классическим Ember и начните миграцию существующих приложений Ember и с помощью следующих полезных материалов:
- Как переписать приложение используя Ember Octane от Айзека Ли (@ ijlee2)
- Ember Octane vs. Classic Ember Шпаргалка (cheatsheet)
- Пошаговое руководство по миграции в Атласе по Ember
Какой бы дорогой вы не пошли, вам не придется делать это в одиночку, поскольку члены сообщества щедро предоставили многочисленные кодмоды (codemods), чтобы помочь всему сообществу эффективно мигрировать.
- Кодмод для угловых скобок
- Кодмод для отслеживаемых свойств
- Кодмод для нативных классов
Неявный this
или{{foo}}
для{{this.foo}}
- Кодмод ES5 Getter
- Перенос шаблонов в папки с js-классами
Если вам по пути нужна помощь, посетите чат и форумы сообщества Ember (или русскоязычный телеграмм-канал).
Когда мы начали работать над Ember в начале 2010-х годов, мы знали, что нам придется адаптироваться к изменениям экосистемы, но мы не могли предсказать, насколько значительными будут изменения в языке JavaScript и его распространении. Особенность Ember в том, что когда мы адаптируемся к таким вещам, как классы JavaScript или современный синтаксис компонентов, мы очень усердно работаем над миграцией существующих приложений. И дело не только в том, что вы можете использовать старые и новые функции одновременно. Старые классы синтаксиса и структуры свободно взаимодействуют с новыми классами синтаксиса и структур. Разработчики приложений Ember могут тратить больше времени на бизнес-функционал для своих пользователей и меньше времени на переписывание приложения, как это часто бывает в JavaScript сообществе. ~ Йехуда Кац (@wycats)
Отзыв от компании Outdoorsy
Хотите знать, кто использовал функции Ember Octane в продакшене?
В следующих нескольких выпусках мы будем уделять некоторое время рассмотрению проектов и команд, которые используют Ember Octane в своих приложениях.
Сегодня поговорим с компанией Outdoorsy, маркетплейсе, который связывает владельцев домов на колесах и автофургонов с туристами, поощряя их больше бывать на природе. Outdoorsy поддерживает три масштабных приложения Ember для своего главного веб-продукта.
Разработчики из Outdoorsy используют функции Octane в бою с сентября и, как сообщается, для них это приятный опыт. Жак Жубер (@jacojoubert), фронт-энд инженер в Outdoorsy, говорит: «Octane позволил нам создать проверенные интерактивные приложения за очень короткое время. Используя Octane, мы воссоздали весь наш поиск с нуля за пять недель. То, что раньше заняло бы на порядок больше времени".
Приложение Ember от Outdoorsy — прекрасная возможность показать лучшие стороны Ember Octane. Приложение пишется в классическом стиле Ember около 4 лет, и оно достаточно велико, чтобы над ним работала команда из 26 разработчиков (около половины из которых сосредоточены на пользовательском интерфейсе). Все приложение представляет собой монорепо из нескольких приложений и аддонов Ember и использует Ember Fastboot с регидратацией для своих открытых страниц в целях SEO.
Как и при любом обновлении приложения такого размера, здесь было несколько болевых точек, но команда Outdoorsy воспользовалась возможностью собраться вместе во время внутрикомандного технического саммита (команда распределена, и многие работают удаленно), чтобы в течение недели сфокусироваться на обновлении.
К новому синтаксису Octane пришлось немного привыкать, особенно в том, как использовать отслеживаемые (tracked) свойства вместо вычисляемых (computed) свойств, но команде понравилось использование новой системы авто-отслеживания, а также компонентов на основе классов. Они планируют постепенное обновление всех своих компонентов с течением времени.
Почти вся новая работа, выполняемая над приложением, делается с использованием компонентов Glimmer и опирается на более ясные и естественные концепции Ember Octane (прим: glimmer-компоненты, отслеживаемые свойства, модификаторы).
Если перечислять заметные преимущества, которые команда Outdoorsy получила от Octane, — это упрощение ментальной модели работы с Ember за счет унификации синтаксиса и концепций, улучшенная читаемость кода и облегчение понимания, из какого контекста получается состояние. Отсутствие разночтения, в каком из файлов искать определение используемого свойства, безусловно благоприятно сказалось на производительности разработчиков.
Приятно слышать, что Octane действительно хорошо работает в продакшене в масштабах и с уровнем сложности компании Outdoorsy.
Мы знаем, что есть много других замечательных примеров использования Octane "в полях". Если вы хотите поделиться своим опытом, пожалуйста, свяжитесь с командой Ember Times.
Сохранение силы Ember зависит от энергии и преданности сообщества, и редакция Octane является отличным примером того, как сообщество может собраться вместе, согласовать план и довести все до ума. ~ Эдвард Фолкнер (@ef4)
Атлас Ember
Выше мы упоминали о Руководстве по обновлению — Атлас Ember Octane. Этот раздел содержит больше информации об этом ресурсе, который помогает разработчикам Ember перевести их классические приложений и аддоны Octane.
Так что же такое Атлас Ember?
Ember Atlas — это пока неофициальный ресурс для Ember, кураторами которого являются различные люди в Ember-сообществе. Сейчас он включает в себя лучшие практики, руководства по обновлению и другие темы. Атлас Ember создан, чтобы быть своего рода вики для Ember. Туда собирается различный контент, который пока не готов для официального руководства, или который не предполагается туда вносить (прим: например, по причине сложности или ограниченной целевой аудитории).
Не стесняйтесь добавить в закладки emberatlas.com, а для быстрого ознакомления рекомендуем прочитать раздел "Введение в Ember Atlas".
Октан на EmberConf 2020
С выходом Ember Octane неудивительно, что это также горячая тема для EmberConf 2020.
Если вы хотите послушать и поговорить с людьми об Octane, EmberConf в Портленде, США это то, что вам нужно! 16-18 марта будут полны потрясающих выступлений Годфри Чана (@chancancode), Сучиты Доши (@ suchitadoshi1987), ДанМонро (@DanMonroe) и многих других. (Европейская конференция EmberFest обычно проводится осенью и на ней также, наверняка, будут обсуждать Octane. Следите за этим твиттером, чтобы узнать где и когда)
Это также хорошее место, чтобы встретиться со своими друзьями из мира Ember и узнать о многих других темах. Для получения дополнительной информации посетите веб-сайт EmberConf и присоединитесь к каналу #ember-conf на Ember Discord .
У Ember есть стабильность и стойкость, и у него есть репутация, проверенная временем. Это делает его удобным для работы, и отличным выбором для компаний и команд, но это также означает, что наше время в центре хайпа уже прошло. Octane — это удивительное улучшение, а также отличная возможность привлечь людей, поймав следующую волну хайпа. Я надеюсь, что члены нашего сообщества воспользуются этой возможностью, чтобы распространить Ember еще больше к своим компаниям и проектам. ~ Лия Силбер (@wifelette)
Благодарности контрибьютерам
На этой неделе мы хотели бы поблагодарить @mansona, @the-bionic, @bf4, @mixonic, @rwjblue, @Turbo87, @bobisjan, @dmzza, @efx и @SYU15 за их вклад в Ember и связанные с ним репозитории!
#embertimes
Хотите написать для Ember Times? Есть предложение для выпуска на следующей неделе? Присоединяйтесь к нам в #support-ember-times
в Ember Community Discord или напишите в директ @embertimes в Твиттере.
Будьте в курсе того, что происходит в мире Ember, подписавшись на нашу еженедельную электронную рассылку! Вы также можете найти наши сообщения в блоге Ember.
На русском про Ember можно спрашивать в телеграмм канале ember_js
Ну вот и закончился наш специальный выпуск, посвященный новой редакции Ember Octane!
Всего вам доброго,
Крис Нг, Алон Букай, Джессика Джордан, Анн-Грит ван Хервейнен, Исаак Ли, Джаред Галанис, Эми Лам и Команда обучения
Предыдущий выпуск доступен по ссылке.