Знакомые разработчики часто спрашивают почему год назад вместо Angular я выбрал Ember.js, сделал на нем четыре проекта и не хочу останавливаться. Так как они нашли мои аргументы весьма убедительными, я решил поделиться ими со всеми перед кем встанет вопрос выбора.
Маркетинг
Даже те мои знакомые, кто не разрабатывает фронтенд, слышали и поддерживают Angular, но не способны объяснить его преимущества. Как правило, хорошие вещи не нуждаются в агрессивном маркетинге, поэтому я хорошенько призадумался прежде чем сделать выбор в пользу этого молодого решения.
Тем более, Ember — это форк SproutCore, на котором еще в 2008 году Apple построила Mobile.me и iWork.
Накопленный опыт
Оба фреймворка призваны исправить предыдущие ошибки, помочь решить рутинные проблемы и работать более эффективно. Поэтому меня ужасают статьи про делегирование событий в Angular.
Ember основан на классической парадигме, но со множеством эффективных готовых решений из коробки, к которым сотни разработчиков шли годами, набивали шишки и исправлялись.
Процесс разработки
Известное правило успеха гласит: “Главное — не процесс, а результат”. Применяя новый подход, большое количество времени займут поиск решения, эксперименты и исправление ошибок. То есть много усилий уйдет именно на процесс разработки.
Используя классический подход, разработчик может сконцентрироваться на продукте и опыте пользователя. А такие профессиональные инструменты как Ember Inspector и Ember CLI делают разработку еще более легкой и удобной, а значит — скорее приведут к результату.
Реальные проекты
Компания Google, продвигающая Angular, в 2012 году запустила непубличный продукт на данном фреймворке — DoubleClick. Также существует Youtube для PSP на базе Angular, который также трудно изучить без приставки и снифера сети. Я считаю подозрительным, что компания Google не ест свой собачий корм, а другие примеры приложений выглядят не убедительно.
Кроме той истории между Ember и Apple, множество разнообразных и профессиональных продуктов построено на этом надежном фреймворке.
Поддержка
Я просмотрел много кода на Angular и Ember и задавался несколькими вопросами:
- Захочу ли я поддерживать этот код?
- Легко ли будет найти разработчика, который разберется в этом коде?
Каждый раз я верил, что код продукта, написанного на Ember, не будет выброшен через несколько лет. Я верю, что придет другой разработчик, разберется и сможет внести изменения не начиная все сначала.
Автор: javascript