- PVSM.RU - https://www.pvsm.ru -

The Ember Times — Выпуск 130

The Ember Times — Выпуск 130 - 1
От переводчика: После позитивного отклика на прошлый выпуск [1] дайджеста, я решил продолжить перевод этого популярного источника последних новостей из мира Ember.js.
Как и в прошлый раз ссылки на материалы, на которые я находил перевод, я помечал (рус). Все ссылки без пометки указывают на англоязычные ресурсы. И как и всегда, на русском вопросы можно задать в нашем ламповом телеграмм-канале [2]

С Новым годом, Эмберисты!

На этой неделе мы хотим представить вам специальный номер нашего издания, посвященный Ember Octane!

Мы собрали как можно больше информации об этом новом издании Ember. Таким образом, в этом посте вы найдете полезную информацию, которая поможет вам получить максимальную отдачу от Ember Octane.

В этом выпуске: что такое редакция Octane? ‍♀️‍♂️, где я могу узнать больше?, как перейти на Octane? ️, отзыв от компании Outdoorsy, покорить Octane с помощью Ember Atlas и Octane на EmberConf 2020 !

Octane — это современный Ember, и я очень рад, что мы смогли пересечь финишную черту и закончить его разработку. Желаю вам получить много удовольствия от создания приложений! ~ Йехуда Кац (@wycats [3])

Что такое Octane Edition? ♀️♂️

Начиная Ember Octane мы вводим понятие издания. Давайте посмотрим, что означает издание в Ember и какие функции вы можете найти в выпуске Octane.

Что такое издание?

В Ember при создании издания [4] мы сосредотачиваемся на определенной теме, чтобы в итоге получить целостный опыт программирования. Например, выпуск Octane ориентирован на продуктивности и производительности!

Наличие выпусков помогает вам и командам разрабатывающим Ember во многих отношениях:

  1. Вы можете увидеть общую картину того, как новые функции фреймворка работает вместе. До этого вам, возможно, приходилось постоянно следить за последними RFC (Requests For Comments [5]) и комментариями к релизам, чтобы понять, почему какая-то функция была добавлена ​​или удалена.

  2. Людям, которые не следят за Ember внимательно — например, вам или другим людям из мира JavaScript — было легко пропустить значительные изменения, происходящие со временем. Издания помогают нам продемонстрировать рынку силу Ember.

  3. Редакции дают возможность обновить документацию, идиомы, аддоны и инструменты Ember (такие как Ember Inspector, заготовки (blueprints), codemods и сообщения об ошибках). Конечный результат — это цельный опыт для разработчиков!

Какие функции есть в редакции Octane?

Многие новые функции объединяются, чтобы сформировать новую компонентную модель и новую систему реактивности для Ember. Эти два больших изменения заметно улучшают опыт разработчиков.

Вы можете найти полный список функций в Ember Guides [6]. Мы же выделим несколько основных ниже:

  1. Компоненты Glimmer предлагают значительно упрощенный API как для шаблона, так и для класса поддержки. Передайте привет внешней семантике HTML и аргументам в пространстве имен!

  2. Модификаторы (modifiers) позволяют вам взаимодействовать с DOM — анимировать элемент, скролить к элементу, автоматически фокусироваться на первом вводе формы и т. д. Модификаторы работают с любыми элементами.

  3. Отслеживаемые свойства (tracked properties) упрощают синхронизацию DOM с изменениями JavaScript. Вам больше не нужно писать и поддерживать списки зависимостей.

Я немного взволнована, потому мне кажется, что Octane значительно легче учить. Это отлично подходит как для компаний, которые нанимают разработчиков без знания Ember, так и для начинающих программистов. С включенным по умолчанию ember-auto-import [7] мы можем работать с более широкой экосистемой JavaScript. Без особых усилий можно использовать ваши любимые библиотеки из npm. ~ Джен Вебер (@jenweber [8])

Где я могу узнать больше?

