Сегодня уже никого не удивить инструментами для создания приложений с GUI-интерфейсом на скриптовых языках. PHP не исключение, и об этом были статьи, в частности, про PHP-GTK. Но не все знают, что кроме PHP-GTK существуют другие библиотеки, одна из которых – WinBinder.
Что это?
WinBinder – это библиотека для создания приложений с графическим интерфейсом на языке программирования PHP. Наверное, не стоит говорить о том, какое большое распространение получил этот язык в настоящее время. PHP является очень популярным языком сценариев, который используется главным образом для веб-разработок, но также набирает популярность как язык скриптов общего назначения. Надёжно укрепив свои позиции на серверах, теперь переходит в другие секторы, и десктопы не исключение. Об этом свидетельствует появление таких библиотек, как PHP-GTK, PHP-Qt и собственно WinBinder, о котором мы собрались поговорить.
Препарируем WinBinder
Давайте теперь детально рассмотрим, что из себя представляет фреймворк WinBinder. Это расширение для PHP с открытым исходным кодом. Оно позволяет PHP-программистам быстро и легко разрабатывать Windows-приложения. Среди основных особенностей WinBinder можно упомянуть непосредственное взаимодействие с программным интерфейсом операционной системы Microsoft Windows, небольшой размер конечных файлов приложений (при компиляции скриптов с помощью утилиты bamcompile), обширную базу всевозможных PHP-функций, возможность как объектноориентированного, так и процедурного программирования, а также удобство использования.
WinBinder состоит из DLL-библиотеки, которая фактически является PHP-расширением небольшого набора вспомогательных скриптов и файлов. На рис. 1 представлена схема работы приложения, написанного с использованием данного расширения.

Рисунок 1. Схема взаимодействия компонентов в приложении на WinBinder
Связь между компонентами в WinBinder реализована через механизм обратных вызовов. Windows-сообщения, генерируемые контроллерами и таймерами, транслируются в одиночные callback-события, которые можно легко перехватить в PHP-программе. Каждое сообщение имеет свой целочисленный идентификатор, по которому его можно идентифицировать.
Библиотека WinBinder фактически состоит из двух слоев, взаимодействующих между собой. Первый слой – это нижний уровень, называемый API-слоем. Данный слой напрямую связан с Windows API и предоставляет единый интерфейс для более высокоуровневого слоя – слоя PHP. Хотя функции на нижнем уровне представляют из себя обертки для Windows API вызовов, большинство из них являются больше чем просто обертки вокруг API. Они инкапсулируют работу Windows-функций и упрощают доступ к ним.
Полный текст статьи можно прочитать в журнале или скачать в PDF формате.
Комментариев нет:
Отправить комментарий