The Ember Times — Выпуск 131 +1



От переводчика: Наши скромные усилия по переводу были замечены Ember Learning Team, в этом выпуске они упомянули об этой инициативе русскоговорящего сообщества, что придало переводу небольшой шарм. Но шарм шармом, а это небольшое событие показывает, насколько едино Ember-сообщество и насколько оно ценит усилия отдельных своих представителей.
Как и в прошлый раз ссылки на материалы, на которые я находил перевод, я помечал (рус). Все ссылки без пометки указывают на англоязычные ресурсы. На русском вопросы можно задать в нашем ламповом телеграмм-канале


Привет, Эмберисты!


Темы этого выпуска: Помогите улучшить систему автоматического отслеживания (autotracking) и реактивности Ember, читайте RFC (Request For Comments) о новых менеджерах ожиданий в тестах (test waiters), ??оптимизируйте работу с сервером в своем приложении с помощью Ember Data, вступайте в русское сообщество Ember, и узнайте о мощных техниках отладки приложений на EmberConf !


4 RFC по улучшению системы автоматического отслеживания и реактивности Ember


Ember Octane имеет новую систему реактивности благодаря отслеживаемым свойствам (tracked properties). Они упрощают синхронизацию DOM с изменениями в JavaScript приложении. Узнайте, как работает автотрекинг из Ember Guides.


Чтобы помочь устранить некоторые недостатки, Крис Гарретт (@pzuraq) предложил представить декораторы и классы, перечисленные ниже. Мы призываем вас принять участие в обсуждении RFC и высказать свое мнение!


566. @memo декоратор


В отличие от вычисляемых свойств (computed properties), автоматически отслеживаемые геттеры не кэшируют свои значения. @memo позволит вам добавить это поведение.


567. @use декоратор


Декоратор @use будет использовать автотрекинг для решения двух проблем:


  • Разрешить компонентам Glimmer определять собственным жизненный цикл независимо от шаблона
  • Обеспечить стандартный способ смешивания декларативного и императивного код (там где это необходимо)

569. Класс TrackedList


TrackedList автоматически следит за изменениями в массивах. Этот класс можно использовать для замены EmberArray. Он будет близок по API с нативным классом. При разработке будет уделено внимание производительности.


577. TrackedMap и TrackedSet


TrackedMap и TrackedSet вместе со своими слабыми (weak) аналогами автоматически отслеживают изменения в Map и ?Set (динамические коллекции значений). Эти классы будут точно следовать нативному API.


RFC о новых менеджерах ожиданий в тестах (test waiters)


Стив Калверт (@scalvert) предложил заменить существующие менеджеры тестов на ember-test-waiters в этом запросе RFC.


Новая система менеджеров ожиданий обеспечит несколько преимуществ:


  • С новым API снизится риск выстрелить себе в ногу, учитывая, что мы будем явно объявлять начало и конец через методы официанта beginAsync и endAsync
  • Более надежный способ сбора отладочной информации для менеджера ожиданий за счет предоставленного имени.
  • Дефолтные менеджеры ожиданий в тестах по умолчанию с возможностью создания собственных, более сложных менеджеров с помощью аннотирования асинхронных операций в вашей кодовой базе, не отслеживаемых проверкой await settled()
    Поделитесь своими мыслями, отзывами и вопросами в RFC о новых менеджерах ожиданий в тестах!

Оптимизация вашего приложения с помощью Ember Data


Крис Тобурн (@runspired) в своем блоге начал серию о том, как создать и оптимизировать приложение с Ember Data. Вы начнете с создания приложения, Listicle. Listicle начинается как небольшое приложение, но в котором есть списки со сложными компонентами. С течением времени приложение раздувается, а время сборки замедляется.


В начале серии Listicle строится и рендерится за 5 секунд. Но по мере продвижения вы получите приложение со сборками и визуализацией менее чем за 1 секунду. При этом оптимизируется только управление данными! В конце, ради интереса, оптимизируется рендер.


Сейчас вышла Часть 1 и Часть 2. Также Крис обещает продолжить серию другими примерами! Вы можете изучить код, подписавшись на репозиторий Listicle.


Чтобы получить начальное представление об Ember Data, посмотрите раздел Руководства. Об архитектуре и истории библиотеки вы можете узнать из выступления Криса на EmberFest 2019


Русское Ember сообщество


