После семи лет разработки и спустя 15 лет с момента выхода ветки 2.0 представлен (https://groups.google.com/d/msg/wx-announce/Ngt-fa-8Rkc/26GQ...) первый выпуск новой стабильной ветки кроссплатформенного тулкита wxWidgets 3.0 (http://wxwidgets.org/), позволяющего создавать графические интерфейсы для Linux, Windows, OS X, UNIX и мобильных платформ. По сравнению с прошлым значительным выпуском внесено 19224 изменений, добавлено около 320 тысяч новых строк кода. Общий размер кодовой базы wxWidgets 3.0.0 составил 1.1 млн строк.
Тулкит написан на языке С++ и распространяется под свободной лицензией wxWindows Library Licence (http://www.wxwidgets.org/about/licence3.txt), одобренной Фондом СПО и организацией 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.0.0 (http://docs.wxwidgets.org/3.0.0/overview_changes_since28.html):
- Улучшенная и более простая для использования поддержка Unicode (http://docs.wxwidgets.org/3.0.0/overview_unicode.html). Прекращено разделение сборок ANSI и Unicode;
- Новый порт wxOSX/Cocoa, подходящий для разработки как для 32-, так и для 64-разрядных приложений для OS X с использованием современного API Cocoa;
- Поддержка GTK+ 3 в порте wxGTK;
- Возможность использования wxWebView (http://docs.wxwidgets.org/trunk/group__group__class__webview...) для доступа к движку отображения web-контента. Разработаны бэкенды для браузерных движков Trident, WebKitGTK+ и Apple WebView;
- Улучшена совместимость с классами стандартной библиотеки;
- Улучшены инструменты для отладки приложений;- Полностью переработана документация. Для оформления документации вместо LaTeX задействована система Doxygen;
- Проведена чистка устаревших модулей и компонентов;
- Разработка порта wxPython вынесена в отдельный репозиторий;
- Поддержка промежуточного сохранения состояния объектов (persistent objects);- Улучшены средства для отображения данных, которые теперь поддерживают комбинированный вывод через списки и деревья;
- Добавлены дополнительные свойства для библиотек с классами grid (http://docs.wxwidgets.org/trunk/overview_grid.html) и ribbon (http://docs.wxwidgets.org/trunk/group__group__class__ribbon....);
- В процессе разработки ветки 3.0.0 был осуществлён переход с CVS на Subversion с поддержанием активного Git-зеркала (https://github.com/wxWidgets/wxWidgets);- Улучшены не связанные с построением GUI интерфейса возможности, такие как циклы обработки событий, таймеры и сокеты;
- События теперь могут быть привязаны к любой операции, не обязательно, как раньше, к методу производного от wxEvtHandler класса;
- Началось формирование (http://sourceforge.net/projects/wxwindows/files/3.0.0/binaries/) бинарных сборок для платформы Windows, созданных с использованием Microsot Visual C++ (2008, 2010, 2012, 2013) и MinGW-TDM (http://tdm-gcc.tdragon.net/) (4.7.1, 4.8.1).
URL: http://wxwidgets.blogspot.com/2013/11/some-30-release-stats....
Новость: http://www.opennet.me/opennews/art.shtml?num=38406
Respect! Классный тулкит!
Раньше в нем багов была куча. Интересно, стало лучше? Кто там у нас практикует и этот тулкит юзает?
Я юзаю. На серьёзные баги уже давно не нарывался, хотя иногда бывают мелкие косяки.
FileZilla и Audacity - с лохматых версий.
1С - сравнительно недавно.
> FileZilla и Audacity - с лохматых версий.А также KiCad и aMule. При том на баги Wx авторы aMule конкретно так ругались в свое время.
фух, а я уж боялся, что проект почил в бозе
> Началось формирование бинарных сборок для платформы Windows, созданных с использованием Microsot Visual C++ (2008, 2010, 2012, 2013) и MinGW-TDM (4.7.1, 4.8.1).Написано так, будто компилироваться оно закончит месяца через два.
Компилироваться без ошибок - возможно.
Никогда не доводилось собирать студией проект, написанный для GCC и vice versa?
Неужели там всё так плохо? Нет, ну я слышал про то, что Microsoft весьма вольно трактует стандарты C/C++, но какие там могут возникнуть проблемы с проектом, собирающимся в gcc вместе с -Wall, -Werror, -Wextra и -pedantic?
> Неужели там всё так плохо? Нет, ну я слышал про то, что
> Microsoft весьма вольно трактует стандарты C/C++, но какие там могут возникнуть
> проблемы с проектом, собирающимся в gcc вместе с -Wall, -Werror, -Wextra
> и -pedantic?если это C89 или «новый» C++ без того, что не поддерживает m$vc — то очень мало проблем, на самом деле. но только такой проект оказывается близок к бесполезному: в нём даже упаковать структуру проблематично.
а ещё, например, gcc и m$vc по разному выравнивают упакованые структуры (для чего в gcc даже ввели атрибуты gcc_struct и ms_struct). а ещё fastcall, например. и много других нюансов.
> а ещё, например, gcc и m$vc по разному выравнивают упакованые структуры...только в 99% случаев это вообще програмера волновать не должно.
а на один процент забьём, угу. подумаешь, баги полезут. у нас же идеальный мир!
по-разному, ёптa
> по-разному, ёптaвиноват.
В коде, в котором плотно используются ifdef-разветвления для разных платформ, кроссплатформенная сборка просто не может не быть головной болью.
А где wayland?
Где-то под GTK+, из кода его при всем желании не видно.
>стабильной
>wxWidgetsАга...
Зря вы так. У меня сотрудники работают полный рабочий день в программах, написанных с GUI на wxWidgets. Никаких нареканий по стабильности. А говнокодить-то можно в чем угодно...
>>стабильной
>>wxWidgets
> Ага...Да нормальный, не пи...дите. Вон целый KiCad на нем написан. Были б там проблемы - народ давно бы уже взвыл и задолбал разработчиков оного.
К сожалению, wxQt так и не состоялся. И с переработкой wxAUI тоже срослось. Да много чего так и не сделали.
Жирновато с кутями оно получается.
Нативный вид wx-ных приложений в KDE важнее.
> Нативный вид wx-ных приложений в KDE важнее.Ну если у вас GTK не настроен выглялдеть нативно в кедах - у вас много чего будет выглядеть криво.
Зато какой бонус - любая wx-программа может иметь полностью нативный look and feel под основными DE без напрягов со стороны разработчика! Ну это чисто в теории - на практике, конечно, такого не дождёшься, да и интеграция в DE не ограничивается выбором библиотеки GUI.
А насчёт жирности - не думаю, что Qt+wx был бы СИЛЬНО жирнее, чем просто Qt. По объёму у меня весь wx2.8.12 (не включая GTK, конечно) занимает в почти два раза меньше, чем libQtGui.so+libQtCore.so версии 4.8.5. А вот по оперативке хз, что там вылилось бы - теоретически, основная обработка всего перекочевала бы в wx-вую часть, а на Qt осталась бы чисто отрисовка...
> Жирновато с кутями оно получается.жирноватый троллинг
> К сожалению, wxQt так и не состоялся.Прикрутить жирную и тормозную либу-прослойку к еще одной жирной и тормозной либе-прослойке - это был бы перебор.
>> К сожалению, wxQt так и не состоялся.
> Прикрутить жирную и тормозную либу-прослойку к еще одной жирной и тормозной либе-прослойке
> — это был бы перебор.появлению wxGTK это никак не помешало.
> появлению wxGTK это никак не помешало.GTK явно более легкая и резвая либа. Как минимум второй. В третьем правда это упущение стали наверстывать.
>GTK явно более легкая и резвая либа.Ты явно на ней не писал
> GTK явно более легкая и резвая либа.Иксперт, как я вижу. прикинул на пальцах, посоветовался со звёздами…
>Прикрутить жирную и тормозную либу-прослойку к еще одной жирной и тормозной либе-прослойке - это был бы перебор.от того что там бы к тебе не прикрутили твой троллинг тоньше не стал бы
10 лет назад на нем пробовал программить, было сильно бажно. интересно, какой софт ещё его использует?
> 10 лет назад на нем пробовал программить, было сильно бажно.Походу именно было. Вот так сходу: KiCad, Audacity, aMule, ...
>> 10 лет назад на нем пробовал программить, было сильно бажно.
> Походу именно было. Вот так сходу: KiCad, Audacity, aMule, ……
…
…
а всё, кончились.
Code::Blocks ещё.
перелез с 2.9.5 на 3 - попробывал откомпилировать свой проект: как небо и земля, - border и adj с strech фактором вылезли на виджетах,,,,,,,,,,,,,,,
В 2008м выбирал графический тулкит среди: Qt, Gtk, Wx, FOX и Tk.
Wx запомнился как неудобно инсталяющийся и бажно работающий. Выбрал Gtk.Если сейчас всё стало лучше, то возможно пора переходить, ибо Gtk что-то говняется год из года. Я уже поглядываю на другие тулкиты.
Но есть еще один якорь - это gstreamer. Его сейчас гвоздями приколотили к gnome/gtk. И альтернативы ему в опенсорсе не видно.
> В 2008м выбирал графический тулкит среди: Qt, Gtk, Wx, FOX и Tk.А FLTK?
> А FLTK?Можт и пробовал, но конкретно её не помню.
> Но есть еще один якорь - это gstreamer. Его сейчас гвоздями приколотили
> к gnome/gtk. И альтернативы ему в опенсорсе не видно.ffmpeg.
>> Но есть еще один якорь - это gstreamer. Его сейчас гвоздями приколотили
>> к gnome/gtk. И альтернативы ему в опенсорсе не видно.
> ffmpeg.Пытался я, но мужики отсоветовали:
https://github.com/streamio/streamio-ffmpeg/issues/63
https://github.com/tja/ruby-ffmpeg/issues/14
https://github.com/gwik/ffmpeg-ruby/issues/4И это печально. Ибо я уже было вовсю лыжи навострил.
рубисты должны страдать.
нет вы
> нет выу нас всё работает. а рубисты — как обычно.