Ember часто теряется среди разговоров о других фреймворках и инструментах, таких как Angular, React и т. Д., И я думаю, что это невероятно прискорбно. Благодаря Ember я стал самым продуктивным за последние годы и создал одни из лучших программ, которые я когда-либо писал. Дело не в том, что Ember принципиально лучше других фреймворков (но это…), дело в том, что Ember принимает решения за меня, это значительно упрощает мой рабочий процесс, выравнивает игровое поле и дает мне больше времени для потратить на создание отличного программного обеспечения.

Предисловие

Я инженер-программист в некоммерческой организации B Lab, миссия которой - возглавить глобальное движение людей, использующих бизнес как силу добра (#BtheChange). Исторически B Lab не является магазином по разработке программного обеспечения и не имеет ресурсов традиционной организации, занимающейся разработкой программного обеспечения (хотя мы уже приближаемся к этому). В мою команду разработчиков входят еще двое, и нам предстоит проделать огромный объем работы. Быстрое и эффективное движение в наших интересах.

Около года назад мы начали перестраивать некоторое программное обеспечение внутри организации. В качестве основного фронтального приложения мы выбрали Ember. Каждый последующий день подтверждает это решение.

Это супер мнение

Очень самоуверенная позиция Эмбер по многим аспектам веб-разработки - моя любимая особенность фреймворка. Это то, что вы либо любите, либо ненавидите. Откровенно говоря, оба мнения верны. Никто не хочет, чтобы ему говорили, как делать свою работу, потому что «murica», и я полностью понимаю это мнение.

Есть школа мысли, которую я разделяю, как человек, мы способны принять только определенное количество решений за день, прежде чем столкнемся с перегрузкой. Это относится ко всем решениям: что вы едите, что носите на работе, решения, которые вы принимаете на работе, и т. Д. Идея состоит в том, что, зная, что вы в конечном итоге столкнетесь с когнитивной перегрузкой, чем меньше решений вы сможете принять, тем лучше. Это оставляет больше места для действительно важных решений.

Эмбер принимает за меня множество веб-решений. Мне не нужно тратить мозговые циклы, связывая вместе инструменты сборки, такие как Grunt или Gulp. Я не пытаюсь определить лучший способ взаимодействия с моим API. Многие из этих решений уже были продуманы мной (и людьми, которые намного умнее). Конечно, есть часть меня, которая хочет все писать сама, но это был я молодой. Старый я хочет быстро и быстро создать отличное программное обеспечение. Чем меньше времени я трачу на все эти мелкие детали (о которых конечный пользователь никогда не заботится и не видит), тем больше у меня времени для фактического создания своего приложения и сохранения моих конечных решений для тех, которые действительно имеют значение.

Еще одним побочным эффектом этих мнений является то, что по мере того, как я раскручиваю больше проектов Ember, когнитивная нагрузка, связанная с запоминанием того, над чем я работал, значительно уменьшается. Поскольку семантика в разных проектах остается неизменной, смещение контекста очень ограничено, поэтому моя продуктивность резко возрастает.

Продуманное лидерство

Сообщество Ember на бумаге кажется намного меньше, чем, скажем, Angular или React. Проведя мало времени с ними, у меня нет причин думать, что у них нет хороших сообществ. Однако, потратив много времени на работу с Ember, я очень впечатлен тем, насколько велико сообщество.

Перейдите на страницу сообщества, и вы найдете множество способов связаться с другими разработчиками Ember и даже с основной командой Ember. Учитывая, что все работают с Ember в основном так же, как и вы, легко задавать вопросы и получать ответы с небольшими усилиями. Совет от профессионалов: канал Slack - отличное место для вопросов и ответов.

Помимо того, что основная команда состоит из умных людей, итерации Ember в значительной степени зависят от сообщества. Люди, которые используют Ember каждый день, могут серьезно повлиять на направление развития фреймворка и инструментов. В то время как Angular только что полностью переписал, Ember чувствует, что он становится более зрелым и стабильным.

Для этого есть дополнение

В конце концов вам придется интегрировать в свое приложение другие библиотеки. Может быть, Google Analytics, Adobe Typekit, какой-нибудь инструмент для сборки и т. Д. С огромным сообществом аддонов, которое растет с каждым днем, и такими инструментами, как Ember Observer, мне никогда не удавалось найти аддон для стороннего программного обеспечения, которое мне было нужно.

Поскольку время моей команды имеет большое значение, мы используем множество сторонних библиотек, чтобы ускорить нашу разработку. Наличие такой отличной экосистемы доступных инструментов - огромная победа.

Если вы внимательно следите, возможно, вы понимаете, что возникает тема: Перестаньте думать о мелких деталях и начните делать больше.

Получить дерьмо сделано

Разработка программного обеспечения - это сложно. Работа с людьми, владельцами бизнеса, дизайнерами, управление историями и задачами, DevOps - это уже много работы. Это также огромные умственные усилия, чтобы обсудить с другими разработчиками, какие инструменты использовать, как делать X и т. Д. Все, что я хочу делать, это писать отличное программное обеспечение для моих пользователей. Честно говоря, мне все равно, почему Gulp лучше Broccoli, и почему React - это новая популярность. Мне нужно закончить дерьмо.

Принятие Ember, использование JSON API, использование Lightning Deploy Workflow - все это было откровением. Моя продуктивность взлетела до предела, и я трачу гораздо больше времени на то, что мне нравится, создание программного обеспечения и гораздо меньше времени на обсуждение инструментов и шаблонов.

Первоначально опубликовано на jonpitcherella.com 18 января 2016 г.