WinBinder: новый взгляд на PHP

Возможностью компилияции PHP-скриптов в standalone-приложения в настоящее время никого не удивишь. Для этой цели существует множество программ, однако они позволяют превратить PHP-сценарий лишь в консольное приложение. GUI-интерфейс для PHP-скриптов можно создать с помощью PHP-GTK, но лично мне больше по душе WinBinder. Разница в визуальном представлении приложений, разработанных с помощью этих двух расширений для PHP, очевидна. Программы с GTK-интерфейсом в Windows выглядят очень некрасиво, ввиду кросплатформенного стандарта, в то время как приложения, созданные с помощью WinBinder, ничем не отличаются от обычных виндовых аналогов, так как имеют стандратные кнопки, прогресс бары, табы и т.д. С точки зрения организации доступа к возможностям PHP-GTK и WinBinder, также можно обнаружить серьезные различия. PHP-GTK предоставляет объектно-ориентированный интерфейс к огромному количеству классов и функций GTK+. Что касается WinBinder, для написания простейшего Hello World необходимо знать всего несколько основных функций.

Скрипты, использующие функции WinBinder’а, отлично компилируются с помощью утилиты bamcompile. Связка WinBinder+bamcompile расширяет возможности PHP настолько, что это трудно себе представить. Между прочим, моя программа PHP Bug Scanner написана на PHP и имеет GUI-интерфейс благодаря WinBinder.

К сожалению, проект заморожен и не обновляется с 2006 года, в то время как PHP-GTK активно развивается и пару месяцев назад свет увидела вторая версия этого PHP-расширения. Но не все так плохо для WinBinder: несмотря на то, что проект даже не поднялся до версии 1.0, его возможностей будет достаточно для создания более-менее сложных приложений, а недавно выложенные на официальном сайте библиотеки предоставляют возможность использования PHP 5.2.0. Более того, сообщество программистов постоянно расширяет границы возможностей WinBinder, так как они в полной мере до сих пор неизведаны. Чего только стоит поддержка WinAPI, а также возможность чтения/записи памяти по произвольным адресам с помощью функций wb_peek() и wb_poke(). Например, таким образом был найден способ взаимодействия с буфером обмена. Совсем недавно была выпущена IDE (miniPHP Studio), которая объединяет в себе WinBinder, компилятор, дебаггер и многое другое для удобного создания Win32-приложений на PHP. Несмотря на большие размеры откомпилированных программ (порядка ~650 кб, учитывая сжатие UPX’ом), я считаю, что приложения на PHP – это не извращение! Если вы уже знакомы с этим языком, то через пару часов вы сможете увидеть свой скрипт в окошке. Освоив документацию WinBinder и получив достаточное количество практики, я уверен, вы поймете, что еще более простого прикладного кодинга под Windows не существует!

Также рекомендую почитать статью “Создание EXE приложений на PHP”


1 comment:

  1.  

    […] мне пришла в голову после работы с WinBinder, о котором я писал не так давно. С точки зрения безопасности админка, релизованная в […]

     

Write a comment: