Команда ng-book 2 разработала чат-приложение с использованием Angular 2, RxJS, Angular CLI, Webpack, TypeScript, Services, Injectables, Karma, Forms и tslint. Цель — показать, как использовать шаблон архитектуры данных Observables, как писать инъекционные сервисы в Angular 2 и асинхронные компоненты, работающие с RxJS.
Приложение чата
Демо-версия доступна по ссылке.
# clone the repo git clone https://github.com/ng-book/angular2-rxjs-chat.git # change into the repo directory cd angular2-rxjs-chat # install npm install # run npm start
Перейдите по адресу http://localhost:4200 в браузере.
Приложение состоит из трех модулей:
Message — содержит отдельные сообщения чата;Thread — содержит метаданные для группы Message;User — содержит данные об отдельном пользователе.Структура приложения
Также для каждой модели есть три услуги:
MessagesService — управляет потоками сообщений;hreadsService — управляет потоками Threads;UserService — управляет потоком текущего пользователя User.Три компонента верхнего уровня:
ChatNavBar — для верхней панели навигации подсчета непрочитанных сообщений;ChatThreads — для интерактивного списка тем;ChatWindow — окно, где проводится текущий разговор.Компоненты верхнего уровня
Каждый сервис публикует данные в виде потоков RxJS. Клиенты службы подписываются на эти потоки, чтобы получать уведомления об изменениях.
MessagesService — это основа приложения. Все новые сообщения добавляются в потом newMessages. Все новые потоки являются производными от прослушивания newMessages. Потоки, предоставляемые ThreadsService, создаются путем прослушивания потока сообщений.
Примечание: есть несколько других полезных потоков, которые предоставляют сервисы:
Например, MessagesService предоставляет поток сообщений, который является потоком списка всех текущих сообщений. messages выдает массив для каждой записи. Аналогично ThreadsService предоставляет список хронологически упорядоченных потоков в orderThreads и так далее.
В приложении реализовано несколько чат-ботов. Например:
Бот для приложения
Шаг 1: Установите Node.js (авторы рекомендуют версию 4.1 и выше).
Проверить версию можно следующей командой:
$ node -v vv4.1...
Шаг 2: Установите зависимости.
npm install
npm run go
Затем перейдите по адресу http://localhost:4200 в браузере.
Запуск тестов можно проводить с помощью следующей команды:
npm run test
Вот и все! После стабилизации разработки Angular 2 авторы планируют внести в репозиторий два больших изменения:
ON_PUSH. Вместо наблюдаемых объектов для улучшения производительности компонентов.На фоне роста спроса на ликвидность в бычьем рынке 2025 года, криптозаймы снова выходят на…
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…