После двух лет разработки сформирован (https://groups.google.com/forum/#!topic/wx-announce/qKmf_umCAzU) выпуск кроссплатформенного тулкита wxWidgets 3.1.1 (http://wxwidgets.org/), позволяющего создавать графические интерфейсы для Linux, Windows, macOS, UNIX и мобильных платформ. wxWidgets 3.1 позиционируется как ветка для разработчиков, в которой развиваются новые возможности для следующего стабильного релиза 3.2.0. По сравнению с веткой 3.0 наблюдается ряд несовместимостей на уровне API и не гарантируется неизменность ABI между промежуточными выпусками 3.1.x.
Тулкит написан на языке С++ и распространяется под свободной лицензией wxWindows Library License (http://www.wxwidgets.org/about/licence), одобренной Фондом СПО и организацией OSI. Лицензия основана на LGPL и отличается позволением использования собственных условий для распространения производных работ в бинарной форме. Кроме разработки программ на Си/Си++ wxWidgets предоставляет биндинги для большинства популярных языков программирования, в том числе для PHP (http://wxphp.org/), Python (http://wxpython.org/), Perl (http://wxperl.sourceforge.net/) и Ruby (http://wxruby.rubyforge.org/). В отличие от других тулкитов, wxWidgets обеспечивает для приложения по-настоящему родной для целевой системы внешний вид и методы взаимодействия, благодаря использованию системных API, а не имитации GUI.Основные новшества wxWidgets 3.1.1:
- Улучшенная поддержка экранов с высокой плотностью пикселей (High DPI);- Возможность задания дробных значений ширины пера в wxGraphicsContext;- Поддержка назначения произвольных меток для окон в wxStaticBox;- Поддержка событий жестов указателем мыши;- Возможность использования разметки в тексте в блоках wxDataViewCtrl;- Поддержка файлов в формат ZIP 64;- Значительное расширение средств для людей с ограниченными возможностями, предоставляемых платформой Windows;
- Новые классы: wxActivityIndicator, wxAddRemoveCtrl,
wxAppProgressIndicator, wxNativeWindow, wxPowerResourceBlocker,
wxSecretStore;- Новые методы: wxDateTime::GetWeekBasedYear(), wxListBox::GetTopItem(),
wxProcess::Activate(), wxTextEntry::ForceUpper(), several ones in
wxRendererNative, wxStandardPaths::GetUserDir(), wxUIActionSimulator
::Select();
- Значительное улучшение реализаций классов wxBusyInfo и wxNotificationMessage;
- Обновление до свежих версий всех входящих в поставку сторонних библиотек, в том числе поддержка WebKit 2 и GStreamer 1.7;- Поддержка OpenGL в направлении более качественной работы с новыми версиями стандарта OpenGL (3.2+);- Улучшена поддержка C++11;- Альтернативная система сборки на базе CMake;- Поддержка сборки с использованием новых веток компиляторов MSVS 2017, g++ 7 и clang 6;- Экспериментальный порт wxQt.
URL: https://groups.google.com/forum/#!topic/wx-announce/qKmf_umCAzU
Новость: https://www.opennet.ru/opennews/art.shtml?num=48111
Неплохо. Но Qt все равно лучше. И совсем не тормозит, как и Java, кстати говоря. Как и файрфокс.
а интерфейс 1с тормозит
Если это был сарказм, то неудачный
Это он пошутил про то, что джава-къют байндинги тормозили ужасно, пока их не выбросили...
Qt под маком глюкав сильно
И под Wine не всегда автопрорисовывается.
Значит, под опиум нужен свой порт - wxApple
В смысле? В этом и смысл wxWidgets, что под линуксом он wxGTK (впрочем, раньше еще был wxMotif), под виндой - через виндовый тулкит, под маком - через Cocoa. Везде нативно. Все эти порты уже есть.
И проблемы Qt под маком никак не касаются wxWidgets - он не будет использовать Qt под маком, а напрямую Cocoa.
Смешное высказывание.Тулкит все равно лучше. И совсем не тормозит как виртуальная машина кстати говоря. Как и веб-браузер.
Дорогой Аноним где ваша логика? (Просто это похоже на сравнение инструмента, дома и лагеря вместе.)
Не тупи. если нужна кроссплатформенная софтина - её пишут либо на нативе с применением wxWidgets или Qt, или на джаве или пихают в браузер.
> Не тупи.Я не настолько идиот, я спрашивал про логику выражения.
> если нужна кроссплатформенная софтина - её пишут либо на нативе с применением wxWidgets или Qt, или на джаве или пихают в браузер.В качестве тулкита кроме wxWidgets и Qt, из кроссовых есть, и Tk, и GTK.
Иначе да могут писать на Java или для вэба, но можно ведь писать скрипты на том же ash и это будет работать(правда только для Tk, в чем я ошибаюсь), а ведь в теории есть и другие экзотические способы написания программы.
> Я не настолько идиотНе скромничай: настолько.
> Не скромничай: настолько.Может мне тогда сжечь свой диплом об образовании, раз я настолько идиот? (Я этого делать не стану не смотря на ваш ответ.)
Это опеннет, броСредний анонимус опеннета не видит разницы между
* тулкитом
* DE, базирующимся на этом тулките
* ЯП, имеющим биндинг к этому тулкитуЧто с этим делать? Ну не учить же :)
> Что с этим делать? Ну не учить же :)С этим ничего не сделаешь.
Хотя может создать ОС имеющее тоже название что у тулкита, языка программирования и среды рабочего стола. (Хотя нет, бредово звучит.)
> В качестве тулкита кроме wxWidgets и Qt, из кроссовых есть, и Tk,
> и GTK.Да нифига их нет. Из малопроблемных есть только wxWidgets, Qt и Swing. Ах ну да, еще SWT как вариант. У всех в той или иной степени есть проблемы в некоторых комбинациях, но в общем и целом терпимые.
GTK под виндой - это грустно, некрасиво и глючно. И под маком не сильно весело (и либо некрасиво, либо требуются очень специфические хаки, чтобы было терпимо). В нативный Feel так не укладывается вообще. Tk не слишком красиво под линуксом, глючно и не слишком соответствует look & feel под маком. Не знаю, как под виндой.
Из wxWidgets, Qt, Swing и SWT нативный look & feel под разные платформы (а это далеко не только вид и поведение программы, но и API, позволяющие писать так, что программа сохраняет свои функции несмотря на разный Feel под разные платформы) есть только у wxWidgets и SWT. Поэтому если это требуется, и не Java, то альтернативы ему нет. Впрочем, Qt, конечно, неплох, но не настолько нативен, как wxWidgets.
Впрочем, есть еще такая мода: приложение в виде nodejs сервера + виджет браузера, интерфейс на HTML5+js. Но это, гхм, весьма специфически.
> Да нифига их нет.Не спорю.
> Из малопроблемных есть только wxWidgets, Qt и Swing. Ах ну да, еще SWT как вариант.Если вам нужен NL&F то да это малопроблемные.
> У всех в той или иной степени есть проблемы в некоторых комбинациях, но в общем и целом терпимые.Согласен.
> GTK под виндой - это грустно, некрасиво и глючно.
> И под маком не сильно весело (и либо некрасиво, либо требуются очень специфические хаки, чтобы было терпимо).
> В нативный Feel так не укладывается вообще.GTK не делался специально для Windows и не делался специально для macOS поэтому выражение о проблемах имеет место быть.
> Tk не слишком красиво под линуксом, глючно и не слишком соответствует look & feel под маком.
> Не знаю, как под виндой.Tk достаточно универсален, да у него свой Look & Feel(Хотя больше похож на Motif), но приложения этого тулкита везде одинаково выглядят.
> Из wxWidgets, Qt, Swing и SWT нативный look & feel под разные платформы (а это далеко не только вид и поведение программы, но и API, позволяющие писать так, что программа сохраняет свои функции несмотря на разный Feel под разные платформы) есть только у wxWidgets и SWT.
> Поэтому если это требуется, и не Java, то альтернативы ему нет.Утверждение в вашем случае верно, но это ещё не значит что wxWidgets панацея.
> Впрочем, Qt, конечно, неплох, но не настолько нативен, как wxWidgets.Qt порой слишком "жирный" по сравнению с wxWidgets, но легче если сравнивать с SWT или Swing(Если я не ошибаюсь обоим нужна виртуальная машина Java)
> Впрочем, есть еще такая мода: приложение в виде nodejs сервера + виджет браузера, интерфейс на HTML5+js.Опять "впрочем", ну и ладно. Согласен что есть такая тенденция. (Но я не могу вам сказать что это плохо либо хорошо.)
> Но это, гхм, весьма специфически.Скорее наоборот, максимально упрощенно под "комбайны".
Ещё есть IUP: http://webserver2.tecgraf.puc-rio.br/iup/
> Смешное высказывание.
> Тулкит все равно лучше. И совсем не тормозит как виртуальная машина кстати
> говоря. Как и веб-браузер.
> Дорогой Аноним где ваша логика? (Просто это похоже на сравнение инструмента, дома
> и лагеря вместе.)Шутка про "джава-къют байндинги", про "выключенную аппаратную виртуализацию в биос" и "ненавистный квантумный хромобокс".
//Сложная шутка, больше так не шути.
> Шутка про "джава-къют байндинги", про "выключенную аппаратную виртуализацию в биос" и "ненавистный квантумный хромобокс".
> //Сложная шутка, больше так не шути.Я если шучу, то очень редко. (Юмор это не моё.)
Интересно, wxWidgets 3.1.1 под Windows 3.11 выглядит нативно?..
> Интересно, wxWidgets 3.1.1 под Windows 3.11 выглядит нативно?..Нет, еще не готов. Когда будет 3.11, тогда и поговорим.
Внезапно в Википедии написано, что wxPython, например, изобретали изначально как раз для Windows 3.1 и HP-UX: «wxPython was created when Robin Dunn needed a GUI to be deployed on HP-UX systems and also on Windows 3.1 within a few weeks»
>> Экспериментальный порт wxQtwxC++, нет? Что за зверь такой и в чём будет профит?
Профит, видимо, в том, что вместо GTK будет использоваться Qt. Хотя непонятно, зачем тогда нужна прослойка wxWidgets, разве что для легаси.
Например, для KiCAD, который написан с использованием wxWidgets и на чистый Qt его маловероятно, что переведут.
Если будут писать приложения, используя только wx API, то их можно будет скомпилить и для GNOME с wxGtk, и для KDE с wxQt. И там, и там должно выглядеть нативненько.
> Профит, видимо, в том, что вместо GTK будет использоваться Qt. Хотя непонятно,
> зачем тогда нужна прослойка wxWidgets, разве что для легаси.Чтобы потешить своё чрезвычайно развитое самомнение: "Глядите! Мы тоже пишем свои окошки и свою надстроечку над Си++!"
Скорее бы wxPython для третьего Питона родили...
Уже родили!
> Скорее бы wxPython для третьего Питона родили...Извращенцы не способны к размножению - пялятся не в те места.
wxPython/Python3 вполне работоспособен уже с осени.
Не работают две вещи: wxCairo и Opengl. А в остальном вполне жив.
Феральский релиз уже stable.
А вот wxRuby похоже уже помер.
Самое главное его преимущество в том, что он использует GTK+ в качестве бэкенда, а потому не выглядит вырвиглазно, как тот же Qt.
Не забывай добавлять где выглядит невырвиглазно. А именно в GNOME. А в KDE, в Винде Gtk выгдлядит вырвиглазно.
это проблемы кедерастов = вендовозов. GTK - это чисто наше, линуксовое. (KDE не является официальной рабочей средой GNU, в отличие от GNOME, а потому его можно рассматривать как филиал венды)
> Не забывай добавлять где выглядит невырвиглазно. А именно в GNOME. А в
> KDE, в Винде Gtk выгдлядит вырвиглазно.
> А в KDE, в Винде Gtk выгдлядит вырвиглазно.Про KDE глупости. Забыли поставить пакет с gtk-темами и запустить gnome-settings-daemon? Ну так сделайте и все будет выглядеть отлично. Кроме того, есть темы, позволяющие добиться идентичности вида Qt и GTK.
В винде у Gtk действительно есть проблемы, но больше с Feel, а не Look.
wLua может снова будут пилить?
Автор ZeroBrane Studio пилит wxLua биндинги к wxWidgets 3.1.1. На нём ZeroBrane и работает.
Увы, монолитные тулкиты а-ля "создать контрол, присвоить цвет" - примитив прошлого века. Тренд минимум на 30 лет - декларативные вещи типа WPF. Мы уже наелись сотнями "графических библиотек", пора бы их повыкидывать и написать что-то перспективное.
> Тренд минимум на 30 лет - декларативные вещи типа WPF. Мы
> уже наелись сотнями "графических библиотек", пора бы их повыкидывать и написать
> что-то перспективное.Отлично. Расскажите теперь, какие хорошие, поддерживаемые и зрелые декларативные технологии доступны у тех, кто пишет
1) на C++
2) на Python
3) на Java
(по каждому пункту) и хочет кроссплатформенности хотя бы в рамках Linux-Windows-OS X?(я вам даже ссылку дам, чтобы не искать - https://en.wikipedia.org/wiki/List_of_user_interface_markup_... - просто отфильтруйте по критерию выше).
>> Тренд минимум на 30 лет - декларативные вещи типа WPF. Мы
>> уже наелись сотнями "графических библиотек", пора бы их повыкидывать и написать
>> что-то перспективное.
> Отлично. Расскажите теперь, какие хорошие, поддерживаемые и зрелые декларативные технологии
> доступны у тех, кто пишет
> 1) на C++
> 2) на Python
> 3) на Java
> (по каждому пункту) и хочет кроссплатформенности хотя бы в рамках Linux-Windows-OS X?Походу ты не понимаешь, что он имел в виду (я тоже не понимаю), но выглядит это так:
"Нужно срочно написать wxDeclarative, чтоб написать один раз код, и выводить его во всяких нативных вендорных WPFах, иль в QML (взависимости от погоды)" -- он частично прав, но зависит всё от задач.
wxWidgets кагбэ находится посередине между Qt и SDL. С одной стороны инструмент для лентяев-минималистов, что хотят один раз нативно написать, но фреймворк таскать не хотят; с другой стороны никто не запрещает Qt+SDL юзать и при всей лени писать
с фреймворком+нативно+лениво+молодёжно+декларативно (myGUI -- OpenMW так и делает).
> Мы уже наелись сотнями "графических библиотек", пора бы их повыкидывать и написать что-то перспективное.Мы наелись, давайте ещё поедим.
Хорошая цитата из вашего сообщения, не лопните.