Статьи

Интервью — Андрей Змиевский из PHP-GTK

Андрей Змиевский — человек многих талантов. Хотя он наиболее известен своим вкладом в проекты PHP-GTK и Smarty Template Engine , его интересы простираются так далеко, как история и лингвистика. Сообществу PHP повезло, что он так долго держал его внимание!

В этом эксклюзивном интервью Андрей рассказывает нам, что привлекло его в PHP и какие у него планы на будущее.

истоки

SP: Во-первых, можете ли вы рассказать нам немного о своем прошлом? Что изначально привело вас в разработку программного обеспечения?

АЗ .: Я родом из Узбекистана, живу в США последние 10 лет. Я начал программировать, когда мне было 9 или 10 лет, сначала на программируемых калькуляторах, а затем на больших и лучших машинах. Я должен поверить своим родителям в том, что они признают и поддерживают мои интересы в этой области, покупая мне книги, журналы и даже компьютеры.

SP: Когда вы впервые познакомились с PHP, и что вас «зацепило»?

AZ: PHP впервые появился у меня на горизонте в 1997 году. На работе мы купили пакет Apache StrongHold, и он шел с PHP 2 и некоторой документацией для него. Первоначально это казалось простым курьезом, потому что все наши системы были написаны на другом, проприетарном стороннем языке. Но в начале 1998 года мы начали переключать все наши продукты на PHP, потому что он оказался более знакомым людям с опытом работы в C и Perl, более гибким, с довольно хорошей поддержкой со стороны сообщества, но, что наиболее важно, он был свободен от затраты на лицензирование. Лично мне понравилось, что он поставляется с довольно хорошим и простым в использовании API. Эти причины остаются сильными сторонами PHP и по сей день.

На PHP

SP: Вы все еще активно участвуете в проекте PHP?

АЗ .: Да, хотя я недавно взял перерыв. Спустя 3 года мне нужно было немного отдохнуть от множества сообщений в списке рассылки, ошибок и других подобных вещей. Я до сих пор не подписан на списки, а отслеживаю их через веб-интерфейс. Для меня это немного переходный период, но я ожидаю, что вернусь в седло к концу лета.

SP: Как вы оцениваете недавние изменения в PHP, такие как отключение register_globals в 4.2.0 и новые предопределенные переменные в 4.1.0?

АЗ .: Я думаю, что это шаг в правильном направлении. Эти изменения делают PHP более последовательным и безопасным одновременно.

SP: Как вы думаете, PHP достиг зрелости? Какие еще большие улучшения безопасности вы видите в будущем?

АЗ .: Как определить зрелость в этой области? Это количество программ, написанных на языке? Количество библиотек, доступных для этого? Количество документации и учебных пособий у него есть? Если это так, то PHP легко проходит отметку.

Что касается безопасности, самым важным было бы перестроить безопасный режим в качестве основного механизма песочницы.

SP: Где PHP стоит в свете Microsoft .NET?

АЗ .: .NET — довольно интересная технология, и мне особенно нравится ее библиотека классов. Однако я не вижу, какие экстраординарные преимущества он может предложить PHP. С одной стороны, .NET пока не очень хорошо работает со слабо типизированными языками. И затем возникает вопрос обо всех этих расширениях, на которые опирается PHP. Чтобы PHP был полноценным языком .NET, потребовалось бы немало затрат времени и усилий при минимальной потенциальной отдаче.

Тем не менее, уже имеется расширение dotnet, которое позволяет создавать экземпляры .NET-объектов и вызывать методы для них (пока только на платформах Win32).

На смарты

SP: Что касается Smarty и общего отделения логики кодирования от контента, считаете ли вы, что в PHP есть решения, которые удовлетворяют как программистов PHP, так и веб-дизайнеров?

АЗ .: Да.

SP: Что еще хотелось бы, или вы планируете делать со Smarty?

АЗ .: Сделайте его более модульным, более легким, чтобы на каждом этапе загружались только необходимые детали. Также я хотел бы переработать API и язык, чтобы они были более согласованными и простыми в использовании, но мы должны помнить о обратной совместимости. Конечно, документация может быть улучшена, но я чувствую, что эту задачу лучше оставить сообществу пользователей Smarty.

SP: Одним из недостатков PHP является огромное количество различных подходов к программированию, каждый из которых поддерживается собственным проектом с открытым исходным кодом (например, Smarty против FastTemplate, если вы извините за сравнение). Считаете ли вы, что библиотека Pear готова предоставить стандартную среду приложений для PHP? Есть ли альтернативный проект, который, по вашему мнению, должен быть одобрен группой PHP?

АЗ .: Прежде всего, PHP группа не занимается одобрением проектов или продуктов.

