От переводчика: Наши скромные усилия по переводу были замечены 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.
На этом все! Всем добра!
Крис Нг, Эми Лам, Исаак Ли, Джессика Джордан и Команда обучения
Предыдущий выпуск доступен по ссылке