LINUX.ORG.RU

Rust + GUI

 ,


1

7

@RazrFalcon, по мотивам треда Ищу годную либу для 2D графики на чём ты остановился? Мне бы правда с GUI на поиграться с хелловорлдами на расте… QPainter брать и не париться? Хочу графы рисовать, как Graphviz, только мышкой. Хотя даже не графы, деревья.

★★★★★

Последнее исправление: peregrine (всего исправлений: 1)

Я сдался, взял Gtk+ окно с WebView, а дальше на жабоскрипте такого говна много.

https://github.com/Boscop/web-view

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

Кода на Rust оставил делать всякое взаимодействие с системой и обработку данных.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Я сдался, взял Gtk+ окно с WebView, а дальше на жабоскрипте такого говна много.

Даже самые старые крысы уже бегут с корабля.

anonymous
()
Ответ на: комментарий от theNamelessOne

@trex6 начинал что-то писать, кстати.

Все растофанатики начинали что-то писать, только вот законченный, рабочий проект никто так и не смог выдать. Вечные хелловорлдщики :(

anonymous
()

Потыкай палкой conrod. Если нужна стабильность, можно взять биндинги к gtk/gdk и cairo.

Буквально пару недель назад писал наколеночную отрисовку графов через gtk/cairo (тащить весь graphviz было чудовищным оверкиллом), получилось довольно неплохо.

Siborgium ★★★★★
()
Ответ на: комментарий от peregrine

Интересная ссылка. ЛОР просит багрепорт.

borrow checker барахлит, лол :)

anonymous
()

В resvg я поддерживаю аж 4-е либы. Если GUI - то только Qt. Тут вариантов нет. Если чисто картинки генерировать - то опять Qt. Для раста ничего толкового нет.

RazrFalcon ★★★★★
()
Ответ на: комментарий от peregrine

