wxWidgets (раніше відома як wxWindows) — це багатоплатформна бібліотека віджетів. wxWidget дозволяє коду для побудови графічного користувацького інтерфейсу компілюватись і працювати на різних апаратних і програмних платформах з мінімальними змінами, або взагалі без них. Надаються прив'язки (біндінги) для популярних мов програмування, в тому числі для PHP, Python, Perl і Ruby. На відміну від інших тулкітів, wxWidgets забезпечує для програми по-справжньому рідний для цільової системи зовнішній вигляд і методи взаємодії, завдяки використанню системних API, а не імітації GUI.
Тип | Бібліотека для розробки |
---|---|
Автор | Julian A.C. Smartd |
Розробники | wxWidgets Developers and Contributers |
Стабільний випуск | 3.2.1 (9 червня 2022 ) |
Нестабільний випуск | 3.1.1 (19 лютого 2018 ) |
Операційна система | Багатоплатформна |
Мова програмування | C++ |
Ліцензія | Ліцензія wxWidgets (сумісна з GPL) |
Репозиторій | github.com/wxWidgets/wxWidgets |
Вебсайт | www.wxwidgets.org |
wxWidgets у Вікісховищі |
Підтримує такі операційні системи, як Microsoft Windows, Mac OS, Linux/Unix (X11, Motif та GTK+), OpenVMS, OS/2, AmigaOS та мобільних платформ. Версія для вбудованих систем перебуває у стадії розробки.
Тулкіт написаний на мові С++ і розповсюджується під вільною ліцензією wxWindows Library Licence, схваленою Фондом ВПЗ та організацією OSI. Ліцензія заснована на LGPL і відрізняється дозволом використання власних умов для поширення похідних робіт в бінарній формі.
Історія Редагувати
Робота над проєктом розпочалася у 1992 Юліаном Смартом (Julian Smart) в Університеті міста Единбурґ, який досі залишається головним розробником.
20 лютого 2004 року розробники wxWindows повідомили про те, що проєкт змінює назву на wxWidgets через вимогу корпорації Microsoft, яка побачила у старій назві порушення її права на торгову марку Windows. За зміну імені розробники wxWidgets та інших зв'язаних проєктів отримали грошову компенсацію.
Використання Редагувати
wxWidgets дозволяє компілювати програми на безлічі комп'ютерних платформ з мінімальними змінами у джерельному коді, або взагалі без них. Вона підтримує системи Microsoft Windows, Apple Macintosh, UNIX-подібні (для X11, Motif та GTK+), OpenVMS і OS/2. Вбудовувана версія знаходиться в розробці.
Бібліотека розроблена на C++, але може підключатися до безлічі інших розповсюджених мов, таких, як Python (wxPython), Smalltalk (wxSqueak), Perl та Java. Для ознайомлення з повним списком, з посиланнями на відповідні проєкти, дивіться додаткову документацію наприкінці статті.
Бібліотека не імітує вид компонентів, використовуючи графічні примітиви різних підтримуваних платформ. Замість цього wxWidgets надає тонку абстракцію до існуючих компонентів системи. Іншими словами, основний код wxWidgets воліє викликати «рідний» елемент інтерфейсу платформи, замість того, щоб повторно його реалізовувати. Це надає швидкий, природного вигляду інтерфейс у порівнянні з бібліотеками на кшталт Swing (для Java).
wxWidgets розроблена не тільки для того, щоб створювати GUI. Вона також має систему обміну даних між процесами, мережеву бібліотеку, і множину класів для роботи зі всім підряд.
Деякі приклади застосувань, побудованих з використанням бібліотеки WxWidgets: Code::Blocks (IDE), CodeLite (IDE), audacity, BitWise IM, Kirix Strata і багато інших.
Див. також Редагувати
- Qt
- GTK+
- Tk
- FLTK
- XForms toolkit
- FOX toolkit
Примітки Редагувати
- http://www.wxwidgets.org/about/newlicen.htm [ 2 липня 2010 у Wayback Machine.] (англ.) - Роз'яснення ліцензії
- wxEmbedded: wxWidgets for embedded applications. Sourceforge.net. Архів оригіналу за 2 липня 2013. Процитовано 23 квітня 2007.
- Smart, Julian; Robin Dunn (August 2004). Name change. Sourceforge.net. Архів оригіналу за 2 липня 2013. Процитовано 23 квітня 2007.
Посилання Редагувати
- Офіційний сайт [ 24 жовтня 2017 у Wayback Machine.] (документація) [ 17 грудня 2009 у Wayback Machine.]
- Проєкти підтримки мов програмування:
- wxBasic [ 14 жовтня 2007 у Wayback Machine.] — для Бейсік
- wxPerl [ 1 квітня 2021 у Wayback Machine.] — для Перл
- wxPython [ 9 червня 2021 у Wayback Machine.] — для Python
- wxRuby — для Рубі
- — для Smalltalk
- wxLua [ 3 грудня 2007 у Wayback Machine.] — для Lua
- wx4j [ 15 грудня 2007 у Wayback Machine.] — для Java
- wxJS [ 6 лютого 2006 у Wayback Machine.] — для JavaScript
- wxHaskell [ 1 квітня 2021 у Wayback Machine.] — для Haskell
- wxEiffel [ 19 березня 2008 у Wayback Machine.] — для Eiffel
- — для D
- — для C#/.NET
- — для Erlang
- wxGlade — графічний редактор форм для wxWidgets.
- wxDev-C++ [ 29 серпня 2008 у Wayback Machine.] — Dev-C++ IDE з редактором форм для wxWidgets
- visualwx [ 27 жовтня 2007 у Wayback Machine.] Ще один редактор форм і генератор коду для wxWidgets]
Довідкова документація Редагувати
- Все про крос-платформне програмування з wxWidgets [ 3 травня 2022 у Wayback Machine.] (рос.) — Тематичний сайт про крос-платформну розробку програмного забезпечення з використанням бібліотеки wxWidgets. Статті, керівництво, відео-уроки, додаткові компоненти і бібліотеки.
- wxWidgets на RealCoding [ 12 грудня 2007 у Wayback Machine.] (рос.) — Серія статей по WxWidgets.
- Cross-Platform GUI Programming with wxWidgets [ 14 червня 2019 у Wayback Machine.] — перша опублікована книга, що описує роботу з wxWidgets.
- Drawing and Printing in C++ with wxWidgets [ 13 серпня 2007 у Wayback Machine.] — стаття описує ідею контексту пристрою, роз'яснює концепцію області малювання на зразок вікна або друкованої сторінки. Вона обговорює доступні класи контекстів пристроїв і набір «інструментів малювання», які wxWidgets надає для роботи з шрифтами, кольорами, малюванням примітивів, і зафарбовування областей.
- Створення крос-платформних GUI-застосувань з використанням wxWidgets [ 29 січня 2008 у Wayback Machine.] (рос.) — основи створення GUI-застосувань на базі wxWidgets.
- Використання wxWidgets [ 20 січня 2009 у Wayback Machine.] (рос.) — Блог, присвячений програмуванню з використанням wxWidgets