Многие курсы на Code School начинаются с наркоманской веселой песенки об изучаемой технологии. Например, курс "Shaping up with Angular.js" начинается с этой песни:
Вольный перевод:
Надеюсь это кого-нибудь мотивирует приступить к знакомству с супер-героичесим фреймворком.
Вольный перевод:
Чтоб продать много камней,
И как можно побыстрей,
Флетландцам с магазином,
Ангуляр поможет живо.
На HTML-странице,
Директивам уж не спиться.
Контролеры нам вернут,
Поведение тут, как тут.
Выражения готовы –
Ты скажи им только слово.
Модули подключенЫ,
Зависимости внедренЫ
Ты теперь скриптов знаток –
Ангуляр тебе помог!
Надеюсь это кого-нибудь мотивирует приступить к знакомству с супер-героичесим фреймворком.
rinat_crone
Не холивара ради, а предупреждения для. Как только в текущем проекте пришлось реализовывать более-менее сложную логику на фронт-енде, как весь фронт-енд отдел сразу же решил выкидывать Ангуляр к чертям. При разработке последних 3-х интерфейсов (не самых сложных, но и не CRUD) порядка 50% времени разработчиков (опытных, прошу заметить) ушло на борьбу с Ангуляром. Мой вам совет, задумайтесь 100 раз прежде чем забивать себе голову этим по-настоящему гемморойным (из личного опыта говорю) фреймворком.
Конечно, если вы делаете простейшие CRUD-вещи, то при достаточном знании Ангуляра у вас получится сделать их быстро и они даже будут работать, но чуть шаг в сторону – и иди ищи концы в довольно скудном (мягко говоря) стектрейсе.
P.S. И да, я видел большие и даже огромные проекты на Ангуляре и поддерживал их, но радости это не доставляло никакой, исключительно боль.
P.P.S. Отдельного упоминания заслуживает тот факт, что в новой мажорной версии ангуляра разработчики сами выкинули большу часть того, что было сделано, так что мигрировать на новую версию без кровопролития не получится ни у кого.
zapolnoch Автор
Это примерно та же история, что о и «медленном» php. При том что 99% проблем производительности php решаются связкой nginx, cgi, memcached. Оставшиеся 0,99% решаются улучшением железа. Бизнес не будет платить 100 рублей node.js-программисту, если того же эффекта можно добавиться покупкой доп.железа для php за 1 руб./мес. (окупаемость в 8 лет мало кому интересна).
Ну а у Ангуляра 99% проблем производительности решаются четырьмя волшебными фразами: bindonce, track by for ng-repeat, ng-bind, debounce.
rinat_crone
Я не про производительность, а про костыли самого фреймворка, когда для реализации простейшей вещи (с моей точки зрения, как разработчика) мне приходится на пару часов закапываться в мануалы и форумы.
Для сравнения – в backbone и ember таких проблем нет, порог вхождения там ниже, а читаемость, удобство в поддержке кода и прозрачность реализации там на голову выше.
Если вы действительно считаете Angular простым и понятным, что ж… мне вас жаль. Кому-то, наверное, удобно справлять нужду, стоя на голове, но тут уже никакие мои аргументы не помогут.
Ещё раз для тех, кто не умеет читать между строк, а лишь брызжет слюной на кнопки голосования: Ангуляр хорош для своих задач – простейший CRUD, чуть что сложнее – уже всё, финиш. Если и с этим не согласны, то задумайтесь, а действительно ли вы хоть раз делали более-менее сложные вещи на этом хваленом фреймворке?
Заодно советую пробежаться по списку крупнейших дев-команд как российских так и зарубежных, которые ещё год назад всё писали на Ангуляре, а теперь разбегаются в сторону реактов/рефлюксов и других адекватных фреймворков.
MpaK999
А ведь чтобы быть понятым, то давайте примеры, прям конкретные, что вы долго разбирались в мануалах Angular и что так же могли сделать на Backbone. Реально, хочется как раз вот таких живых примеров с кусками кода.
rinat_crone
О, привет :) Приглашу сюда своих фронтендеров, они более подробно опишут все проблемы. А ты кстати можешь и сам спросить в слаке у idoo (Иван), знаешь ведь его.
zapolnoch Автор
Лично для меня все разговоры о backbone и ember заканчиваются на этом графике:
Да, у Ангуляра врожденные проблемы с архитектурой, дерьмовая документация и т.д. Но все это не важно, ведь серебряной пули не существует. У angular свои минусы, у backbone свои. Разница только в том, что backbone никому не нужен, а angular нужен всем. А если технология никому не нужна, то она не будет развиваться, документация не будет написана, архитектура не будет улучшаться.
rinat_crone
Миллионы мух не могут ошибаться :)
rinat_crone
И по поводу PHP. Сори, конечно, но когда у тебя на сервере страничка рендерится по 600мс это как бы не совсем адекватно ни для какого ЯП. Кеширование? Вы бложеки пишете или интернет-магазинчики, наверное, а не риал-тайм системы, где cache hit rate настолько низкий, что подключение memcached вызовет только лишь оверхед на соединение, а не прирост производительности.
Не ограничивайте мир разработки теми задачами, которые решаете вы. Есть и другие разработчики с гораздо более высокими требованиями как к производительности их инструментов, так и к их логичности, адекватности и прозрачности.
P.S. Да, переписывание алгоритма на другом ЯП или фреймворке порой даёт 10-50x прирост производительности. Купим ещё 1000 серверов в добавок к имеющимся 20 при росте нагрузки или же всё-таки сократим их число до 2-4 с апскейлом до нужного числа по необходимости?
zapolnoch Автор
Если переписывания алгоритма на другом ЯП будет стоить Х$, а дополнительные 20 серверов будут стоить 0,00X$ в мес., то бизнес выберет сервера. Но вообще вы правы, бывают 0.01% задач, когда производительность php становится проблемой. В таких случаях рождается что-то типа KPHP от Вконтакте.
lega