Многие курсы на Code School начинаются с наркоманской веселой песенки об изучаемой технологии. Например, курс "Shaping up with Angular.js" начинается с этой песни:



Вольный перевод:

Чтоб продать много камней,
И как можно побыстрей,
Флетландцам с магазином,
Ангуляр поможет живо.

На HTML-странице,
Директивам уж не спиться.
Контролеры нам вернут,
Поведение тут, как тут.

Выражения готовы –
Ты скажи им только слово.
Модули подключенЫ,
Зависимости внедренЫ

Ты теперь скриптов знаток –
Ангуляр тебе помог!


Надеюсь это кого-нибудь мотивирует приступить к знакомству с супер-героичесим фреймворком.

Комментарии (10)


  1. rinat_crone
    02.08.2015 19:52

    Не холивара ради, а предупреждения для. Как только в текущем проекте пришлось реализовывать более-менее сложную логику на фронт-енде, как весь фронт-енд отдел сразу же решил выкидывать Ангуляр к чертям. При разработке последних 3-х интерфейсов (не самых сложных, но и не CRUD) порядка 50% времени разработчиков (опытных, прошу заметить) ушло на борьбу с Ангуляром. Мой вам совет, задумайтесь 100 раз прежде чем забивать себе голову этим по-настоящему гемморойным (из личного опыта говорю) фреймворком.

    Конечно, если вы делаете простейшие CRUD-вещи, то при достаточном знании Ангуляра у вас получится сделать их быстро и они даже будут работать, но чуть шаг в сторону – и иди ищи концы в довольно скудном (мягко говоря) стектрейсе.

    P.S. И да, я видел большие и даже огромные проекты на Ангуляре и поддерживал их, но радости это не доставляло никакой, исключительно боль.

    P.P.S. Отдельного упоминания заслуживает тот факт, что в новой мажорной версии ангуляра разработчики сами выкинули большу часть того, что было сделано, так что мигрировать на новую версию без кровопролития не получится ни у кого.


    1. zapolnoch Автор
      02.08.2015 20:24
      -2

      Это примерно та же история, что о и «медленном» php. При том что 99% проблем производительности php решаются связкой nginx, cgi, memcached. Оставшиеся 0,99% решаются улучшением железа. Бизнес не будет платить 100 рублей node.js-программисту, если того же эффекта можно добавиться покупкой доп.железа для php за 1 руб./мес. (окупаемость в 8 лет мало кому интересна).

      Ну а у Ангуляра 99% проблем производительности решаются четырьмя волшебными фразами: bindonce, track by for ng-repeat, ng-bind, debounce.


      1. rinat_crone
        02.08.2015 20:33

        Я не про производительность, а про костыли самого фреймворка, когда для реализации простейшей вещи (с моей точки зрения, как разработчика) мне приходится на пару часов закапываться в мануалы и форумы.

        Для сравнения – в backbone и ember таких проблем нет, порог вхождения там ниже, а читаемость, удобство в поддержке кода и прозрачность реализации там на голову выше.

        Если вы действительно считаете Angular простым и понятным, что ж… мне вас жаль. Кому-то, наверное, удобно справлять нужду, стоя на голове, но тут уже никакие мои аргументы не помогут.

        Ещё раз для тех, кто не умеет читать между строк, а лишь брызжет слюной на кнопки голосования: Ангуляр хорош для своих задач – простейший CRUD, чуть что сложнее – уже всё, финиш. Если и с этим не согласны, то задумайтесь, а действительно ли вы хоть раз делали более-менее сложные вещи на этом хваленом фреймворке?

        Заодно советую пробежаться по списку крупнейших дев-команд как российских так и зарубежных, которые ещё год назад всё писали на Ангуляре, а теперь разбегаются в сторону реактов/рефлюксов и других адекватных фреймворков.


        1. MpaK999
          02.08.2015 20:46

          А ведь чтобы быть понятым, то давайте примеры, прям конкретные, что вы долго разбирались в мануалах Angular и что так же могли сделать на Backbone. Реально, хочется как раз вот таких живых примеров с кусками кода.


          1. rinat_crone
            02.08.2015 20:52

            О, привет :) Приглашу сюда своих фронтендеров, они более подробно опишут все проблемы. А ты кстати можешь и сам спросить в слаке у idoo (Иван), знаешь ведь его.


        1. zapolnoch Автор
          02.08.2015 21:05

          Лично для меня все разговоры о backbone и ember заканчиваются на этом графике:
          image

          Да, у Ангуляра врожденные проблемы с архитектурой, дерьмовая документация и т.д. Но все это не важно, ведь серебряной пули не существует. У angular свои минусы, у backbone свои. Разница только в том, что backbone никому не нужен, а angular нужен всем. А если технология никому не нужна, то она не будет развиваться, документация не будет написана, архитектура не будет улучшаться.


          1. rinat_crone
            03.08.2015 08:12

            Миллионы мух не могут ошибаться :)


      1. rinat_crone
        02.08.2015 20:38

        И по поводу PHP. Сори, конечно, но когда у тебя на сервере страничка рендерится по 600мс это как бы не совсем адекватно ни для какого ЯП. Кеширование? Вы бложеки пишете или интернет-магазинчики, наверное, а не риал-тайм системы, где cache hit rate настолько низкий, что подключение memcached вызовет только лишь оверхед на соединение, а не прирост производительности.

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

        P.S. Да, переписывание алгоритма на другом ЯП или фреймворке порой даёт 10-50x прирост производительности. Купим ещё 1000 серверов в добавок к имеющимся 20 при росте нагрузки или же всё-таки сократим их число до 2-4 с апскейлом до нужного числа по необходимости?


        1. zapolnoch Автор
          02.08.2015 21:13
          +1

          Да, переписывание алгоритма на другом ЯП или фреймворке порой даёт 10-50x прирост производительности. Купим ещё 1000 серверов в добавок к имеющимся 20 при росте нагрузки или же всё-таки сократим их число до 2-4 с апскейлом до нужного числа по необходимости?

          Если переписывания алгоритма на другом ЯП будет стоить Х$, а дополнительные 20 серверов будут стоить 0,00X$ в мес., то бизнес выберет сервера. Но вообще вы правы, бывают 0.01% задач, когда производительность php становится проблемой. В таких случаях рождается что-то типа KPHP от Вконтакте.


    1. lega
      03.08.2015 08:08

      50% времени разработчиков (опытных, прошу заметить) ушло на борьбу с Ангуляром
      Недаром есть такая картинка
      image