• А расскажeте про promise и $resource?

    AMar4enko
    @AMar4enko
    Основная идея ресурса в том, что объект, получаемый от сервера (одиночный либо список)
    будет являться "потомком" вашего объекта-ресурса.
    Т.е. можно делать так:
    var Person = $resource(...);
    Person.prototype.fullName = function() { return this.firstName + this.lastName; }
    
    Person.query().$promise
      .then(function(response) {
        return response[0].fullName(); // Прототипом каждого элемента в списке будет Person   
      });


    Промисы нужны для того, чтобы эффективно управлять потоком выполнения асинхронного кода.
    Ответ написан
    Комментировать
  • Как в angularjs отфильтровать объект?

    AMar4enko
    @AMar4enko
    Познакомиться с underscore или lodash, и использовать _.filter
    Ответ написан
    2 комментария
  • В чем могут помочь js фреймворки(React, Angular)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    C MVC фреймворками все понятно, но они меня не интересуют. А что делать с инструментами, нацеленными больше на фронтенд (React, Angular) ?


    Открою вам страшную тайну - MVC фреймворки как раз на фронтэнд и нацелены, а не на бэкэнд.

    ReactJS - библиотека, а не фреймворк. Это вопервых. И решает эта библиотека задачу оптимизации взаимодействия с DOM при связывании данных между представлением и моделью данных.

    Angular - полноценный фреймворк, к которому можно подключить тот же React для вьюх. Используют его в основном при реализации Single Page Application-ов.

    Были ли у вас практические задачи, с которыми мог справиться только js фреймворк? Какие?

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

    Могут ли быть полезны данные инструменты в совместной работе с Rails, например?

    Если брать ангуляр - я его использую только в контексте SPA. Это может быть не все приложение а только какая-то его часть но все же... А для SPA разницы нет вообще на чем бэкэнд реализован. От бэкэнда нужна только апишка.

    Реакт же можно использовать в принципе для построения view на клиенте. Так что можно и его юзать. Зависит от задачи. Скажем если в задачи входит организация работы жирной формы - то лучше взять knockout.js. А если вам нужно рендрить какие-то данные в реалтайме - можно вооружиться реактом.

    Нужно ли вообще тратить время и искать себе задачи, которые можно решить привычным jQuery, который в большей степени знают все (вопрос дальнейшей поддержки) ?

    Куча народу знает jQuery но не знает JS. И это грусть и печаль. Скорее всего если у вас в задачах стоит реализовать слайдер какой или что-то такое то ни Angular ни React вам не нужны. Ну или в контексте сайтиков тоже не особо есть от них польза (только в специфических случаях). А вот если пишите приложения какие-то, можно уже задуматься ибо если вам придется реализовывать весь бойлерплейт, да еще и не будет DI то с высокой долей вероятности (все же нормальные разработчики существуют) вы получите шматок гуано дико связанный и приносящий боль при рефакторинге. А еще использование только jQuery это на 99% отсутствие каких-либо тестов на фронтэнде.

    p.s. Я на ангуляре пишу админки к примеру для своих проектов. Ну и все все все что вписывается в концепцию SPA. Реакт планирую использовать как альтернативу phonegap (react-native вышел), поскольку он является слоем абстракции над формированием представления (за счет промежуточного виртуального DOM).
    Ответ написан
    1 комментарий
  • Какие вы видите перспективы в развитии js "оберток"?

    copal
    @copal
    𝄞 ...оооо baby
    В моем представлении о препроцессорах ниша для coffescript занята теми, кто предпочитает философию ruby.
    В сторону typescript смотрят те, кто перешел из типизированных языков и на
    данный момент не может представить, как можно сделать крупное приложение не программируя
    "на интерфейсах", каковым является философия типизированных языков.
    Поклонники Babel, это третья сторона силы, которая сейчас учится будущему.

    Лично я смотрел coffe и скомпилированный код мне понравился меньше, чем чисты, как слеза,
    скомпилированный код typescript.
    И я остановился на Babel, потому что js беден без последних новшеств, а выбирая между написания целой библиотеки или использовать точно такую же плюс учась завтрашнему синтаксису, я выбрал второе.
    Ответ написан
    5 комментариев
  • Объясните значение track by в директиве ng-repeat (AngularJS)?

    @lega
    Если track by не указан, значит работает по умолчанию "track by $id(item)" который генерирует "$$hashKey".
    Суть в том что Ангуляру нужно как-то сопоставить элемент массива и DOM, в итоге для элемента массива используется какой-то индетификатор (note.id / hashkey / $index / ...), когда массив изменится Ангуляр по этому идентификатору сможет найти соответсвующий DOM для этого элемента массива, если DOM элемент не найден, то считается что элемент массива новый и под него создается свой DOM и scope, которые опять же привязываются к идентификатору.

    В итоге, что-бы было минимум перестроений DOM, нужно делать так что-бы идентификаторы сохранялись от $digest до $digest, для этого есть несколько режимов track by.
    Ответ написан
    4 комментария
  • Для чего код написали таким образом?

    EvolMate
    @EvolMate
    Developer
    Предполагаю, что переменную планировали использовать где-то дальше, или даже использовали, а потом необходимость пропала. А рефакторинг денег стоит. А 1С очень жадные.

    UPD: Думаю, у них раньше не было константы, а была переменная. Потом, в новых версиях, они заменили её константой, а старую переменную оставили для обратной совместимости.
    Ответ написан
    5 комментариев