Если вы хотите попробовать Ember Octane, вы можете узнать больше о новых API и лучших способах создания современных Ember-приложений. Мы настоятельно рекомендуем вам следующие учебные ресурсы:

Для начала

Сообщество Ember усердно работало над тем, чтобы подготовить официальную документацию Ember, состоящую из руководства, учебного пособия и документации по API редакции Octane. Используйте эти учебные материалы в качестве первого шага.

Первая часть учебника Super Rentals сейчас переведена на русский. Вот ссылки на часть 1.1 [12] и часть 1.2 [13].

Octane обеспечивает очень плавное погружение и позволяет учиться и развиваться в фреймворке по мере необходимости. Вы начинаете с шаблонов HTML, затем извлекаете фрагменты в шаблонные компоненты (template-only components) для ясности кода, затем добавляете аргументы для повторного использования компонентов, добавляете js-класс для обработки событий, добавляете сервис для общих функций, устанавливаете аддоны для более интересных вещей и т.д. Наконец, я могу учить людей той версии Ember, которая была у меня в голове. Проверьте новый учебник, чтобы увидеть разницу! ~ Годфри Чан (@chancancode [14])

Основные концепции, лежащие в основе Octane.

Особенно в начале вы, возможно, захотите ознакомиться с основными концепциями Octane, и как они связаны с тем, что вы уже узнали о JavaScript! Прочитайте некоторые из этих избранных постов блога, чтобы подробнее узнать о принципах этой редакции Ember.

С самого начала Ember развивался вместе с языком JavaScript. Ember служил испытательным полигоном для таких функций, как классы и модули, и в течение многих лет отдавал больше, чем получал. В Octane мы исправляем ситуацию. Ember теперь становится таким же современным, как любая другая JavaScript-инфраструктура, максимально используя возможности языка, которые он помог сформировать. И его приверженность стабильности в эволюции означает, что эта тенденция будет продолжаться в течение многих лет. ~ Дэн Гебхардт (@dgeb [24])

Как перейти на Octane ️

Воспользуйтесь совместимостью Octane с классическим Ember и начните миграцию существующих приложений Ember и с помощью следующих полезных материалов:

Какой бы дорогой вы не пошли, вам не придется делать это в одиночку, поскольку члены сообщества щедро предоставили многочисленные кодовые патчи (codemods) [28], чтобы помочь всему сообществу эффективно мигрировать.

Если вам по пути нужна помощь, посетите чат и форумы сообщества Ember [35] (или русскоязычный телеграмм-канал [2]).

Когда мы начали работать над Ember в начале 2010-х годов, мы знали, что нам придется адаптироваться к изменениям экосистемы, но мы не могли предсказать, насколько значительными будут изменения в языке JavaScript и его распространении. Особенность Ember в том, что когда мы адаптируемся к таким вещам, как классы JavaScript или современный синтаксис компонентов, мы очень усердно работаем над миграцией существующих приложений. И дело не только в том, что вы можете использовать старые и новые функции одновременно. Старые классы синтаксиса и структуры свободно взаимодействуют с новыми классами синтаксиса и структур. Разработчики приложений Ember могут тратить больше времени на бизнес-функционал для своих пользователей и меньше времени на переписывание приложения, как это часто бывает в JavaScript сообществе. ~ Йехуда Кац (@wycats [3])

Отзыв от компании Outdoorsy

Хотите знать, кто использовал функции Ember Octane в продакшене?

В следующих нескольких выпусках мы будем уделять некоторое время рассмотрению проектов и команд, которые используют Ember Octane в своих приложениях.

Сегодня поговорим с компанией Outdoorsy [36], маркетплейсе, который связывает владельцев домов на колесах и автофургонов с туристами, поощряя их больше бывать на природе. Outdoorsy поддерживает три масштабных приложения Ember для своего главного веб-продукта.

Разработчики из Outdoorsy используют функции Octane в бою с сентября и, как сообщается, для них это приятный опыт. Жак Жубер (@jacojoubert [37]), фронт-энд инженер в Outdoorsy, говорит: «Octane позволил нам создать проверенные интерактивные приложения за очень короткое время. Используя Octane, мы воссоздали весь наш поиск [38] с нуля за пять недель. То, что раньше заняло бы на порядок больше времени".

