Rust и GUI // Демо-занятие курса «Rust Developer»
ฝัง
- เผยแพร่เมื่อ 26 ก.ย. 2024
- На открытом уроке разберем подходы к реализации GUI фреймвоков, рассмотрим Rust фреймворк iced и создадим на нем небольшое приложение.
«Rust Developer» - otus.pw/Fg6Y/
Преподаватель: Илья Богданов - Rust Developer, Enso
Подключайтесь к обсуждению в чате - otus.pw/Qx6K/
Пройдите опрос по итогам мероприятия - otus.pw/bvZR/
Следите за новостями проекта:
- Telegram: t.me/Otusjava
- ВКонтакте: otus.pw/850t
- LinkedIn: otus.pw/yQwQ/
- Хабр: otus.pw/S0nM/
12:00 -- НАЧАЛО ПО СУТИ. Не благодарите!
А почему не указан winAPI, какой то мало кому известный GTK есть, а winAPI нет. Я пробовал писать на Rust используя winAPI, вполне себе...
Потому что на голом WinApi ни кто не пишет с 1998 года, а на малоизвестном голом GTK до сих пор пишут и на Винду и на Линукс
@@antonsinitsyn6420 да ладно, никто не пишет, ещё как пишут и на голом и на обёрнутом. Даже а Rust есть обёртка. И если надо небольшое приложение минутка то на winAPI тока тае накропать. А если Вы молодёж зажрались, то это ваша проблема. А на GTK пишут мико-микро количество народа, так как линукс не популярен у пк юзеров.
@@ДимаБочаров-н8ы нет, большинство гуев сегодня под виндой это .NET или web морда вшитая в браузер (пример VSCode). В линуксе большинство гуев это GTK, Qt и wxWidgets. Притом линуксовые фреймворки кроссплатформенные и через раз встречаются и на Винде, на wxWidgets например написана FileZilla и BitTorrent. На голом WinApi перестали писать с приходом Делфи и libui для C++. Весь смысл UI фреймаорков, это упрощение работы с базовым API и скрытие мест где может накосячить программист, например рендеринга. Так что если кто-то в 2023 хочет писать на WinApi, то это либо какой-то школьник который считает что это круто, либо человек который отстал от современного хода вещей
@@antonsinitsyn6420 Web морда это уже не rust а javascript. И .NET тоже не про rust. Так что не надо о зелёном когда про сладкое разговор.
@@ДимаБочаров-н8ы ок, хочешь Rust, бери GTK или Qt и не занимайся садомазохизмом
за парадигмы отдельный +
Треть или четверть времени - просто введение.Что собсно и так всем понятно. Если про раст и про гуи интересно, то про начало всей заварухи нет. Листаем дальше... Это как четвёртую матрицу смотреть. Ожидание... 57.05 минут введения... Листаем дальше...
1:11:11 У меня уже кресло горит, нихрена не компилируется: - use of undeclared type `Self` ///Прямо топ рекламы своих курсов
MVS компилирует, возможно что-то пропустили скобочки, строки.
Автору большое спасибо, особенно за вводну часть про парадигмы, про MVU до этого даже не слышал. Мне использование раст в контексте UI всегда было интересно. Разочаровывают конечно результаты: после компиляции, debug папка весит 1,58 ГБ, release 597 МБ, а релизный экземпляр в ОЗУ 168 МБ. Как по мне это неадекватно...
Counter example
Cargo.toml
[dependencies]
iced = "0.10.0"
[profile.release]
opt-level = "z" # Optimize for size (higher compression)
debug = false # Exclude debug information
lto = true
Binary size:
MacOS: 6.4 Mb
UPX compressed: 2.2 Mb
Ram usage: 36Mb
MVVM популярен на фронте, в частности фреймворк Vue.
Iced
сейчас бы тудушку на расте делать
1:23:00
На rust есть gtk4
теперь slint есть