Разработать заготовку мультиплатформенного десктопного приложения
80 000 руб. за проект
- Создать сборку мультиплатформенного десктопного приложения с компиляцией в 3 операционные системы: Linux Ubuntu (.deb), Windows 11, Mac OS
- Настроить CI/CD сборку для Linux Ubuntu. (собранный файл можно запустить на свежей Linux Ubuntu (Mint, Astra...), что установит приложение, которое можно открыть и пользоваться). Должно быть, например, скриптом в папке scripts. НЕЛЬЗЯ использовать сторонние CI/CD системы (это должен быть sh/rust/c++ скрипт, запускающийся простой командой в консоли, например `make build_all` внутри докер контейнера)
- Сборка должна предполагать, что в ней будут высокопроизводительные модули на Rust и C++. Должен быть пример использования модуля на C++ и пример использования модуля на Rust
- Сборка должна предполагать, что в ней будет низкоуровневое взаимодействие с графикой. Это необходимо, чтоб был контроль над отображением элементов со сложной геометрией (3-d модели реальных технических устройств). В идеале, графический код для разных платформ должен быть одинаков. Обоснованные другие варианты также могут быть рассмотрены.
- Дополнительные требования к модулю для отрисовки элементов. Он должен быть максимально гибок и расширяем. Иметь C-совместимое (extern C) API. Это необходимо чтобы ограничить сложность внутри модуля и позволить им пользоваться программистам без глубоких знаний низкоуровневой графики и вычислений на GPU. В идеале, он должен уметь работать с *частью* окна.
- Графические требования:
- Макет представлен по ссылке: https://clck.ru/3A3aAq - макет в светлых тонах, https://drive.google.com/drive/folders/19qcRe2gLsayHdnIJ_HfHAZdrHQSo5ijc - макет в темных тонах.
- Растягивается во весь экран. Сворачивается в маленькое окно
- Имеет 2 цветовые темы (тёмную и светлую)
- Имеет следующие элементы взаимодействия
- “Липкая” панель, приклеиваемая к границам окна (верх, лево, право, низ)
- Панель должна иметь возможность отображать содержимое как из C++ кода, так и из Rust
- Окно с отображением низкоуровневой графики (с использованием нативных способов отображения OS)
- Панель должна иметь возможность отображать содержимое как из C++ кода, так и из Rust
- Окно с текстом (выходные данные). Гибкое (есть возможность изменить размеры)
- Кнопка с текстом
- Кнопка меню с иконкой
- Поле ввода текста
- Поле выбора из нескольких вариантов (select)
- Поле для загрузки файла
- Чекбокс
- Дерево элементов меню (раскрывающийся список)
- Переключение уровней (верхние табы вкладки), (как браузерные вкладки)
- “Липкая” панель, приклеиваемая к границам окна (верх, лево, право, низ)
- Макет представлен по ссылке: https://clck.ru/3A3aAq - макет в светлых тонах, https://drive.google.com/drive/folders/19qcRe2gLsayHdnIJ_HfHAZdrHQSo5ijc - макет в темных тонах.
- Должны быть понятны способы создания финальных сборок для Ubuntu, Windows и MacOS (скрипты для запуска, требования к системам для сборки...)
- Минимальное использование Open Source
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.