Приложение Ember от Outdoorsy — прекрасная возможность показать лучшие стороны Ember Octane. Приложение пишется в классическом стиле Ember около 4 лет, и оно достаточно велико, чтобы над ним работала команда из 26 разработчиков (около половины из которых сосредоточены на пользовательском интерфейсе). Все приложение представляет собой монорепо из нескольких приложений и аддонов Ember и использует Ember Fastboot с регидратацией [39] для своих открытых страниц в целях SEO.

Как и при любом обновлении приложения такого размера, здесь было несколько болевых точек, но команда Outdoorsy воспользовалась возможностью собраться вместе во время внутрикомандного технического саммита (команда распределена, и многие работают удаленно), чтобы в течение недели сфокусироваться на обновлении.

К новому синтаксису Octane пришлось немного привыкать, особенно в том, как использовать отслеживаемые (tracked) свойства вместо вычисляемых (computed) свойств, но команде понравилось использование новой системы авто-отслеживания, а также компонентов на основе классов. Они планируют постепенное обновление всех своих компонентов с течением времени.

Почти вся новая работа, выполняемая над приложением, делается с использованием компонентов Glimmer и опирается на более ясные и естественные концепции Ember Octane (прим: glimmer-компоненты, отслеживаемые свойства, модификаторы).

Если перечислять заметные преимущества, которые команда Outdoorsy получила от Octane, — это упрощение ментальной модели работы с Ember за счет унификации синтаксиса и концепций, улучшенная читаемость кода и облегчение понимания, из какого контекста получается состояние. Отсутствие разночтения, в каком из файлов искать определение используемого свойства, безусловно благоприятно сказалось на производительности разработчиков.

Приятно слышать, что Octane действительно хорошо работает в продакшене в масштабах и с уровнем сложности компании Outdoorsy.

Мы знаем, что есть много других замечательных примеров использования Octane "в полях". Если вы хотите поделиться своим опытом, пожалуйста, свяжитесь с командой Ember Times.

Сохранение силы Ember зависит от энергии и преданности сообщества, и редакция Octane является отличным примером того, как сообщество может собраться вместе, согласовать план и довести все до ума. ~ Эдвард Фолкнер (@ef4 [40])

Атлас Ember

Выше мы упоминали о Руководстве по обновлению — Атлас Ember Octane [41]. Этот раздел содержит больше информации об этом ресурсе, который помогает разработчикам Ember перевести их классические приложений и аддоны Octane.

Так что же такое Атлас Ember?

Ember Atlas — это пока неофициальный ресурс для Ember, кураторами которого являются различные люди в Ember-сообществе. Сейчас он включает в себя лучшие практики, руководства по обновлению и другие темы. Атлас Ember создан, чтобы быть своего рода вики для Ember. Туда собирается различный контент, который пока не готов для официального руководства, или который не предполагается туда вносить (прим: например, по причине сложности или ограниченной целевой аудитории).

Не стесняйтесь добавить в закладки emberatlas.com [42], а для быстрого ознакомления рекомендуем прочитать раздел "Введение в Ember Atlas" [43].

Октан на EmberConf 2020

С выходом [44] Ember Octane неудивительно, что это также горячая тема для EmberConf 2020 [45].

Если вы хотите послушать и поговорить с людьми об Octane, EmberConf в Портленде, США это то, что вам нужно! 16-18 марта будут полны потрясающих выступлений Годфри Чана (@chancancode [14]), Сучиты Доши (@ suchitadoshi1987 [46]), ДанМонро (@DanMonroe [47]) и многих других. (Европейская конференция EmberFest обычно проводится осенью и на ней также, наверняка, будут обсуждать Octane. Следите за этим твиттером [48], чтобы узнать где и когда)