Habr.com(рус) — популярный медиа-сайт для российских разработчиков. Он несколько похож на Hacker News, за исключением того, что он заполняется пользовательскими статьями, а не ссылками. Ярослав Попов (@chilicoder) обнаружил нехватку статей об Ember на ресурсе и недавно начал выкладывать переводы нашего дайджеста Ember Times ( выпуск 129(рус), выпуск № 130 (рус) ). Также он выложил статью Octane is Here (рус) и учебник Super Rentals — Часть 1(рус)!


chilicoder также приглашает всех присоединится к телеграмм каналу Ember, модератором которой является Александр Канунников (@lifeart). Это прекрасный способ получить помощь по Ember на русском языке! Спасибо вам обоим за помощь в развитии русского сообщества Ember!


Освойте мощные стратегии отладки в EmberConf


Вы, несомненно, слышали ее выступление о создании PWA (progressive web-application) с помощью Ember и о обкатанных методах тестирования аддонов. Теперь Саманта де Баррос @sdebarros готова поделиться полезными знаниями, необходимыми для любого профессионального разработчика JavaScript.


В этом году на EmberConf она представит нам выступление под названием Мощь отладки; какие инструменты вы можете использовать для быстрого поиска ошибок как во время разработки, так и в продакшене. Также выступление поможет вам изучить архитектуру Ember.


В эксклюзивном интервью The Ember Times Саманта делится с нами тем, что делает инструменты и стратегии отладки такими мощными при разработке приложений Ember:


Я думаю, что изучение методов отладки важно. Главным образом, потому что это поможет вам лучше находить ошибки и понимать как работает приложение. К тому же это поможет вам в вашей работе!
Я также думаю, что когда вы начинаете смотреть на чужой код это кажется трудным. Но через некоторое время страх смотреть на сложный код проходит, вы лучше представляете обо всем и начинаете понимать — это просто JavaScript и все. Поэтому я думаю, что методы отладки хороши как для поиска ошибок, так и для демистификации фреймворков.

Каким может быть наш опыт, когда мы начинаем больше узнавать о стратегиях отладки? Здесь Саманта делится как собственным опытом, так и опытом людей, с которыми она работала вместе:


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

EmberConf — это уникальный опыт, который вы и ваша команда не должны пропустить. Саманта делится своим мнением о том, что делает конференцию такой выдающейся:


Я думаю, что это особый опыт, когда вы едете на конференцию в качестве докладчика или посетителя. Когда вы слушаете доклады, вы получаете много вдохновения, вы обнаруживаете, что люди, с которыми вы работаете, вы, возможно, еще не делаете, и это вызывает в вас нечто, что заставляет вас хотеть учиться чему-то новому или улучшать что-то в своем работа. [...]
Я бы сказал, что вдохновение и связь — это самое приятное в EmberConf. Если бы мне нужно было что-то порекомендовать одному из участников, я бы сказал: «Задавай вопросы другим участникам или ораторам». Достаточно просто слушать выступления, но возможность общаться с другими людьми делает конференцию по-настоящему великолепной.

Если вы хотите узнать больше об успешной отладке приложений на Ember, присоединяйтесь к более чем 800 другим Ember-разработчикам на EmberConf в Портленде, штат Орегон, с 16 по 18 марта 2020 года. Цены на билеты для посетителей начинаются с $ 449, поэтому не стесняйтесь зарегистрироваться!


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


На этой неделе мы хотели бы поблагодарить @bobisjan, @pzuraq, @locks, @mjanjic01, @runspired, @igorT, @dmuneras, @mixonic, @chancancode, @nummi, @efx, @josemarluedke, @mansona, @pichfl, @skaterdav85, @jenweber, @mcfiredrill, @tomdale, @conormag, @rwjblue, @Turbo87, @stefanpenner, @xg-wang за их вклад в Ember и связанные с ним репозитории!


Есть вопрос? Задавайте их используя форму вопросов от читателей!



Хотите знать, что-то, связанное с Ember, Ember Data, Glimmer или аддонами в экосистеме Ember, но не знаете, где спросить? Для вас есть рубрика Вопросы читателей!


Отправьте свой собственный вопрос используя форму bit.ly/ask-ember-core. И не волнуйтесь, глупых вопросов нет, мы ценим любые вопросы — честно!


#embertimes


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


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


На этом все! Всем добра!


Крис Нг, Эми Лам, Исаак Ли, Джессика Джордан и Команда обучения


Предыдущий выпуск доступен по ссылке




К сожалению, не доступен сервер mySQL