
Создание приложения на Rust с помощью GPUI
ToniTrum 2 минуты назад Создание приложения на Rust с помощью GPUI Средний 39 мин 0 Rust * Туториал Из песочницы ПредисловиеДанная статья создана больше для меня самого и для моих товарищей по команде, которым также...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Вот важная новость с фронта ИИ: ToniTrum 2 минуты назад Создание приложения на Rust с помощью GPUI Средний 39 мин 0 Rust * Туториал Из песочницы ПредисловиеДанная статья создана больше для меня самого и для моих товарищей по команде, которым также предстоит поработать с перечисленными здесь инструментами, поэтому я в этой статье не претендую на истину о том, как правильно проектировать приложение, как писать код и как строить архитектуру. Однако мне кажется, что для многих материал всё равно может оказаться полезным, поэтому решил выложить эту работу, тем более что я не смог обнаружить каких-либо иных источников на русском языке про GPUI, да и на английском их также немного. Я открыт к отзывам, советам, критике, буду рад прочитать ваши комментарии, если будут хорошие советы, то постараюсь обязательно исправить.
ВведениеGPUI является быстрым и производительным UI фреймворком на Rust c GPU ускорением от команды разработчиков, создавших редактор кода Zed, который как раз его использует для UI части. Данный фреймворк вышел относительно недавно, поэтому его API немного нестабильный, во многих источниках, на которые Вы могли наткнуться на просторах Интернета, включая примеры в официальном репозитории, написаны на более старой версии, из-за чего изучать данный фреймворк становится ещё сложнее. Он поддерживает такие платформы как macOS, Windows, Linux и FreeBSD.
Технические детали
В данной работе применяется версия 0. Для изучения GPUI я решил создать небольшой pet-проект. Он из себя представляет попросту информационную доску о стендах из ДжоДжо: имя, фото и лепестковая диаграмма с характеристика, которые представлялись в аниме.
Также в проекте будут рассмотрены фичи по выбору темы и языка интерфейса. Ниже будут представлены материалы по самой GPUI, которые мне показались полезными: Мини туториал Официальный репозиторий Официальная документация Сборник разных материалов по GPUI, включая документации, библиотеки, проектыАрхитектура проектаДля проекта была выбрана луковичная архитектура, структура вышла примерно следующей:├── Cargo. toml # Конфигурация Workspace ├── assets/ # Ассеты приложения │ ├── data/ # Базы данных │ ├── icons/ # Иконки │ ├── images/ # Изображения │ └── locales/ # Файлы локализации └── crates/ ├── app/ # Точка входа, инициализация GPUI │ └── src/main.
rs ├── core/ # Ядро проекта │ └── src/ │ ├── types/ # Общие типы и enum'ы │ ├── models/ # Чистые модели и бизнес-логика │ ├── repositories/ # Трейты для работы с данными │ ├── services/ # Сервисы для общения с данными │ └── lib. rs ├── infrastructure/ # Реализация интерфейсов и реализация элементов инфраструктуры │ └── src/ │ ├── dtos/ # Трансферные объекты данных │ ├── mappers/ # Переводы между DTO и моделями │ ├── repositories/ # Конкретная реализация репозиториев │ ├── file/ # Структуры для работы с локальными файлами │ └── lib. rs ├── di/ # Внедрение зависимостей │ └── src/ │ ├── dependency_injector.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.