Это также хорошее место, чтобы встретиться со своими друзьями из мира Ember и узнать о многих других темах. Для получения дополнительной информации посетите веб-сайт EmberConf [49] и присоединитесь к каналу #ember-conf [50] на Ember Discord .

У Ember есть стабильность и стойкость, и у него есть репутация, проверенная временем. Это делает его удобным для работы, и отличным выбором для компаний и команд, но это также означает, что наше время в центре хайпа уже прошло. Octane — это удивительное улучшение, а также отличная возможность привлечь людей, поймав следующую волну хайпа. Я надеюсь, что члены нашего сообщества воспользуются этой возможностью, чтобы распространить Ember еще больше к своим компаниям и проектам. ~ Лия Силбер (@wifelette)

Благодарности контрибьютерам

На этой неделе мы хотели бы поблагодарить @mansona [51], @the-bionic [52], @bf4 [53], @mixonic [54], @rwjblue [55], @Turbo87 [56], @bobisjan [57], @dmzza [58], @efx [59] и @SYU15 [60] за их вклад в Ember и связанные с ним репозитории!

#embertimes

Хотите написать для Ember Times? Есть предложение для выпуска на следующей неделе? Присоединяйтесь к нам в #support-ember-times [61] в Ember Community Discord [62] или напишите в директ @embertimes в Твиттере [63].

Будьте в курсе того, что происходит в мире Ember, подписавшись на нашу еженедельную электронную рассылку [64]! Вы также можете найти наши сообщения [65] в блоге Ember.

На русском про Ember можно спрашивать в телеграмм канале ember_js [2]

Ну вот и закончился наш специальный выпуск, посвященный новой редакции Ember Octane!

Всего вам доброго,

Крис Нг, Алон Букай, Джессика Джордан, Анн-Грит ван Хервейнен, Исаак Ли, Джаред Галанис, Эми Лам и Команда обучения

Автор: chilicoder

Источник [66]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/342933

Ссылки в тексте:

[1] прошлый выпуск: https://habr.com/ru/post/482988/

[2] телеграмм-канале: https://t.me/ember_js

[3] @wycats: https://github.com/wycats

[4] издания: https://emberjs.com/editions/

[5] Requests For Comments: https://github.com/emberjs/rfcs

[6] Ember Guides: https://guides.emberjs.com/release/upgrading/current-edition/#toc_what-is-ember-octane

[7] ember-auto-import: https://github.com/ef4/ember-auto-import

[8] @jenweber: https://github.com/jenweber

[9] Официальная документация — Ember.js Guides: https://guides.emberjs.com/release/

[10] Официальный учебник для начинающих — создание приложения Super Rentals: https://guides.emberjs.com/release/tutorial/part-1/

[11] Официальная ссылка на API — Документация API Ember.js: https://api.emberjs.com/ember/release

[12] часть 1.1: https://habr.com/ru/post/482296/

[13] часть 1.2: https://habr.com/ru/post/482390/

[14] @chancancode: https://github.com/chancancode

[15] @pzuraq: https://github.com/pzuraq

[16] Часть 1: Нативные классы: https://blog.emberjs.com/2019/02/11/coming-soon-in-ember-octane-part-1.html

[17] Часть 2: Синтаксис с угловыми скобками (angle brackets) и именованные (named) аргументы: https://blog.emberjs.com/2019/02/19/coming-soon-in-ember-octane-part-2.html

[18] Часть 3: Отслеживаемые свойства: https://blog.emberjs.com/2019/02/26/coming-soon-in-ember-octane-part-3.html

[19] Часть 4: Модификаторы: https://blog.emberjs.com/2019/03/06/coming-soon-in-ember-octane-part-4.html

[20] Часть 5: Glimmer-компоненты: https://blog.emberjs.com/2019/03/14/coming-soon-in-ember-octane-part-5.html

[21] Джен Вебер (@jenweber): Наиболее распространенные ошибки при использовании Octane и как их избежать: https://medium.com/ember-ish/the-most-common-ember-js-octane-mistakes-and-how-to-avoid-them-c6420e1b0423