Во-вторых, PEAR добилась больших успехов за последние несколько месяцев, и с выпуском 4.3.0 PHP, наконец, станет возможным прозрачно загружать и устанавливать любые библиотеки, которые вы пожелаете. Но PEAR — это не платформа приложений, а набор компонентов, некоторые из которых служат одной и той же цели, которые могут помочь вам быстро разрабатывать приложения.

В-третьих, «огромное количество разных подходов», по-видимому, является неотъемлемым свойством разработки с открытым исходным кодом, и не обязательно вредным.

SP: Помимо тех, в которых вы участвовали, какие проекты с открытым исходным кодом, написанные на PHP, больше всего вас впечатлили?

AZ: Gallery — программное обеспечение онлайн-фотоальбома. Swwwing — инструмент для групповой работы, созданный компанией в Дании. JPGraph — библиотека для рисования графиков . И тогда есть веб-сервер, написанный на PHP

Андрей и PHP-GTK

SP: Как вы стали основным разработчиком PHP-GTK? Каково было работать над этим проектом и сколько времени это заняло?

АЗ .: Полагаю, я был единственным, кто достаточно сумасшедший, чтобы работать над этим. Я начал писать первоначальный код в сентябре 2000 года, а первый выпуск был сделан 1 марта 2001 года. Работать над ним было очень весело — выяснить, может ли PHP обрабатывать привязки к такому инструментарию, а также обнаруживать и исправлять некоторые недостатки в PHP. способ. Я твердо верю, что PHP — лучший проект благодаря PHP-GTK.

SP: PHP-GTK позволяет разработчикам писать кроссплатформенные оконные приложения для пользователей, которые будут работать прямо на их рабочих столах. Что может сделать PHP-GTK для разработчиков, имеющих опыт создания веб-сайтов на PHP?

АЗ .: Главное, что он им дает, это еще один способ управления бэкэнд-системой, не обремененный интерфейсными ограничениями, налагаемыми HTML и браузером. Такие функции, как перетаскивание, сетки, древовидные представления и т. Д., Гораздо более эффективны, чем их аналоги в браузере, и могут способствовать повышению производительности.

SP: Как PHP-GTK выравнивает игровое поле с Perl, C, Tk и т. Д.?

АЗ .: Я получил электронное письмо от людей, которые говорят, что они действительно рады, что нашли PHP-GTK, потому что теперь они могут использовать свой любимый язык для создания решений на стороне клиента, и что в противном случае им пришлось бы прибегнуть к Java или чему-то еще. аналогичный. Для меня это означает, что PHP-GTK заполняет столь необходимую нишу.

SP: Как бы вы описали текущее состояние проекта PHP-GTK? Что бы вы хотели видеть добавленным?

АЗ .: В настоящее время мало что делается, в основном это исправления ошибок. Я жду, пока мое расписание немного прояснится, чтобы я мог начать с PHP-GTK 2, который будет поддерживать Gtk + 2, и полагаться на новую версию Zend Engine, которая исправляет множество неприятностей.

Но документация все еще находится в стадии разработки. Около половины классов документированы, и это немного медленно, вероятно, потому что правильное написание документации требует понимания PHP, C и Gtk +. Надеюсь, будет больше людей, заинтересованных в помощи в написании документов.

SP: Видите ли вы общий язык между PHP-GTK и клиентской средой .NET? Вы предвидите, что PHP-GTK станет клиентской частью будущего языка PHP.NET?

АЗ .: Нет, .NET уже включает свой собственный интерфейс с системами графического интерфейса, называемый WinForms. В Windows WinForms использует GDI и другие библиотеки, а в Linux уже использует Gtk + (в проекте Mono ).

SP: Есть ли у многих тысяч опытных веб-разработчиков на PHP, есть ли планы побудить их использовать PHP-GTK? И увидим ли мы в ближайшее время соревнование PHP-GTK или Coding Contest (похожее на это для PHP)?

АЗ .: Я бы хотел, чтобы больше людей узнали о PHP-GTK и начали его использовать, но я всего лишь один человек, и я бы скорее посвятил свое свободное время техническому совершенствованию PHP-GTK. Кроме того, я не очень хороший маркетолог.

Проекты с открытым исходным кодом имеют самоорганизующиеся сообщества, и, надеюсь, то же самое происходит и с этим. Если у вас есть идеи о том, как побудить разработчиков использовать PHP-GTK, пусть их услышат в списке рассылки php-gtk-general.

Конкурс кодирования? Во всех смыслах!

SP: Вы также разработали расширение WDDX для PHP. Есть ли общая тема между этим и PHP-GTK? Планируется ли стандартный интерфейс между приложениями PHP-GTK и веб-сайтами с поддержкой PHP?

