(снова) время попробовать / Хабр
Я написал эту статью по мотивам выступления, которое я делал на встрече Berlin.js. В последнее время выходит мало русскоязычных материалов об этом довольно популярном и стабильном фреймворке и я решил немного исправить эту ситуацию.
Вы учите Ember.js один раз, а потом применяете эти знания на всех Ember.js проектах. Этот тезис я попытаюсь раскрыть под катом.
Коротко о моем опыте. Впервые я попробовал Ember.js в 2014 году на своей первой работе в качестве фронт-энд разработчика. Фреймворк тогда еще был построен в парадигме MVC и не использовал CLI. В силу отсутствия большого опыта судить о сильных и слабых сторонах было сложно. В целом, мои впечатления хорошо передаются этим лайв-батлом 2013 года между Ember.js и Angular.js. Да, в гугловском фреймворке было много из коробки, но в Ember легко интегрировать сторонние библиотеки, вроде moment.js или jQuery-плагины, вроде datatables.net, что сделало его намного более гибким.
Потом я перешел в другую компанию и год работал с Can. js и React.js, но в 2016 году у меня появилась возможность выбирать, и я дал шанс старому товарищу. К тому моменту парадигма сменилась на Data Down Actions Up, появились сервисы и компоненты. Однако в целом все осталось знакомо и понятно, поэтому особых проблем с адаптацией не было.
С тех пор Ember.js мой основной инструмент. И на мой взгляд, этот фреймворк стоит того, чтобы рассматривать его как основной выбор, если вы разрабатываете SPA.
Опрос Npm 2018 зафиксировал некоторую усталость js-сообщества от многочисленных инструментов, необходимых в разработке:
all of our survey respondents would like to see less tooling, less configuration required to get started, and better documentation of the tools that do exist
Это понятное явление, учитывая, что React.js — это мейнстрим. Когда дело доходит до маркетинга, библиотека позиционируется как очень «легкий» инструмент, а значит, простой в освоении и очень гибкий. Но это обманчивая гибкость тривиальности. Представьте, что вы приходите покупать машину, а вместо этого вам предлагают купить только двигатель со словами: «Вы можете сделать с этим двигателем отличную машину. Большую, маленькую, зеленую, синюю, хэтчбэк или универсал. Для такси, для езды по городу или по сельской местности. Подойдет для любой машины!». Это прекрасно, что подойдет. Но хотелось бы сесть и поехать. Только для этого понадобится еще подобрать коробку передач, найти кузов и к тому же(!) выбрать цвет. И маркетинг об этом умалчивает.
Такой порядок вещей привел к разношерстной эко-системе с огромным разнообразием вспомогательных библиотек. Библиотек, которые часто несовместимы между собой, поэтому их нужно тщательно выбирать. Выбор — это, конечно, хорошо, но выбирать из 24 видов джема утомляет. И опрос Npm это подтверждает.
Так вот, дорогие читатели, у меня для вас хорошие новости. Ember-сообщество намного меньше страдает от мук выбора в силу «конструктивных особенностей» фреймворка. Как написал один из респондентов последнего опроса Ember-сообщества :
You can learn Ember once and apply your knowledge in any other Ember project… Ember is always a coherent experience as all addons can be authored and consumed via the same tools. Spending less brainpower on tooling, setting up a testing environment, or writing testable code is a very good thing.
что переводится как
Вы учите Ember.js один раз, а потом применяете эти знания на всех Ember.js проектах.… С Ember вы получаете цельный опыт, так как все эддоны могут быть созданы и интегрированы одним и тем же набором инструментов. Экономия ментальной энергии на освоение инструментов, развертывания тестового окружения или написание поверяемого кода — это хорошая вещь.
Далее я объясню, почему с Ember вы получаете этот цельный опыт, но сначала ответим на один нужный вопрос.
В наше время редко встретишь живой js-фреймворк, разработка которого не прекращалась на протяжении последних 5 лет. Но Ember один из них.
Активная разработка не прекращалась никогда, а вот адаптация стагнировала в 2016 году. Если мы обратимся к тому же опросу Npm 2018, то там упоминается следующий график:
Как мы видим, в 2017 году произошел разворот, и Ember снова начал расти, опережая средние темпы. Этому феномену есть простое объяснение. В 2017 году компания LinkedIn решила провести редизайн и выбрала Ember.js для реализации обеих (desktop и mobile) версий своего основного сайта. Это событие дало энергию для развития и создало текущий тренд.
Надо отметить, что помимо LinkedIn, фреймворк используют таких известных компаниях, как Microsoft, Netflix, Travis CI (весь их фронт выложен в open-source ), Intercom, Heroku и другие.
В общем, фреймворк жив и здоров).
Ниже вы можете увидеть ни на что не претендующий, неполный и субъективный список разных аспектов фронтенд разработки, цель которого просто показать примерное положение Ember.js среди других библиотек. Синяя и зеленые линии относятся к React.js и Vue.js, серая и оранжевая к Angular и Ember.js:
Ember.js по «коробочному» функционалу ближе к Angular, стараясь предоставить дефолтную реализацию и инструменты для всех задач, которые встают, когда мы хотим создать новое SPA. Если что-то не устраивает или чего-то не хватает, вы ищите для этого соответствующий эддон (ну или пишите его сами). Об эддонах чуть ниже.
React.js
Если вы приходите из мира React.js, то для вас будет знакомо разбиение страницы на иерархию компонентов. В Ember вы также будете думать, как лучше разбить вашу страницу на компоненты и инкапсулировать в них локальные состояния.
Если вы знакомы с React-router, то роутер в Ember вам также покажется знакомым. Изначально роутер в React был скопирован с эмберовского, хотя сейчас проект уже давно живет своей жизнью.
Наконец, если вы комфортно чувствуете себя в работе с Redux и/или GraphQL, вы также можете использовать их с Ember.js (см тут и тут)
Также на последнем EmberConf было выступление, посвященное сравнению паттернов для React и Ember.
Vue.js
Естественно, вам так же как и людям из React, будет знакома парадигма разбиения интерфейса на компоненты. Помимо этого, вам будут знакомы концепции шаблонов и computed properties.
Angular.js
Тем, кто хорошо знает этот фреймворк, знакомым покажутся сервисы и механизм Dependency Injection. Также вам наверняка понравятся декораторы, которые будут официально выпущены в релизе 3.10, и использование которых сейчас возможно с помощью полифила. Также вам наверняка захочется использоваться Typescript (см тут), который становится все более популярным в Ember-сообществе.
Теперь давайте перейдем к частям, которые наверняка покажутся незнакомыми и которые скорее всего возникнут вопросы.
Ember-cli, а не Webpack
Стандартным инструментом для генерации приложения является Ember-cli. Практически все и всегда используют именно его. С помощью Ember-cli вы будете генерировать новые приложения и файлы в существующем приложении. Инструмент отвечает за компиляцию ресурсов и развертывание среды разработки с live-reload и тестами. Для этого создано много расширений, покрывающих все основные жизненные ситуации (вплоть до fingerprinting, CSP или SRI). Также его можно использовать для выкладки на боевые среды.
Для многих может показаться необычным, что инструмент не использует webpack. Вместо этого применяется broccoli.js. В целом от этого, во время разработки приложения вам не будет ни жарко, ни холодно.
Ember-cli — это стабильный и удобный инструмент. И во многом из-за этого сообщество не страдает от мук с выбором.
Жесткая структура файлов
Этот момент часто повергает незнакомых с фреймворком людей в шок. Посмотрите на структуру файлов стандартного Ember-приложения:
Что вы скажете, узнав, что ее нельзя поменять? Нельзя переложить файлы в другие папки и назвать их по-своему. Однажды из-за этого я даже услышал эпитет «фашистский» по отношению к фреймворку).
Однако такое ограничение было введено специально. Вот пруф:
Конечно, если вы свободный художник и ранимая творческая личность, вам будет сложно принять такой порядок. Но для остальных, «средних» программистов, новичков в разработке и тех, кому не хочется думать об организации папок и именовании файлов каждый новый проект, это весьма удобно.
На мой взгляд, это элегантное и эффективное архитектурное решение, имеющее огромное влияние. И каждый раз, когда я открываю любое Ember-приложение любого уровня сложности, я не смотрю на него, как баран на новые ворота, а знаю, где лежат компоненты, где лежат шаблоны, сервисы, тесты и прочее, прочее. Это экономит много времени и душевных сил.
Эддоны (Addons)
Время показало, что у решения иметь жесткую структуру папок есть и еще одно преимущество. Попробую раскрыть его на упрощенном примере.
Допустим, вам нужно использовать один и тот же компонент в нескольких приложениях (ну вдруг). Тогда, если вы знаете, что компоненты всегда лежат в папке app/components/
, вы можете выделить этот компонент в отдельный npm-пакет, добавить его в зависимости, и умный Ember-cli подтянет этот компонент в приложение на стадии компиляции. И вы сможете переиспользовать его в ваших приложениях.
Но это не самое удивительное. Удивительное здесь то, что ВСЕ остальные Ember-приложения также смогут использовать его, если вы опубликуете этот пакет в open-source. И все такие npm-пакеты, выложенные другими разработчиками, вы можете использовать во всех своих приложениях, не прикладывая дополнительных усилий на интеграцию.
Сообщество уже давно поняло эту идею, поэтому вы можете найти такие пакеты на все, что угодно. UI-библиотеки (куда без них), инструменты компиляции, расширения для релиза, библиотеки для аутентификации, адаптеры для работы с бэк-эндом и прочее. Для таких пакетов создан сайт EmberObserver, где вы можете найти тот пакет, что нужен вам.
Эддоны — это то, как Ember-разработчики делятся функциональностью с другими. И из-за того, что эддоны работают во всех приложениях, все используют более менее один и тот же набор. Поэтому, когда вы приходите в уже устоявшийся проект, вы, скорее всего, знаете 90% эддонов, которые он использует. Приложение вам знакомо, даже если вы видите его код первый раз в жизни.
Коммуникация с BE
Последний аспект, по которому я, пожалуй, пройдусь только вскользь, это работа с бэк-эндом.
Обычно, если вы работаете в парадигме ресурсов, в Ember для работы с данными вы будете использовать библиотеку Ember-data. Она опциональна, но по умолчанию добавляется во все новые приложения. В ней описан DSL для работы с моделями, который выглядит примерно так:
Дальше библиотека сама определит, какой должен быть URL, какие параметры, какой метод и как нужно распарсить ответ от сервера. Если вам повезет, и ваши бэк-энд разработчики будут придерживаться какого-либо стандарта описания REST-интерфейсов, то есть шанс, что на своей стороне вы сможете использовать addon, а не описывать коммуникацию ручками.
Если же вам не повезет, то Ember-data предоставляет вам необходимые абстракции, например, Adapter и Serializer. Эти абстракции помогут писать чистый код, чтобы не вышло как на картинке:
По умолчанию, Ember-data придерживается спецификации JSON:API (здесь о сравнении с GraphQL и REST). По своему опыту могу сказать, что использование JSON:API экономит уйму времени и моральных сил для вас и ваших бэкэнд-разработчиков.
Независимо от того, опытный вы разработчик или нет, я советую начать знакомство с Ember открыв официальный туториал.
Он поэтапно познакомит вас со всеми основными моментами:
- Как создавать приложение используя ember-cli
- Как создавать компоненты, пути, модели и тд
- Как использовать Ember-data
- Как написать сложный компонент
- Как встроить стороннюю библиотеку
- Как задеплоить
Основным каналом общения Ember-разработчиков является twitter Discord сервер. Там всегда тусуются опытные программисты, которые помогут вам с непонятными моментами.
Другие каналы общения можно найти на оф сайте.
UPDATE: На русском про Ember можно спрашивать в телеграмм канале ember_js
В финале я бы хотел еще раз подчеркнуть основной тезис. Вы учите Ember.js один раз, а потом применяете эти знания на всех проектах.
Спасибо за внимание!
ember — Викисловарь
- 1 Английский
- 1.1 Морфологические и синтаксические свойства
- 1.2 Произношение
- 1.3 Семантические свойства
- 1.3.1 Значение
- 1.3.2 Синонимы
- 1.3.3 Антонимы
- 1.3.4 Гиперонимы
- 1.3.5 Гипонимы
- 1.4 Родственные слова
- 1.5 Этимология
- 1.6 Фразеологизмы и устойчивые сочетания
- 2 Венгерский
- 2.1 Морфологические и синтаксические свойства
- 2. 2 Произношение
- 2.3 Семантические свойства
- 2.3.1 Значение
- 2.3.2 Синонимы
- 2.3.3 Антонимы
- 2.3.4 Гиперонимы
- 2.3.5 Гипонимы
- 2.4 Родственные слова
- 2.5 Этимология
- 2.6 Фразеологизмы и устойчивые сочетания
- 3 Индонезийский
- 3.1 Морфологические и синтаксические свойства
- 3.2 Произношение
- 3.3 Семантические свойства
- 3.3.1 Значение
- 3.3.2 Синонимы
- 3.3.3 Антонимы
- 3.3.4 Гиперонимы
- 3.3.5 Гипонимы
- 3.4 Родственные слова
- 3.5 Этимология
- 3.6 Фразеологизмы и устойчивые сочетания
- 4 Малайский
- 4.1 Морфологические и синтаксические свойства
- 4.2 Произношение
- 4.3 Семантические свойства
- 4.3.1 Значение
- 4.3.2 Синонимы
- 4.3.3 Антонимы
- 4.3.4 Гиперонимы
- 4.3.5 Гипонимы
- 4.4 Родственные слова
- 4.5 Этимология
- 4. 6 Фразеологизмы и устойчивые сочетания
Морфологические и синтаксические свойства[править]
ед. ч. | мн. ч. |
---|---|
ember | embers |
em-ber
Существительное.
Корень: —.
Произношение[править]
- брит.
- МФА: [ˈɛm.bə]
- амер.
- МФА: [ˈɛm.bɚ]
Семантические свойства[править]
EmbersЗначение[править]
- обычно мн. ч. (тлеющий) уголёк; горячая зола ◆ Отсутствует пример употребления (см. рекомендации).
- перен. остаток (чувств, воспоминаний и т. п.) ◆ Отсутствует пример употребления (см. рекомендации).
Синонимы[править]
Антонимы[править]
Гиперонимы[править]
Гипонимы[править]
Родственные слова[править]
Ближайшее родство | |
Этимология[править]
Происходит от прагерм. формы *aim-uzjon «пепел, зола», от которой в числе прочего произошли: др.-норв. eimyrja, др.-англ. æmerge (и англ. ember). Использованы материалы Online Etymology Dictionary Дугласа Харпера. См. Список литературы.
Фразеологизмы и устойчивые сочетания[править]
Для улучшения этой статьи желательно:
|
Морфологические и синтаксические свойства[править]
ед. ч. | мн. ч. |
---|---|
ember | emberek |
em-ber
Существительное.
Корень: —.
Произношение[править]
- МФА: ед. ч. [ˈɛmbɛr], мн. ч. [ˈɛmbɛrɛk]
Семантические свойства[править]
Значение[править]
- человек ◆ Отсутствует пример употребления (см. рекомендации).
Синонимы[править]
Антонимы[править]
Гиперонимы[править]
Гипонимы[править]
Родственные слова[править]
Ближайшее родство | |
Этимология[править]
От ??
Фразеологизмы и устойчивые сочетания[править]
Для улучшения этой статьи желательно:
|
Морфологические и синтаксические свойства[править]
em-ber
Существительное.
Корень: —.
Произношение[править]
Семантические свойства[править]
Значение[править]
- ведро ◆ Отсутствует пример употребления (см. рекомендации).
Синонимы[править]
Антонимы[править]
Гиперонимы[править]
Гипонимы[править]
Родственные слова[править]
Ближайшее родство | |
Этимология[править]
От ??
Фразеологизмы и устойчивые сочетания[править]
Для улучшения этой статьи желательно:
|
Морфологические и синтаксические свойства[править]
em-ber
Существительное.
Корень: —.
Произношение[править]
Семантические свойства[править]
Значение[править]
- ведро ◆ Отсутствует пример употребления (см. рекомендации).
Синонимы[править]
Антонимы[править]
Гиперонимы[править]
Гипонимы[править]
Родственные слова[править]
Ближайшее родство | |
Этимология[править]
От ??
Фразеологизмы и устойчивые сочетания[править]
Для улучшения этой статьи желательно:
|
Кружка Ember² — Кружка с подогревом, Умная кружка — Кружка Ember (КРАСНАЯ)
*Действителен до 23:59. ПТ 09.05.23. Исключая (RED) Collection и Grey. Ограничьтесь шестью товарами в заказе. только США. Применяются условия. Смотрите полностью.
Интеллектуальный светодиод
Показывает, когда напиток достиг идеальной температуры и т. д.
Встроенный аккумулятор
10 унций — 1,5 часа
14 унций — 80 минут
Весь день при размещении на подставке для зарядки.
Auto Sleep
Интеллектуальное определение времени включения и выключения.
Диапазон температур
120°F — 145°F (50°C — 62,5°C). Выберите свою температуру с помощью приложения Ember.
Подробная информация о продукте
10 унций (295 мл) имеют вес 14,5 унций (410 г). Обод имеет диаметр 3,3 дюйма (83,2 мм). Кружка имеет высоту 4,2 дюйма (106,7 мм) и ширину 4,3 дюйма (109,2 мм), включая ручку кружки.
14 унций (414 мл) имеет вес 16,1 унций (457 г). Обод имеет диаметр 3,46 дюйма (88 мм). Кружка имеет высоту 4,6 дюйма (117 мм) и ширину 4,5 дюйма (114,7 мм), включая ручку кружки.
Что говорят другие
Есть вопросы? Нужна помощь?
Часто покупаемые вместе
Часто задаваемые вопросы
Разница между кружкой Ember² и обычной кружкой заключается в том, что любая вещь может поддерживать температуру горячей, но только кружка Ember² может поддерживать температуру вашего любимого горячего напитка. Ваша идеальная температура питья. Называете ли вы ее электрической кружкой или кофейной кружкой с подогревом от аккумулятора, Ember Mug² позволяет вам контролировать идеальную температуру с помощью нашего приложения
Просто налейте свой любимый горячий напиток, а Ember Mug² сделает все остальное! Светодиодный индикатор укажет, когда ваш Ember пытается достичь идеальной температуры и когда он готов для вашего удовольствия. Вы также можете подключить Ember к своему смартфону через Bluetooth, загрузив приложение Ember. Приложение Ember позволит вам настроить предпочтительную температуру, добавить предустановленные температуры и уведомить вас, когда ваш напиток достигнет идеальной температуры для питья.
Не используйте кружку Ember в микроволновой печи! Ember Mug — это электронное устройство, которое ни в коем случае нельзя использовать в микроволновой печи. Как и в случае со всей электроникой и металлами, это может привести к возгоранию при нагревании в микроволновой печи. Это приведет к необратимому повреждению кружки Ember Mug или кружки Ember².
Нет! Каждая кружка Ember Mug² настроена на температуру 135 ° F, чтобы вы могли наслаждаться ею прямо из коробки.
Независимое использование кружки не позволит вам настраивать определенные функции мобильного приложения Ember, например, добавлять собственный цвет светодиода или устанавливать предпочтительную температуру в диапазоне от 120°F до 145°F.
Кружка Ember², 10 унций рассчитана на срок до 1,5 часов и до 80 минут для кружки Ember², 14 унций при наливании в горячем виде при установленной температуре 135°F.
Срок службы батареи кружки зависит от ряда факторов, в том числе от внешней температуры, температуры жидкости при наливании, скорости потребления жидкости и заданной температуры.
Помимо Ember.com, первая в мире кружка с контролем температуры доступна в розничных магазинах по всему миру, таких как Apple, Best Buy, Target, Starbucks, Harrod’s и Bloomingdale’s. Любите ли вы кофе, чай или горячий чай, мы хотим, чтобы вы наслаждались напитком идеальной температуры и именно так, как вам нравится.
Из-за обновлений Bluetooth для iOS и Android не все телефоны могут быть совместимы с приложением Ember. Ниже приведен список протестированных телефонов, совместимых* с нашим приложением. Мы постоянно добавляем больше устройств и улучшаем нашу совместимость, поэтому, если вы не видите свое устройство в списке, проверьте его в ближайшее время.
Устройства Apple*
Ember полностью поддерживает три последние доступные версии операционной системы Apple (OS 12, 13 и 14) и три последних версии устройств iPhone:
Операционная система: iOS 12.0+
- iPhone 12 (12 мини, 12 про, 12 про макс)
- iPhone 11 (11 Pro, 11 Pro Max)
- iPhone X (Xs, Xr, XS Max)
- iPhone SE (2-го поколения)
- Apple Watch (ОС 3 и новее)
Android-устройства*
ОС Android требуется для включения служб определения местоположения для сканирования устройств BLE/кружек Ember. Пользователи могут столкнуться с проблемами подключения кружки Ember к приложению, если служба определения местоположения не разрешена. Мы рекомендуем выбрать опцию службы определения местоположения «Разрешить все время», если она доступна на вашем телефоне.
Ember полностью поддерживает три последние доступные версии операционной системы Android (OS 8, 9, 10) и три последних устройства Android:
Операционная система: Android 8+
- Samsung Galaxy S10 / S10+
- Samsung Galaxy S9/S9+
- Samsung Galaxy S8/S8+
- Samsung Galaxy Note 20
- Samsung Galaxy Note 10
- Samsung Galaxy Note 9
- Моторола Мото G
- Моторола Мото Х
- HTC U11
- Google Пиксель 4
- Google Пиксель 3 / Пиксель 3 XL
- Google Пиксель 2 / Пиксель 2 XL
- Серия OnePlus (7, 7 Pro, 5T)
- Google Нексус 6P
- Google Нексус 5X
- Google Нексус 6
- Google Нексус 5
*Новые устройства, не указанные в списке, могут быть совместимы, но наша команда еще не тестировала их.
Представляем Ember Baby — Ember®
Проиграть видео
Представляем
Система детских бутылочек Ember
Представляем
Система детских бутылочек Ember
Система детских бутылочек Ember подогревает молоко или смесь одним нажатием кнопки.
Наконец, для кормления нужны только две вещи: бутылочка и молоко.
Заказать сейчас
Что входит в систему
Детские бутылочки по 6 унций (2 шт.)
Включает соски уровня 1 для детей от 0 месяцев и старше
Можно мыть в посудомоечной машине (только верхняя полка)
Теплоизолирующий купол
до 4 часов¹
Smart Warming Puck
Подогревает бутылочку, где бы вы ни находились, заряда хватает на 2 кормления
Блок питания
Держите Smart Warming Puck заряженным и готовым к работе
Соски уровня 2 (2 шт.
)Для детей от 3 месяцев и старше
Можно мыть в посудомоечной машине (только верхняя полка) Для детей от 6 месяцев и старше Можно мыть в посудомоечной машине (только верхняя полка) Адаптер для сосков Dr. )
Адаптер для соски Philips Avent™
Совместим с сосками Philips Avent™ Natural²
Можно мыть в посудомоечной машине (только верхняя полка)
«Подогревать детскую бутылочку довольно просто… до тех пор, пока вы не попытаетесь сделать это вне дома. Или не попытаетесь выясните, насколько горячей вам нужно нагреть воду, чтобы сделать паровую баню, чтобы нагреть бутылку. И забудьте о что произойдет, если вы хотите взять молоко в дорогу на несколько часов и охладить его, но не можете найти кулер. Эта бутылка решает все эти проблемы».
Найдите время для важных моментов
Подогрев – это просто
Нагревайте дистанционно одним нажатием кнопки и получайте уведомление, когда ваша бутылочка будет готова.
Будьте на связи
Быстро регистрируйте кормления вашего ребенка и время, затрачиваемое на грудное вскармливание, чтобы всегда быть в графике.
Наблюдайте за ростом вашего ребенка
Отмечайте важные вехи, отслеживая рост вашего ребенка и сравнивая его со средними данными по стране.
Растет вместе с вашим ребенком
Система детских бутылочек Ember включает в себя различные уровни антиколиковых сосок для разных возрастных категорий или используйте входящие в комплект манжеты для адаптации к соскам Dr. Brown™ с широким горлышком или соскам Philips Avent™ Natural². По мере того, как ребенок растет, обновляйте его до корпусов бутылочек на 8 унций и сосков уровня 4, и всегда будьте готовы к следующему кормлению с помощью дополнительной детской бутылочки.
Добро пожаловать на беззаботное кормление
¹ Продолжительность может варьироваться в зависимости от окружающей среды, типа молока/смеси и использования. Рекомендации по молоку и смесям различаются. Срок безопасного хранения смеси может быть короче. Проконсультируйтесь со своим педиатром о безопасном потреблении молока/смесей и о том, как безопасно хранить молоко/смеси. Следуйте инструкциям формулы. Высокие температуры и условия окружающей среды сокращают время хранения молока/детской смеси с использованием изолирующего купола.
² Адаптер для сосков для Dr. Brown’s™ совместим с Dr. Brown’s™, но не ограничивается ими. Соски Options+™ с широким горлышком. Адаптер для сосков для Philips Avent™ совместим, помимо прочего, с продуктами Philips. Соски Avent™ Natural™ и Natural Response™. Ember не имеет отношения к Dr. Brown’s™ или Philips Avent™. Др. Соски Brown’s™ или Philips Avent™ не входят в комплект поставки и должны быть предоставлены покупателем.