SMC
Доброго времени суток, позвольте рассказать вам о моей разработке - платформе SMC (http://www.smcsystem.ru/).
SMC, полное имя Оболочка для модульных конструкций (Shell for module constructions) – платформа для создания и запуска модульных приложений. Позволяет создавать из блоков (модулей) приложения в графическом конструкторе.
В основе платформы лежит модульный подход к разработке приложений. Под модульностью тут понимается разделение монолитного приложения на элементы. Существует решения, в той или иной степени реализующих этот подход, например COM технология, микросервисная архитектура и другие. В SMC удалось решить большинство проблем связанных с модульным подходом при сохранении всех преимуществ. Основное отличие платформы — универсальность, простота и динамичность: можно быстро создавать приложения любых типов и сложности, а так же изменять существующие приложения, даже работающие.
Программа полностью бесплатна.
У платформы много особенностей, наиболее значимые:
- Графический инструмент разработки - приложения создаются и редактируются в графическом конструкторе путем соединения экземпляров модулей (без кода). Это позволяет говорить о платформе как о no-code инструменте разработки.
- Открытый исходный код (Open source) - все приложения открыты для просмотра и изменения.
- Полная динамичность — программы можно изменять вручную, в том числе запущенные (на лету). Так же, программы могут изменяться самостоятельно.
- Плагины - можно добавить плагин (дочернее приложение) к любому приложению.
- Лаунчер приложений.
- Встроенный репозиторий приложений и модулей - позволяет распространять модульные программы привычным образом.
- Возможность создания мультиязыковых приложений (например, одни модули могут быть написана на Java другие на C++). Поддерживаются модули на: Java, Java Script, Python, C++.
Платформа подходит:
Пользователям:
Привычное окружение — возможность установки и запуска приложений в лаунчере.
Возможность изменить приложения с помощью установки плагинов (дочерних приложений).
Можно быстро изменить приложение (в том числе и работающее) в графическом конструкторе.
Программистам:
Знакомство с модульным подходом.
Распространение приложений на js и python — сейчас их сложно распространять, так как нет полноценной поддержки в сервисах вроде windows store или apple store.
Возможность расширять свои и чужие приложения с помощью плагинов.
Возможность создания самоизменяемых приложений, что может быть востребовано, например, при создании ИИ.
Упрощение разработки:
- Все модули имеют встроенную документацию и примеры, это позволяет быстро начать их использовать.
- Полноценный инструмент разработки в виде графического конструктора, позволяет быстро создавать приложения.
- Все сообщения от модулей можно увидеть — это позволяет организовать отладку даже на работающем приложении.
- Не нужно тратить ресурсы на создание интерфейса настроек — само приложение есть огромный набор настроек.
Поддержка командной работы — платформа позволяет органично организовать работу в команде, например так:
- архитектор приложения - описывает требования к модулям и собирает из модулей приложение.
- программист — создает модули с описанным архитектором характеристиками.
Прототипирование — в начале можно собрать приложение из модулей-заглушек и постепенно заменять их на полноценные. при таком подходе приложение сможет функционировать даже при частичной готовности.
IT специалистам, администраторам:
Глобальная доступность сообщений - открытый доступ к данным, генерируемым модулями. Можно в любое время посмотреть сообщения от любого модуля что позволяет коренным образом решить вопрос с логами.
Возможность самостоятельного изменения приложений, например под конкретную ситуацию или новое оборудование.
- Платформа может использоваться в качестве сервера приложений.
Бизнес:
Возможность заказывать разработку отдельных модулей, из которых, затем, самостоятельно создавать приложения. Это позволяет:
- снизить затраты.
- сохранить конфиденциальность — у разработчиков модулей нет доступа к данным приложения.
Снижение зависимости от конкретного разработчика.
Контроль разработки на уровне кода приложения.
Уже существует много демонстрационных приложений (более 40) и модулей (более 60).
Сайт проекта: http://www.smcsystem.ru/
Документы: http://www.smcsystem.ru/#!/documents
Видео с примерами: http://www.smcsystem.ru/#!/video
Если у вас возникнут вопросы или пожелания, пишите, пожалуйста, постараюсь ответить на все.