Я понимаю, это фикс ссылки. Для багрепорта: я вставил ссылку, окружив ее ` и скобками.

Siborgium ★★★★★
()
Ответ на: комментарий от vertexua

Я web-view не тыкал, но у них какие-то конские ограничения. То HiDPI не работает, то с правами на винде борода. Треш какой-то.

угнаться за вебом уже официально невозможно.

Зачем гнаться за этим убожеством?

RazrFalcon ★★★★★
()
Ответ на: комментарий от Siborgium

gtk/gdk и cairo

стабильность

Смешно. GTK колбасят как могут. А cairo медленный и корявый. Ещё и текст только через костыли.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

По cairo соглашусь. Впрочем, судя по реквесту, суперпроизводительность не особо нужна.

В gtk колбасят мелкие детали, ядро остается неизменным. Программы с gtk-3.0 не перестанут работать на gtk-3.20. При этом биндинги к qt для rust выглядят куда менее приятными, чем биндинги к gtk.

Siborgium ★★★★★
()
Ответ на: комментарий от Siborgium

Ну биндингов к Qt как таковых и нет. Только попытки. Проще разделить core и ui и дёргать qt/ui из раста.

А GTK нормально фурычит только на лине.

RazrFalcon ★★★★★
()

К слову о теме из стартового поста, с тех пор ещё появился https://blend2d.com/ Но я его не тыкал ещё. Поддержка текста там очень примитивная. Но сама отрисовка должна быть очень быстрой. Увы, автор не сравнивает свою либу с эталоном, ака skia, так что судить сложно.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

Зачем гнаться за этим убожеством?

Потому что оно на сто голов лучше чем все говно напрямую для десктопа, включая все Qt, Cairo и так далее. Экосистема живет, бибилиотек множество.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от Siborgium

Посмотрел я на их видосы, у них альтернативное понимание GUI. Меня их понимание счётчика пугает. Похоже правда только Qt брать и Rust как либу дергать из Qt-шного проекта/наоборот тоже можно или JS-ом обмазываться.

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 1)

на

OrbCalculator: Calculator based on OrbTk

Ну куда же хелловорлд и без калькулятора :) На очереди свой будильник, TODO-список и просмотрщик изображений :) Так победим :)

anonymous
()
Ответ на: комментарий от fsb4000

на HelloWorldTk весь интерфейс HelloWorldOs.

понял, принял.

anonymous
()
Ответ на: комментарий от RazrFalcon

Тем что у тебя предубеждение что во фронтенде либы полусырые. А реально там очень большое количество серьезных графических библиотек, которые на рынке давно.

vertexua ★★★★★
()
Ответ на: комментарий от RazrFalcon

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

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от vertexua

Норм либа кстати, чем тебе не понравилась? ))

«Либа» на 60 строк, подтверждающая статус crates.io, как выгребной ямы. Так и до left-pad недалеко, лол :) Но ты не стесняйся, добавляй ее в свой ХеллоВорлд, Привет Мир сам себя на экран не выведет :)

anonymous
()

Вот она обратная сторона медали. На D один(!) человек, в одного, в свободное время, написал гуй dlangui. А на расте с его финансированием и хайпом так и не смогли ничего подобного написать - dlangui screenshots, сравните с тем же conrod. Вот вам и иллюстрация продуктивности D по сравнению с растом. Не борроу чекером и хайпом нужно жить, а здравым смыслом.

anonymous
()
Ответ на: комментарий от anonymous

Растовики пытаются реализовывать всё только своим языком. В dlangui же используется sdl2.

anonymous
()
Ответ на: комментарий от RazrFalcon

Electron - точно нет. Там сильно много лишнего. Плюс чтобы добавить натив на том же Rust нужно возиться с Node API, Neon Bindings.

Лучше просто WebView. Там простейший интерфейс и один процесс.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от anonymous

Вот она обратная сторона медали.

Но, но, но… а как же Безопасноть? Zero-cost абстракции?! LLVM?!! Устаревшая Сишка?!!! Звездочки на гитхабе?!!!! Ouch

Не борроу чекером и хайпом нужно жить, а здравым смыслом.

Золотые слова. Скрины, conrod’а этого, кстати, повеселили.

anonymous
()
Ответ на: комментарий от anonymous

На D один(!) человек, в одного, в свободное время, написал гуй dlangui

Rust GUI либы также пишутся одиночками.

Вот смотри историю: https://github.com/redox-os/orbtk/graphs/contributors

Вначале пилил jackpot51, потом стал пилить FloVanGH, когда jackpot51 забил.

Так что тоже считай один человек пилит, как и твой dlangui https://github.com/buggins/dlangui/graphs/contributors

Хайп если и есть у раста, то финансирования нету.

У orbtk вчетверо больше звёздочек чем у dlangui.

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от fsb4000

Звездочки на гитхабе?!!!!

У orbtk вчетверо больше звёздочек чем у dlangui.

Кто о чем, а эти все о звездочках на гитхабе, ЛОЛ :)

anonymous
()
Ответ на: комментарий от anonymous

Как будто тебя звездочки на гитхабе не интересуют, лицемер!

Звездочки == лайки == хайп == безмозглое стадо == уже несколько часов растофанаты безуспешно подбирают новичку-мученику «GUI на поиграться с хелловорлдами на расте».

Лол :)

anonymous
()
Ответ на: комментарий от anonymous

dlangui использует sdl, как тебе указали выше. Нет проблем запилить очередные биндинги на расте (что легко подтверждается теми же crates.io), проблема в создании универсального гуя на чистом расте.

conrod вообще с dlangui нельзя сравнивать, он не для окошек с кнопочками, а для gui в околоигровых приложениях, в частности в основном их проекте piston.

Если ты записался в хейтеры, потрудись изучить тему.

Siborgium ★★★★★
()
Ответ на: комментарий от Siborgium

Кстати, всегда было интересно, как GUI рисуется на чистом расте да и вообще любом другом языке? Обмазывается OpenGL или биндится к иксам/WinAPI/что там в OSX/Wayland?

peregrine ★★★★★
() автор топика
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от Siborgium

проблема в создании универсального гуя на чистом расте

Гуи в языке без ООП? Удачи, пацаны!

anonymous
()
Ответ на: комментарий от peregrine

По разному. Qt на опенжелях рисует, wxWidgets по нормальному.

stasolog
()
Ответ на: комментарий от anonymous

Просто альтернатив не было, а сейчас всякие электроны есть...

peregrine ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.