[22] Рикардо Мендес (@locks) Как Octane приносит ясность в шаблоны: https://simplabs.com/blog/2019/12/20/clarity-in-templates/

[23] Frontend Masters (платная подписка 39$ в месяц): Курс по основам Ember Octane от Mike North (@ mike-north): https://frontendmasters.com/courses/ember-octane/

[24] @dgeb: https://github.com/dgeb

[25] Как переписать приложение используя Ember Octane от Айзека Ли (@ ijlee2): https://crunchingnumbers.live/2019/12/23/rewriting-apps-in-ember-octane/

[26] Ember Octane vs. Classic Ember Шпаргалка (cheatsheet): https://ember-learn.github.io/ember-octane-vs-classic-cheat-sheet/

[27] Пошаговое руководство по миграции в Атласе по Ember: https://www.notion.so/Atlas-Recommended-Migration-Order-a22f948a7cce4e01896d674f727bee74

[28] многочисленные кодовые патчи (codemods): https://github.com/ember-codemods

[29] Патч для угловых скобок: https://github.com/ember-codemods/ember-angle-brackets-codemod

[30] Патч для отслеживаемых свойств: https://github.com/ember-codemods/ember-tracked-properties-codemod

[31] Патч для нативных классов: https://github.com/ember-codemods/ember-native-class-codemod

[32] Неявный this или {{foo}} для {{this.foo}}: https://github.com/ember-codemods/ember-no-implicit-this-codemod

[33] Патч ES5 Getter: https://github.com/ember-codemods/es5-getter-ember-codemod

[34] Перенос шаблонов в папки с js-классами: https://github.com/ember-codemods/ember-component-template-colocation-migrator

[35] чат и форумы сообщества Ember: https://emberjs.com/community/

[36] Outdoorsy: https://www.outdoorsy.com/

[37] @jacojoubert: https://github.com/jacojoubert

[38] поиск: https://www.outdoorsy.com/rv-search

[39] регидратацией: https://www.youtube.com/watch?v=s28a3U3ce2c&t=1087s

[40] @ef4: https://github.com/ef4

[41] Атлас Ember Octane: https://www.notion.so/Ember-Octane-b8ad64b7adf74218942fc69ead7b6892

[42] emberatlas.com: http://emberatlas.com/

[43] "Введение в Ember Atlas": https://www.notion.so/Introduction-d11ec02706d74eab960b3e2b11494bc7

[44] выходом: https://blog.emberjs.com/2019/12/20/octane-is-here.html

[45] EmberConf 2020: https://emberconf.com/#/speakers

[46] @ suchitadoshi1987: https://github.com/suchitadoshi1987

[47] @DanMonroe: https://github.com/DanMonroe

[48] этим твиттером: https://twitter.com/EmberFest/status/1212694841999724544

[49] EmberConf: https://emberconf.com/

[50] #ember-conf: https://discordapp.com/channels/480462759797063690/480502413917421570

[51] @mansona: https://github.com/mansona

[52] @the-bionic: https://github.com/the-bionic

[53] @bf4: https://github.com/bf4

[54] @mixonic: https://github.com/mixonic

[55] @rwjblue: https://github.com/rwjblue

[56] @Turbo87: https://github.com/Turbo87

[57] @bobisjan: https://github.com/bobisjan

[58] @dmzza: https://github.com/dmzza

[59] @efx: https://github.com/efx

[60] @SYU15: https://github.com/SYU15

[61] #support-ember-times: https://discordapp.com/channels/480462759797063690/485450546887786506

[62] Ember Community Discord: https://discordapp.com/invite/zT3asNS

[63] @embertimes в Твиттере: https://twitter.com/embertimes

[64] еженедельную электронную рассылку: https://the-emberjs-times.ongoodbits.com/

[65] наши сообщения: https://emberjs.com/blog/tags/newsletter.html

[66] Источник: https://habr.com/ru/post/483630/?utm_source=habrahabr&utm_medium=rss&utm_campaign=483630