Настоящий документ содержит описание технической архитектуры программы для ЭВМ «DevLink StateCore», распространяемой также под наименованием npm-пакета «devlink-statecore». Версия программного обеспечения на дату подготовки документа: 1.0.3.
1. Общая характеристика архитектуры
DevLink StateCore представляет собой программную библиотеку для JavaScript/TypeScript-проектов, предназначенную для управления состоянием приложений. Библиотека не является самостоятельным серверным приложением, не содержит графического пользовательского интерфейса, не требует отдельного сервера приложений и не использует собственную систему управления базами данных.
Архитектура ПО является модульной. Основная логика поставляется в составе npm-пакета и подключается в целевое JavaScript/TypeScript-приложение как библиотечный модуль.
2. Основные программные компоненты
- модуль создания и ведения хранилища состояния приложения;
- модуль получения и обновления текущего состояния;
- механизм неизменяемых обновлений данных;
- механизм вычисляемого состояния на основе текущих данных;
- middleware-механизм для расширения логики обработки изменений;
- экспортируемый API библиотеки для подключения в JavaScript/TypeScript-проекты.
3. Технологическая схема работы
Исходный текст библиотеки разрабатывается в виде файлов JavaScript/TypeScript. В процессе подготовки к распространению проект собирается средствами Node.js, npm и инструментов JavaScript/TypeScript-проекта. Результатом сборки является комплект JavaScript-файлов и служебных файлов npm-пакета, пригодных для подключения в целевые приложения.
После установки пакета пользовательское приложение импортирует функции и/или модули библиотеки, создаёт хранилище состояния и использует API DevLink StateCore для чтения, обновления и обработки состояния.
4. Инфраструктурные программные средства
| Параметр | Описание для DevLink StateCore |
|---|---|
| Средства хранения данных | Не используются. Библиотека не содержит собственной постоянной системы хранения данных. |
| Облачное хранилище | Не используется как обязательный компонент функционирования ПО. |
| Веб-сервер / балансировщик / прокси-сервер | Не используется. Библиотека не является веб-серверным приложением. |
| Программная платформа | JavaScript/TypeScript; Node.js и npm используются для сборки, установки и публикации пакета. |
| Параметр | Описание для DevLink StateCore |
|---|---|
| Сервер приложений | Не используется. Библиотека подключается в составе целевого приложения. |
| СУБД | Не используется. |
| Реализация | JavaScript; при наличии уточняющего поля рекомендуется указать Node.js / npm / TypeScript tooling. |
5. Развёртывание и использование
ПО распространяется в виде npm-пакета. Для использования библиотека устанавливается в целевой JavaScript/TypeScript-проект средствами npm и подключается в исходном коде приложения. Отдельное развёртывание серверной инфраструктуры, базы данных или веб-сервера для работы самой библиотеки не требуется.
6. Заключение
Техническая архитектура «DevLink StateCore» соответствует библиотечному типу программного обеспечения: программный продукт поставляется в виде модулей JavaScript/TypeScript, подключаемых в целевые приложения, и не требует собственной серверной, облачной или СУБД-инфраструктуры для выполнения основной функциональности.