Надішліть Ембер на дієту та процвітайте інноваціями - DEV

Кінцевий термін публікацій в блозі # EmberJS2019 наближається дуже швидко, але як завжди мені потрібні терміни, щоб закінчити свої справи.

процвітайте

Спочатку я хочу надати деяку довідкову інформацію про себе та компанію, в якій я працюю. Ми в Roomle використовуємо Ember, оскільки це дуже ранні дні. Наше перше зобов’язання щодо нашого проекту Ember датується початком 2013 року. За цей час ми отримали великий досвід і познайомилися з хорошими та поганими частинами Ember. Ми також запустили виробничі веб-програми, які використовують Glimmer.js як свою структуру інтерфейсу. Зараз ми переписуємо частини нашого головного додатку в Ember Octane за допомогою TypeScript, тому ми також знаємо, як бути першим користувачем.

Оскільки ми невеликий стартап і зосереджені на створенні власного продукту, ми не внесли додаткові доповнення чи велику кількість коду, але допомогли виправити деякі проблеми, а також створили невеликі PR для кількох проектів екосистеми Ember.

Перш ніж почати, я хочу додати застереження: нам дуже подобається Ембер, і я не хочу створювати враження, що нам це не подобається. Цей допис у блозі стосується областей, які слід вдосконалити, а не приємних речей 😉

Ca Підсумок дорожньої карти 2018 року

Перш ніж зануритися у майбутнє, я хочу зробити короткий підсумок «Дорожньої карти» 2018 року. Я хочу зазначити, що я підбиваю підсумки як аутсайдер, який не входить до жодної основної команди. Тож майте на увазі, що дуже ймовірно, що я пропускаю деякі важливі речі. Тим не менше, я думаю, що можу надати хороший зворотний зв'язок, оскільки це також те, як інші, хто не дописував внески, могли бачити прогрес рамки. Давайте подивимось теми, які ми як спільнота хотіли вдосконалити минулого року:

Поліпшити спілкування та впорядкувати прийняття рішень

У цій темі було багато покращень. Крім того, перехід на Discord був хорошим і пройшов гладко. Але я думаю, що спілкування навколо Ember Octane було не надто ідеальним. Люди стримували проект, тому що не хотіли розпочинати з «спадщини» Ембера. Оскільки Ember Octane все ще не поставляється (лише попередній перегляд), деякі мої колеги оглянули інші фреймворки, а деякі з них залишили Ember на користь Vue та Vue-CLI (здебільшого завдяки чудовим інструментам збірки).

На мою точку зору, спілкування навколо Октану мало дві великі проблеми

Надмірна комунікація: важко було відстежувати, що відбувається і що має сенс прийняти. Звичайно, кожен міг залишитися на «щасливому шляху», але коли ви починаєте новий проект, ви не хочете використовувати старий спосіб робити щось. Ми також розпочали новий проект Ember незадовго до Ember Conf 2019, і ми також боялися, що запустимо абсолютно новий додаток у застарілому вигляді. Я відчував, що спілкування навколо Октана створює певну невизначеність.

Над перспективним і недостатнім: коли ми розглянемо цілі, які були встановлені для Octane, багато з них були відкладені (особливо довгоочікувані вдосконалення для збірки, я детально опишу збірку в наступному розділі). Не зрозумійте мене неправильно. Я дуже люблю Ember Octane, але більша частина виконаної роботи стосується досвіду розробників. Я знаю, що такі речі, як рідні класи, створюють основу для подальших вдосконалень, але зараз ці речі насправді не задіяні. Ember має історію багатообіцяючих речей, наприклад: маршрутизовані компоненти, уніфікація модулів тощо, які ніколи не потрапляють, тому, я думаю, нам потрібно бути дуже обережними, що ми обіцяємо і як ми повідомляємо ці обіцянки громадськості.

Tldr; спілкування значно покращилося, але в деяких випадках ми повинні бути більш чутливими до того, як і як ми спілкуємось

Завершіть те, що ми розпочали, і відправте вугільний октан

Обидві цілі дорожньої карти мали багато перекриттів. Я думаю, що громада Ембер змогла закінчити багато розпочатих справ. Що стосується Ember Octane, нам не вдалося його доставити протягом часу дорожньої карти 2018 року (я все ще вважаю попередньою версією). Я також хочу виділити деякі цілі Ember Octane, які не були відправлені, і я думаю, що це має бути частиною дорожньої карти 2019 року, тому я починаю з кількох цитат дорожньої карти 2018 року:

Програми вмісту, де сторінки мають велику кількість тексту і де перше завантаження є критичним. У середовищах з обмеженою продуктивністю сильні правила Ember можуть допомогти розробникам створювати швидші програми за замовчуванням.

Тут ключова фраза перше навантаження. Якщо ви робите ember init і створюєте просту програму "Hello World", набори JS складають приблизно 700 КБ. Мої перші експерименти з Embroider були кращими, але все одно не дали задовільних результатів. Пакет все ще складав близько 400 КБ JavaScript. Це занадто багато. Хоча мені дуже подобається Ember, нам довелося залишити Ember для певних проектів через розмір пакета JS. Не кожен проект є адміністративним інтерфейсом для введення даних для бекенда. Спеціально для наших проектів електронної комерції Ember не був життєздатним варіантом лише через розмір пакета. Я хотів би бачити значні вдосконалення в цій галузі 💖

Treeshaking для автоматичного видалення коду, який не використовується додатком

Це дуже пов’язано з пунктом зверху. Ембер має стати першокласним і провідним у галузі з точки зору похитування дерев. Оскільки Ember - це “батареї, що входять до комплекту”, наші комплекти завжди будуть величезними, якщо ми не маємо чудового струшування дерев.