LXF90:wxWidgets
Human (обсуждение | вклад) (Новая: == wxWidgets 2.8 == ''Темная лошадка среди GUI-инструментариев, теперь еще и с визуальным конструктором интерфе...) |
Human (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | |||
== wxWidgets 2.8 == | == wxWidgets 2.8 == | ||
''Темная лошадка среди GUI-инструментариев, теперь еще и с визуальным конструктором интерфейсов.'' '''Пол Хадсон''' ''спихивает с экрана Qt с GTK и запускает Python...'' | ''Темная лошадка среди GUI-инструментариев, теперь еще и с визуальным конструктором интерфейсов.'' '''Пол Хадсон''' ''спихивает с экрана Qt с GTK и запускает Python...'' | ||
− | + | Час языка программирования Ruby пробил лишь с появлением среды разработки Rails. В случае с wxWidgets все наоборот: эта библиотека обрела популярность | |
лишь после создания wxPython. Пока KDE/Qt и Gnome/GTK пожинали лавры, wxWidgets потихоньку росли над собой, внедряя улучшение за улучшением. | лишь после создания wxPython. Пока KDE/Qt и Gnome/GTK пожинали лавры, wxWidgets потихоньку росли над собой, внедряя улучшение за улучшением. | ||
− | + | Как и Qt, wxWidgets – межплатформенный инструментарий для создания графических пользовательских интерфейсов, написанный на C++. Опять же, как и Qt, wxWidgets имеет массу дополнительных функций вроде поддержки потоков, доступа к базам данных и т.п. Но, в отличие от Qt, ядро wxWidgets – оно отвечает за рендеринг всего GUI – целиком полагается на ОС, воспроизводящую интерфейс, а значит, приложения wxWidgets будут почти неотличимы от «родных» [Qt и GTK+ эмулируют внешний вид и поведение интерфейсных элементов целевой платформы, делая это более или менее удачно, – прим. ред.]. Еще важнее то, что у wxWidgets более либеральная лицензия, чем у Qt – модифицированная LGPL, позволяющая создавать с помощью инстру- ментария приложения с закрытым исходным кодом, тогда как версия GPL для Qt требует непременного раскрытия кодов. | |
− | + | Все это немаловажно, но для нас главное – энтузиазм, с которым сообщество wxWidgets поддерживает программу, и с версией 2.8 этот энтузиазм не ослабел. Среди новинок – полностью переработанный элемент rich text с API в стиле стека, напоминающим HTML; инструмент выбора цвета (color picker), выводящий выбранный цвет на кнопку; и элемент «гипертекст», открывающий браузер пользователя при щелчке по гиперссылке. Такое мог бы запрограммировать для себя каждый, а wxWidgets взял да и ликвидировал лишнюю мороку. | |
− | + | Эти функции дополняются десятками других мощных инструментов, например, неизменно популярным менеджером «мышиных» жестов, что позволяет wxWidgets прочно удер- живать второе место по простоте использования среди GUI API после Gambas. Все новшества 2.8 работают надежно, но гвоздь программы – несомненно, wxAUI, что означает WX Advanced User Interface (Продвинутый интерфейс). Он призван устранить неразбериху, созданную wxIFM, wxDockIt и wxFrameLayout, пытающимися сделать одно и то же. Цель wxAUI – предоставить полную поддержку передвижения и размещения фреймов и панелей инструментов в пределах интерфейсов wxWidgets, а кроме того – упростить сохранение и загрузку «перспектив» (сохраненных раскладок). | |
=== Новаторский wxAUI === | === Новаторский wxAUI === | ||
− | + | Разработка сложных GUI с использованием фреймов традиционно была нелегкой задачей, поэтому wxAUI можно справедливо считать открытием. Но это не революция: Qt представлял (хоть и не такой крутой) QDockWidget еще в Qt 4.0, поэтому первенство не за wxWidgets. К тому же панелям инструментов wxAUI пока что нужна доводка: например, предстоит научить их рисовать «стрелочки», когда вся панель не умещается в окне. | |
− | + | Еще одна область, в которой WxWidgets еще только пробует силы – поддержка письма справа налево. Поддержку арабского в wxWidgets для Windows намеревались добiавить в рамках проекта Google Summer Of Code, но попытка провалилась. Разработчики wxWidgets подобрали обломки, и в новой версии впервые появилась поддержка арабского письма для пользователей GTK. | |
− | + | Несмотря на сложности интернационализации, wxWidgets продолжает славную традицию: предоставлять максимум функциональности при минимальных усилиях программиста. Пользуетесь ли вы оригинальным вариантом C++ или привязкой к одному из других языков высокого уровня – вы согласитесь, что эта версия определенно стоила ожидания, и несомненно обогатит ваши GUI новыми функциями. Избавиться бы только от поганого чувства, что она смахивает на MFC от | |
Microsoft... [http://www.linuxformat.ru LXF] | Microsoft... [http://www.linuxformat.ru LXF] |
Текущая версия на 00:16, 10 марта 2008
|
|
|
[править] wxWidgets 2.8
Темная лошадка среди GUI-инструментариев, теперь еще и с визуальным конструктором интерфейсов. Пол Хадсон спихивает с экрана Qt с GTK и запускает Python...
Час языка программирования Ruby пробил лишь с появлением среды разработки Rails. В случае с wxWidgets все наоборот: эта библиотека обрела популярность лишь после создания wxPython. Пока KDE/Qt и Gnome/GTK пожинали лавры, wxWidgets потихоньку росли над собой, внедряя улучшение за улучшением.
Как и Qt, wxWidgets – межплатформенный инструментарий для создания графических пользовательских интерфейсов, написанный на C++. Опять же, как и Qt, wxWidgets имеет массу дополнительных функций вроде поддержки потоков, доступа к базам данных и т.п. Но, в отличие от Qt, ядро wxWidgets – оно отвечает за рендеринг всего GUI – целиком полагается на ОС, воспроизводящую интерфейс, а значит, приложения wxWidgets будут почти неотличимы от «родных» [Qt и GTK+ эмулируют внешний вид и поведение интерфейсных элементов целевой платформы, делая это более или менее удачно, – прим. ред.]. Еще важнее то, что у wxWidgets более либеральная лицензия, чем у Qt – модифицированная LGPL, позволяющая создавать с помощью инстру- ментария приложения с закрытым исходным кодом, тогда как версия GPL для Qt требует непременного раскрытия кодов.
Все это немаловажно, но для нас главное – энтузиазм, с которым сообщество wxWidgets поддерживает программу, и с версией 2.8 этот энтузиазм не ослабел. Среди новинок – полностью переработанный элемент rich text с API в стиле стека, напоминающим HTML; инструмент выбора цвета (color picker), выводящий выбранный цвет на кнопку; и элемент «гипертекст», открывающий браузер пользователя при щелчке по гиперссылке. Такое мог бы запрограммировать для себя каждый, а wxWidgets взял да и ликвидировал лишнюю мороку.
Эти функции дополняются десятками других мощных инструментов, например, неизменно популярным менеджером «мышиных» жестов, что позволяет wxWidgets прочно удер- живать второе место по простоте использования среди GUI API после Gambas. Все новшества 2.8 работают надежно, но гвоздь программы – несомненно, wxAUI, что означает WX Advanced User Interface (Продвинутый интерфейс). Он призван устранить неразбериху, созданную wxIFM, wxDockIt и wxFrameLayout, пытающимися сделать одно и то же. Цель wxAUI – предоставить полную поддержку передвижения и размещения фреймов и панелей инструментов в пределах интерфейсов wxWidgets, а кроме того – упростить сохранение и загрузку «перспектив» (сохраненных раскладок).
[править] Новаторский wxAUI
Разработка сложных GUI с использованием фреймов традиционно была нелегкой задачей, поэтому wxAUI можно справедливо считать открытием. Но это не революция: Qt представлял (хоть и не такой крутой) QDockWidget еще в Qt 4.0, поэтому первенство не за wxWidgets. К тому же панелям инструментов wxAUI пока что нужна доводка: например, предстоит научить их рисовать «стрелочки», когда вся панель не умещается в окне.
Еще одна область, в которой WxWidgets еще только пробует силы – поддержка письма справа налево. Поддержку арабского в wxWidgets для Windows намеревались добiавить в рамках проекта Google Summer Of Code, но попытка провалилась. Разработчики wxWidgets подобрали обломки, и в новой версии впервые появилась поддержка арабского письма для пользователей GTK.
Несмотря на сложности интернационализации, wxWidgets продолжает славную традицию: предоставлять максимум функциональности при минимальных усилиях программиста. Пользуетесь ли вы оригинальным вариантом C++ или привязкой к одному из других языков высокого уровня – вы согласитесь, что эта версия определенно стоила ожидания, и несомненно обогатит ваши GUI новыми функциями. Избавиться бы только от поганого чувства, что она смахивает на MFC от Microsoft... LXF