Ембер. Ваша найкраща ставка.

Якщо ви розглядаєте, який інструмент використати, щоб допомогти вам створити наступну програму, вам слід врахувати Ember.js. Створення програми для фронтенду надзвичайно складна і охоплює різноманітні питання. Це пригода, яку ви не хочете брати на самоті, і ви хочете бути готовими до будь-якого сценарію, який виходить. Ембер у тебе спина, і я проясню, чому ти повинен вважати це для свого наступного проекту.

Бібліотеки не є рамками.

Бібліотеки - це інструменти. Вони дозволяють вам робити конкретну справу. Розгляньте кисть для фарби, вона робить одну роботу і одну роботу. Рамки охоплюють кілька інструментів. У Ембер ці інструменти були підготовлені спільнотою, щоб найкращим чином вирішити деякі найскладніші та найпоширеніші проблеми в розвитку кордону.

Ембер - це добре підготовлений набір інструментів

Проблема, яку я бачу, полягає в тому, що спільнота інтерфейсів в цілому заплутала їх двох. Наприклад, Glimmer.js, Vue.js і React.js - це інструменти шару перегляду - вони допомагають керувати елементами візуалізації на сторінці. Однак є інструменти, які вирішують інші проблеми, такі як React-Router та router.js для підтримки маршрутизації, а також create-react-app та ember-cli для інструментального обладнання.

Рамки охоплюють ці інструменти, щоб ви могли розпочати створення програми. Першим моїм фреймворком був Rails - чудовий приклад структури, що складається з чудових бібліотек. Проблема полягає в тому, що бекенд-фрейм не подумки перекладається на фронт, тому що врешті-решт фронт - це лише інтерфейс - так?

Ні. Розробка Frontend охоплює підтримку веб-програм, інструментарій, розгортання, тестування тощо. Ці окремі фрагменти були вдосконалені багатьма бібліотеками, але мати каркас у кишені має вирішальне значення - це дозволяє швидше доставляти програмне забезпечення, мінімізуючи втому від прийняття рішення.

Постачання програмного забезпечення.

Забезпечення доставки чудового програмного забезпечення - це моя основна відповідальність. Як інженер програмного забезпечення я будую речі. Ці речі стикаються із замовниками, і все, що перешкоджає досягненню цієї мети, - це відволікання.

Дехто може сказати, що створення рамки - це відповідальність інженера-програміста. І, воно є. Однак нам також потрібно збалансувати вартість робіт по відношенню до вартості користувача.

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

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

Переваги вибору Ембер.

Простіше життя.

Оскільки я вибрав Ember, я не переймався інструментами, підтримкою веб-програм, дотриманням безпеки та іншим. Чому так? Тому що громада складається з експертів у цих сферах, які присвятили своє життя допомозі вам, мені та всім іншим.

Тестування в Ембер - прекрасний приклад того, як життя стало простішим. Підрозділ, інтеграція та повноцінне тестування на прийняття є частиною основи. Вам потрібно лише вибрати тест-бігун (наприклад, квіт [2], мока тощо), який ви хочете використовувати. Все інше поєднується, і ви можете швидко почати писати та виконувати свої тести.

Надання можливостей інженерам безболісно писати приймальні тести можуть зняти вимогу окремого відділу з питань якості, особливо для невеликих команд та жорстких бюджетів. І ви все це отримуєте безкоштовно.

Дружня громада.

Спільнота, мабуть, є одним з найкращих аспектів вибору Ембер. Оскільки бесіди є прозорими та відкритими для громадськості, причини, за якими модель застосовується над іншою, або чому певна методика є кращою, - все це задокументовано в Інтернеті [3]. Ми готові переглядати, критикувати, уникати чи впроваджувати.

Також зауважте, що Ембер не йде. Фундамент, який створила громада Ембер, будується коаліцією людей та компаній. Усі в громаді походять з різного роду, з різними проблемами та тоном думок. Але саме тут лежить основна сила рамки - у здоровій дискусії, реалізації та доставці перевірених рішень.

