Показать сообщение отдельно
  #2 (permalink)  
Старый 17.06.2013, 11:22
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Angular по словам разработчиков заточен под crud приложения, создание/чтение/обновление/удаление записей в базе данных на сервере. Иными словами это админки сайтов, crm, erp, соц сети , какие либо биржы или аукционы, интернет магазины, сайты знакомств и другие подобные приложения. Возможно проканает какая нибудь текстовая игра.

В тоже время на angular не стоит писать realtime игры вроде RPG/RTS, приложения вроде word, и вообще едва ли разумно делать то что завязано на canvas или opengl. Наверно нет смысла применять его и в мелких скриптах вроде слайдера.

Иными словами ангуляр рулит прежде всего там там где много ввода/вывода информации через различные формы, это процентов 95% всех приложений.

Server-Sent Events можно свободно применить в любом фреймворке без исключений, в том числе и в Angular. Иными словами к фреймворку не каких особых требований не предъявляется .

var app = angular.module('sse', []);
 
    // контролёр
    function appCtrl($scope) {
 
        // обьект информацию из которого мы покажем в шаблоне
        $scope.msg = {};
 
        // функция которая будет вызвана по событию с сервера
        var handleCallback = function (msg) {
            //поместим информацию пришедшую с сервера в scope
            $scope.$apply(function () {
                $scope.msg = JSON.parse(msg.data)
            });
        }

        //подключаемся к источнику событий
        var source = new EventSource('/stats');

        //подписываемся на событие сервера
        source.addEventListener('message', handleCallback, false);
    }


Также EventSource('/stats'); можно вынести в отдельный сервис, и подключать сервис там где он используется.

В случае если несколько заинтерисованных директив принадлежат одному контролу, то есть смысл разместить обработку событий в родительском контроле, чтобы взаимодействие с сервером было централизованным. Данные же можно будет подключить к директивам через связывание.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 17.06.2013 в 12:29.
Ответить с цитированием