АЗ .: Нет, расширения на самом деле не имеют много общего, но я думаю, WDDX мог бы использоваться в качестве протокола обмена данными между клиентской программой PHP-GTK и ее аналогом на стороне сервера. Я бы предпочел не привязывать PHP-GTK к какому-либо конкретному интерфейсу. Разработчики уже знают о необходимости чего-то подобного (не только для PHP-GTK). SRM и расширение сокетов, вероятно, частично из-за этой необходимости.

SP: Как вы использовали PHP-GTK самостоятельно?

АЗ .: Вы имеете в виду, кроме как говорить об этом на конференциях? О, я сделал небольшое приложение, которое управляет моим дневником на advogato.org . Вот и все.

SP: Если один из участников SitePoint разработал «убийственное приложение», сможет ли PHP-GTK разместить его на каждом рабочем столе?

АЗ .: Не буквально, что является одним из недостатков. В настоящее время нет простого способа распространения приложений — для приложений PHP-GTK нет ничего проще, чем запустить setup.exe или установить пакет RPM. Хотя я думаю, что Саймон Уилер проделал интересную работу в этой области.

Кроме того, я думаю, что PHP-GTK может предоставить хорошую платформу для вашего «убийственного приложения», особенно с учетом следующей версии, которую я имею в виду.

Планы Андрея

SP: На вашем сайте http://gravitonic.com/ вы цитируете Джона Берроуза:

«Я все еще нахожу каждый день слишком коротким для всех мыслей, о которых я хочу думать, всех прогулок, которые я хочу совершить, всех книг, которые я хочу прочитать, и всех друзей, которых я хочу увидеть».

Со всем, чем вы занимаетесь, возникает вопрос: как вы находите время?

АЗ .: В последнее время с некоторыми трудностями. Обычно я стараюсь составить расписание на неделю, выделяя время для упражнений, программирования, чтения, веселья, работы по дому и прочего разного. Но по натуре я очень любопытный человек, и мне часто приходится интересоваться и работать над несколькими вещами одновременно, хотя бывают моменты, когда я нахожусь так далеко «в зоне», что я едва замечаю течение времени. Отсюда и цитата.

SP: Вы директор по исследованиям и разработкам в ispi, поставщике сервисов приложений для публикации новостей (ASP). Несколько лет назад ASP были провозглашены преемниками ISP. Как вы думаете, насколько это стало реальностью, и что вы видите в будущем для ASP?

АЗ .: Интернет-провайдерам ничего не угрожает. Многие люди просто хотят подключения. ASP могут отвлекать бизнес-клиентов от интернет-провайдеров, но это беспроигрышная ситуация: предприятия получают более качественные услуги с ASP, и интернет-провайдеры могут сосредоточиться на том, что у них получается лучше всего.

Будущее за ASP? Вертикальные рынки и ориентация на местные (городские или районные) сообщества.

SP: В целом, что вы видите в Интернете, как с точки зрения технологий, так и с точки зрения использования бизнеса и частных лиц?

АЗ .: Если бы я знал ответ на этот вопрос, я бы зашел на свой брокерский счет и занялся бы какой-нибудь торговлей, если вы понимаете, о чем я. А если серьезно, я просто хотел бы процитировать Алана Кея: «Лучший способ предсказать будущее — это придумать его».

С.П .: В Зале славы Зендов вы цитируете слова:

«Я впечатлен тем, что может сделать mod_perl, и я бы хотел, чтобы PHP перепрыгивал через такой же цикл, чтобы можно было писать любые обработчики Apache в прямом PHP-коде»,

Мы можем увидеть это? Что это позволит разработчикам делать с PHP?

АЗ .: Я еще не слышал, чтобы кто-то работал над этим, но я думаю, что это будет очень интересный проект. Особенно с появлением Apache 2. В основном вы сможете писать модули Apache на PHP: переписывать URI, выполнять аутентификацию на основе любой схемы, поддерживаемой PHP, фильтровать ввод и вывод веб-сервера, манипулировать заголовками, внедрять новые протоколы и так далее.

SP: Что ждет вас в будущем? Над чем вы работаете сейчас?

АЗ .: Я немного больше учусь: C #, Scheme, технология компиляции, обработка речи и языка, теории инвестиций и рынков, история западной культуры. Мой список книг для чтения равен моей руке. И некоторое время раньше, чем позже, я бы хотел вернуться в школу и получить степень магистра лингвистики. И выиграть в лотерею.

Я хотел бы поблагодарить Андрея за то, что он нашел время ответить на вопросы сообщества SitePoint!