Документація.

Бібліотека надзвичайно добре задокументована [4]. З вихідного коду, путівників або розмов про канали - ви можете знайти відповідь на своє запитання. А ще краще - це сприймається серйозно. Документація розроблена, розмови на базі спільноти на Github є ретельними, а основна команда впровадила вказівки, що допомагають виконувати цю стандартну процедуру в її розгалуженій системі аддонів.

Поширені критики Ембер.

Це не круто

Що ж, так це - є безліч функцій в рамках, я думаю, ви б хотіли користуватися. Наприклад, вихідні карти працюють нестандартно - це означає, що ви можете використовувати інструменти для розробників Chrome для широкого створення вашої програми.

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

Хороша новина полягає в тому, що ваш голос можна почути. Ембер має організований процес RFC для обговорення основних змін у рамках. Ви можете дізнатися про зміни, перш ніж вони відбудуться, дати свої два центи або створити свій власний RFC для зворотного зв'язку.

Крива навчання крута.

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

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

Зауважимо, що це привернуло увагу основної команди, і існує великий рух щодо спрощення речей, щоб гарантувати спрощення в'їзду. Наприклад, для переходу до класів JavaScript, усунення потреби в this.get та this.set та ін. Запропоновано видалити найбільші джерела плутанини для розробників JavaScript.

Уродженець не є первинним громадянином.

Ембер - це структура, спрямована на архітектуру єдиної сторінки (SPA). Переваги, які ви отримуєте від SPA - це переваги Ember. Оскільки SPA не є концепцією для рідних додатків, Ember - це погана придатність для рідних.

Майте на увазі, Ембер просувається вперед із прогресивними веб-додатками. Тож, якщо це варіант, який ви хочете розглянути, ознайомтеся зі створенням прогресивного веб-додатка з Ember за допомогою міксон.

Чому варто вибирати Ембер.

Ембер використовується у світі стартапів та на рівні підприємств. Існують різні програми, які виявили себе стійкими до часу. Він використовується в багатьох галузях промисловості і довів, що швидко та ефективно масштабується. Ембер допомогла компаніям оцінити вартість та стабілізувати команди розвитку.

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

З точки зору продукту можна побачити швидкий прогрес. Насправді, якщо обраний вами інструмент дає вам можливість швидко повторювати функції та реалізовувати зворотній зв'язок за короткий час - це мені здається правильним інструментом для роботи.

І зрештою, з точки зору бізнесу, чим раніше я можу додати вартість своєму продукту, тим краще.

Якщо ви хочете, щоб ваша команда була більш продуктивною і задоволеною, отримуючи цінність, тоді вам варто подумати про вибір Ембер. Якщо ви все ще вагаєтесь, не соромтесь зв’язатися зі мною у Twitter на @alvincrespo, я більше ніж рада допомогти вам розібратися з найкращим інструментом для роботи.

Дякую.

Дякую всім, хто допоміг мені написати цю публікацію. Ваш час та зусилля дуже вдячні, і я сподіваюся, що мої слова тут правильно відображають ваш відгук.

Примітки.

[1] create-react-app (CRA) трохи заснований на тій же філософії, що і ember-cli. CRA надає початковий досвід у створенні програми, однак коли ваші потреби перевищують цілі цього проекту - ви самостійно. З іншого боку, ember-cli забезпечує екосистему Аддон, яка дає вам можливість підключитися до кліпу, щоб налаштувати ваші побудови.

[2] ember-qunit є тестовим бігуном за замовчуванням, не вимагаючи конфігурації на передній панелі

[3] Приклади прозорих бесід:

  • https://github.com/emberjs/rfcs/pull/176
  • https://github.com/emberjs/rfcs/pull/240

[4] Приклади документації:

  • https://github.com/emberjs/ember.js/blob/v2.15.0/packages/ember-runtime/lib/mixins/observable.js#L96
  • https://github.com/emberjs/ember.js/blob/v2.15.0/packages/ember-routing/lib/system/route.js#L1458