Введение
Библиотека RISDK предназначена для взаимодействия с электронными компонентами и периферическими устройствами
Цели преследуемые при разработке архитектуры библиотеки (Advantages and Goals)
- Создать кроссплатформенную библиотеку для взаимодействия с электронными компонентами (Пользователь библиотеки не должен писать платформо-зависимый код)
- Библиотека не должна зависеть от архитектуры процессора, и должна одинаково корректно работать как на ARM, так и на amd64 и i386.
- Библиотека должна идеально вписываться в любой стек разработки, будь то Python или например Java, или приложение на PHP.
- Библиотека должна работать быстрее аналогов на js и python.
- Без лишних абстракций.
- Нет лишней связанности
- Принцип “Разделяй и властвуй” Отдельный компонент на каждую сущность (Компонент на шину, Компонент на датчик, Компонент на конвертер сигнала)
- Каждый пользователь библиотеки может расширять ее возможности используя с помощью плагинов (Например интеграция драйверов для своих устройств)
- Библиотека должна потреблять минимальное кол-во памяти и ресурсов, чтобы обеспечить возможность её запуска на устройствах IoT (Только когда конкретный драйвер используется, под него выделяется память)
- Предоставить комплексное решение со своим дизайном и философией, удобством использования, а не просто библиотека которая решает задачу подключения конкретного компонента в конкретных условиях
- Нацелена на длительное использование и поддержку
- Скромный порог вхождения
- Использование в образовательных организациях для обучения Статическая типизация
- Необходимо минимальное кол-во кода для решения задачи
- Возможность асинхронного взаимодействия с компонентами
- Каждый драйвер реализует и предоставляет все возможности устройства.
- Возможность портативного использования библиотеки, без необходимости установки.