WxWidgets

wxWidgets
Тип Бібліотека для розробки
Автор Julian A.C. Smartd
Розробники wxWidgets Developers and Contributers
Стабільний випуск 3.2.1 (9 червня 2022; тому (2022-Помилка: неправильний час-09))
Нестабільний випуск 3.1.1 (19 лютого 2018; 6 років тому (2018-02-19))
Операційна система Багатоплатформна
Мова програмування C++
Ліцензія Ліцензія wxWidgets (сумісна з GPL[1])
Репозиторій github.com/wxWidgets/wxWidgets
Вебсайт www.wxwidgets.org

wxWidgets (раніше відома як wxWindows) — це багатоплатформна бібліотека віджетів. wxWidget дозволяє коду для побудови графічного користувацького інтерфейсу компілюватись і працювати на різних апаратних і програмних платформах з мінімальними змінами, або взагалі без них. Надаються прив'язки (біндінги) для популярних мов програмування, в тому числі для PHP, Python, Perl і Ruby. На відміну від інших тулкітів, wxWidgets забезпечує для програми по-справжньому рідний для цільової системи зовнішній вигляд і методи взаємодії, завдяки використанню системних API, а не імітації GUI.

Підтримує такі операційні системи, як Microsoft Windows, Mac OS, Linux/Unix (X11, Motif та GTK+), OpenVMS, OS/2, AmigaOS та мобільних платформ. Версія для вбудованих систем перебуває у стадії розробки.[2]

Тулкіт написаний на мові С++ і розповсюджується під вільною ліцензією wxWindows Library Licence, схваленою Фондом ВПЗ та організацією OSI. Ліцензія заснована на LGPL і відрізняється дозволом використання власних умов для поширення похідних робіт в бінарній формі.

Історія

Робота над проєктом розпочалася у 1992 Юліаном Смартом (Julian Smart) в Університеті міста Единбурґ, який досі залишається головним розробником.

20 лютого 2004 року розробники wxWindows повідомили про те, що проєкт змінює назву на wxWidgets через вимогу корпорації Microsoft, яка побачила у старій назві порушення її права на торгову марку Windows[3]. За зміну імені розробники 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 і багато інших.

Див. також

Примітки

  1. http://www.wxwidgets.org/about/newlicen.htm [Архівовано 2 липня 2010 у Wayback Machine.] (англ.) - Роз'яснення ліцензії
  2. wxEmbedded: wxWidgets for embedded applications. Sourceforge.net. Архів оригіналу за 2 липня 2013. Процитовано 23 квітня 2007.
  3. Smart, Julian; Robin Dunn (August 2004). Name change. Sourceforge.net. Архів оригіналу за 2 липня 2013. Процитовано 23 квітня 2007.

Посилання

  • Офіційний сайт [Архівовано 24 жовтня 2017 у Wayback Machine.] (документація) [Архівовано 17 грудня 2009 у Wayback Machine.]
  • Повідомлення про зміну імені
  • Неофіційний форум
  • Проєкти підтримки мов програмування:
  • 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
  • п
  • о
  • р
Список бібліотек віджетів[en]
Низькорівневі
Високорівневі
  • Athena (Xaw)
  • InterViews
  • LessTif
  • Motif
  • OPEN LOOK
  • BOOPSI
  • MUI
  • ReAction GUI
  • Zune
  • Carbon
  • Cocoa
  • MacApp
  • MacZoop
  • PowerPlant
Кросплатформні
CLI
C
Десктоп
Web
  • CAPI
  • Common Graphics
  • CLIM
  • Ltk
  • McCLIM
  • LCL
  • CLX
  • fpGUI
  • IP Pascal
  • LCL
  • PHP-GTK
  • PHP-Qt
  • WxPHP
  • Shoes
  • QtRuby
  • Ample SDK
  • CougarXML
  • GladeXML
  • Lively Kernel
  • Pyjamas
  • Rialto Toolkit
  • XAML
  • XUI
  • XUL
  • Wt