Перейти к основному содержимому

Введение

Библиотека RISDK предназначена для взаимодействия с электронными компонентами и периферическими устройствами

Цели преследуемые при разработке архитектуры библиотеки (Advantages and Goals)

  1. Создать кроссплатформенную библиотеку для взаимодействия с электронными компонентами (Пользователь библиотеки не должен писать платформо-зависимый код)
  2. Библиотека не должна зависеть от архитектуры процессора, и должна одинаково корректно работать как на ARM, так и на amd64 и i386.
  3. Библиотека должна идеально вписываться в любой стек разработки, будь то Python или например Java, или приложение на PHP.
  4. Библиотека должна работать быстрее аналогов на js и python.
  5. Без лишних абстракций.
    1. Нет лишней связанности
    2. Принцип “Разделяй и властвуй” Отдельный компонент на каждую сущность (Компонент на шину, Компонент на датчик, Компонент на конвертер сигнала)
  6. Каждый пользователь библиотеки может расширять ее возможности используя с помощью плагинов (Например интеграция драйверов для своих устройств)
  7. Библиотека должна потреблять минимальное кол-во памяти и ресурсов, чтобы обеспечить возможность её запуска на устройствах IoT (Только когда конкретный драйвер используется, под него выделяется память)
  8. Предоставить комплексное решение со своим дизайном и философией, удобством использования, а не просто библиотека которая решает задачу подключения конкретного компонента в конкретных условиях
  9. Нацелена на длительное использование и поддержку
  10. Скромный порог вхождения
    1. Использование в образовательных организациях для обучения Статическая типизация
    2. Необходимо минимальное кол-во кода для решения задачи
  11. Возможность асинхронного взаимодействия с компонентами
  12. Каждый драйвер реализует и предоставляет все возможности устройства.
  13. Возможность портативного использования библиотеки, без необходимости установки.