LINUX.ORG.RU

Представлена библиотека графического интерфейса libui

 , libui, , ,


10

4

Пьетро Гальярди (Pietro Gagliardi) представил простую и легко переносимую на другие платформы библиотеку для построения программ с графическим интерфейсом пользователя. В отличие от недавно представленной библиотеки Nuklear, libui использует для отрисовки элементов управления родные технологии поддерживаемых платформ. Библиотека написана на языке программирования C, в данный момент поддерживается работа на следующих платформах:

  • Linux/Unix: GTK+ версии 3.4 или выше.
  • Mac OS X: OS X версии 10.7 или выше.
  • MS Windows: Windows версии Vista SP2 или выше.

Поддержка Haiku OS пока приостановлена. Исходный код libui доступен под лицензией MIT.
На основе собственной библиотеки Пьетро реализовал привязку для языка программирования Go.

Скриншоты демонстрационных приложений
«Control Gallery»: [Linux/Unix] | [OS X] | [Windows]
«Histogram Example»: [Screen #1] | [Screen #2] | [Screen #3]
«cpp-multithread»: [Screen #1]

>>> Подробности

★★★★★

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

Поддержка Haiku OS пока приостановлена.

пока

Пока-пока. С учётом уровня востребованности продолжена и не будет.

sT331h0rs3 ★★★★★
()
Ответ на: комментарий от MuZHiK-2

libui использует для отрисовки элементов управления родные технологии поддерживаемых платформ.

На той же Windows GTK+-проги выглядят люто ненативно.

DeadEye ★★★★★
()

По мотивам комментариев на опеннете новость следует озаглавить так: «На гитхабе выбилась в топ библиотека libui».

Kilte ★★★★★
()

GTK+ версии 3.4 или выше

чот пригорнул

ненужно

но пригодится в качестве справочного пособия по вендоинтерейсам

reprimand ★★★★★
()

Сам хотел запоситить, а то на лоре ни слова. Но разве ее только сейчас представили? По коммитам - ей уже пару лет. Хз когда ее на гитхаб залили.

Правда либа все еще в глубокой альфе. Но в целом годно, ибо легковестна и рассчитана на биндинги.

Хотелось бы сравнение с wxWidgets, который делает тоже самое.

Жду биндинг к rust.

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

Это изначально была либа на Go. Потом он почему-то решил переписать её с нуля и на C, а уже потом заново сделать привязки Go. Вышло довольно неплохо, имеет право на жизнь и уж точно на использование. Чтоб не тащить монструозный Qt, например.

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

То есть винда самая лучшая? В целом не поспоришь, ибо Win7 theme лучшее, что сделал MS. Но его, увы, никто не используют, и все лепят свой, кривой интерфейс.

PS: gnome theme << kde theme

RazrFalcon ★★★★★
()

Это как vxWidgets, только на Си?

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

монструозный Qt

Да ты горишь, друк.

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

Не понял, зачем этот велосипед? GTK итак везде работает.

GTK не нужен. К тому же вырвиглазно выглядит в KDE.

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

Попробуй поменять gtk тему, если меняется, то возможно берет из неё.

superuser ★★★★★
()
Ответ на: комментарий от MuZHiK-2

Настрой тему, благо там на CSS все.

Какие параметры CSS отвечают за величину промежутков между контролами? за величину отступов между краем табов и их метками? Между содержимым entry и его краями?

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

Этот параметр называется «самовнушение». Нужно выставить в значение «макс.».

anonymous
()

Офигенно, давно мечтал о таком!

CYB3R ★★★★★
()

[пук] MS-DOS с «родной технологией» VESA не поддерживает. По прежнему торчать на allegro? [/пук]

drfaust ★★★★★
()

Нужность крайне спорная.

maxan
()

Пьетро Гальярди (Pietro Gagliardi) представил

Shaman007, а где пруф? Он над ней работает уже давно, но в новости утверждается, что он её сейчас «представил». Где?

На основе собственной библиотеки Пьетро реализовал привязку для языка программирования Go.

Как уже выше подметили, это и была библиотека на Go, а потом он решил обобщить её и сделать универсальней - из ui получилась libui, а не наоборот. Новость вводит в заблуждение.

gag ★★★★★
()

в линуксовой версии кландари кнопками, в макоси спинбоксами, а в винде поля с выпадающими календариками.

для какогонить фронтенда к wget пойдет, для любого интерфейса с которым будут работать простые люди - нет.

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

в линуксовой версии кландари кнопками, в макоси спинбоксами, а в винде поля с выпадающими календариками.

И?

RazrFalcon ★★★★★
()

На goвне теперь можно гуйню лепить?(нет)

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

Где?

А вот, сегодня на Reddit и Hacker News:

https://redd.it/4k6x5h
https://redd.it/4k6wjj
https://redd.it/4k79w8
https://redd.it/4k7mkm
https://news.ycombinator.com/item?id=11735393

Как уже выше подметили, это и была библиотека на Go, а потом он решил обобщить её и сделать универсальней - из ui получилась libui, а не наоборот.

За историей проекта не следил, так что извиняюсь перед вами за подобную неточность, вводящую в заблуждение. Буду рад, если корректоры исправят абзац

На основе собственной библиотеки Пьетро реализовал привязку для языка программирования Go.

на

Изначально библиотека была написана на Go, но позже Пьетро решил обобщить её и сделать более универсальной, переписав на C и сделав заново [url=https://github.com/andlabs/ui]привязку к Go[/url].

EXL ★★★★★
() автор топика

Т.е. можно считать, что под линукс нет.

Deleted
()

Бегло посмотрел, Nuklear таки лучше. Если сравнивать Nuklear overview.c с libui controlgallery, у Nuklear контролов побольше. Разметка почти одинаково просто, но Nuklear single header и его подключить проще. Так же Nuklear может сам преобрзовать сложные шейпы вроде окружности в многоугольники, если рисующий бэкэнд не поддерживает (как раз для opengl). Nuklear может отрендерить ttf. Количество рисующих бэкэндов тоже уже больше https://github.com/vurtun/nuklear/tree/master/demo

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

Как их можно сравнивать, если они выполняют совершенно разные задачи?

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

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

Тот же Qt 5 с его QtCore (5MB) + QtGui (5.5MB) + QtWidgets (7MB) будет оверхедом для приложения-кнопки, не так ли? А тут всего < 1МБ.

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

будет оверхедом для приложения-кнопки, не так ли? А тут всего < 1МБ.

Приложение-кнопку можно сделать и сразу под родное API, без лишней прокладки. Да и что-то сложное тоже лучше делать так. Единственное, что требует отдельной библиотеки, - действительно сложный гуй, который слишком трудоемко реализовывать/править в нескольких экземплярах, и там настоящая нативность принесет только геморрой.

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

И не одна не дожила до наших дней, а те что дожили (FLTK и Fox Toolkit) ужасны, словно Motif на MacBook с HiDPI. И они на C++.

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

Ты забыл про кроссплатформенность и скорость разработки.

И Qt, и эта библиотека позволят тебе быстро накидать простой UI и заняться другим делом. В противном случае ты будешь ручками ковыряться во всех этих WinAPI/Cocoa API/GTK+3 и читать доки.

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

И не одна не дожила до наших дней

libui еще даже жить не начала.

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

в линуксе для графических библиотек настало время расцвета

Ура! Линукс спустился с деревьев консоли! Аки предки наши приматы.

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

А вот, сегодня на Reddit и Hacker News:

Посмотрел все ссылки. По-прежнему не вижу, где

Пьетро Гальярди (Pietro Gagliardi) представил

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