The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Rust 1.43"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Выпуск языка программирования Rust 1.43" +4 +/
Сообщение от коржик (?), 24-Апр-20, 20:09 
Сложно. И не из-за того что нет ооп, а вследствие ограничений на уникальное владение ссылками.

То есть, если в обычных языках интерфейс является кучей слабосвязанных объектов, где все могут мутировать всех, то в расте у вас так просто не получится реализовать MVC или MVVM.

Например, у вас приложение на дотнете и есть вью-модель, коротую с одной стороны мутирует с домен, а с другой приходят события от графического представления, и тоже меняют значения внутри неё. Для дотнета всё нормально.

Но в расте получается так, что вью-моделью владеют и домен и вью. Если у вас UI живет в отдельном потоке - то тут проблем будет еще больше. Иметь доступ до одного и того же значения из двух потоков тоже не в стиле раста.

И получается что тот же GTK (https://gtk-rs.org/) как бы есть, но программировать на нём без крепких как сталь нервов вы не сможете. Выход - событийная модель и ELM подобные фреймворки, вот например https://github.com/antoyo/relm , библиотека поверх GTK. Или вот https://github.com/hecrj/iced

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Rust 1.43, opennews, 23-Апр-20, 23:37  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру