BÃ ¥ rd Farstad — ведущий разработчик систем eZ , компании, которая занимается публикацией eZ . Как разработчик PHP из C ++, он в значительной степени сделал все, что нужно сделать с PHP . Для этого 25-летнего программиста из Скиена, Норвегия, координация международной команды разработчиков и превращение проекта с открытым исходным кодом в коммерческий успех на уровне предприятия — всего лишь вопрос корректировки его шага. Помимо компьютерной клавиатуры он также мастер гитарного лада. Спросите его, и он отправит вам последний сингл своей группы на mp3 …
Следующий Серия публикаций SiteZ eZ , я связался с Børd, чтобы узнать больше о жизни в системах eZ, его планах публикации eZ и его взглядах на разработку онлайн с помощью PHP.
BÃ ¥ rd и eZ системы
SP: Можете рассказать немного о себе? Что сначала привело вас в разработку программного обеспечения и каково ваше программирование? Что привело вас в разработку веб-приложений?
Впервые я начал заниматься программированием, когда мне было около 15 лет. В то время была активная демо-сцена, в которой я был активным участником. Демо-сцена о программировании графических демонстраций с музыкой, во многом как видео MTV. Язык программирования, который мы использовали, был Pascal с встроенным ассемблером. Через некоторое время, когда компиляторы стали лучше оптимизировать код, я начал использовать C ++ и стал частью группы под названием Sorrox. В то же время я изучал электронику, которая позже перешла в компьютерную технику, которую я окончил в мае 2000 года.
Во время учебы я заинтересовался Linux. В то время в Норвегии было не так много Linux-компаний, поэтому мы с братом, двумя друзьями решили основать компанию: eZ systems. Мы начинали как консалтинг с Linux и Open Source решениями. Позже мы расширились до разработки графических приложений с использованием C ++ и Qt . В 1999 году у нас был заказчик, который хотел, чтобы мы разработали решение для электронной коммерции, поэтому я начал писать интернет-магазин во время отпуска после учебы. Это стало отправной точкой для публикации на eZ, и в конце концов мы выпустили первую версию публикации на eZ в ноябре 2000 года под лицензией GPL.
SP: Когда вы впервые столкнулись с PHP и что заставило вас выбирать его среди других технологий, таких как ASP и JSP или даже Perl / CGI, для разработки публикации eZ?
Впервые я столкнулся с PHP, когда создавал сайт для группы пользователей Linux еще в 1998 году, когда учился. Было очень быстро разрабатывать приложения на PHP, и производительность тоже была хорошей. В то время, из упомянутых вами языков, единственной альтернативой, которая была сделана специально для поддержки динамических веб-сайтов, был ASP. Тот факт, что это был продукт Microsoft с закрытым исходным кодом, сделал мой выбор довольно простым.
SP: Вы когда-нибудь представляли себе, чем должна стать публикация eZ, и насколько успешной она будет?
Мы не знали, что публикация в eZ станет настолько популярной. Отзывы пользователей были ошеломляющими. Я бы никогда не догадался, что он станет таким популярным, особенно за такое короткое время.
SP: Что заставило вас принять решение о создании систем eZ? Какова была жизнь в eZ systems в первые дни?
Основная идея, когда мы запустили системы eZ, заключалась в том, что мы хотим, чтобы на работе было весело. Наша миссия была простой, развлекайся и старайся зарабатывать на жизнь. Поэтому, когда мы начинали, это было в основном для развлечения.
SP: Благодаря публикации eZ системы eZ, похоже, нашли идеальный рецепт как для открытого исходного кода, так и для коммерческого успеха. Считаете ли вы этот жесткий баланс баланс поддерживать? Есть ли какой-нибудь общий совет, который вы можете дать разработчикам и небольшим компаниям, рассматривающим подобную стратегию публикации своего программного обеспечения?
Это очень трудно сбалансировать. С одной стороны, вы хотите сделать лучшее программное обеспечение, какое только можете, а с другой — зарабатывать деньги. У меня действительно нет никаких советов, кроме как держаться подальше от венчурных капиталистов; они попытаются подтолкнуть вас к тому, чтобы вы заработали слишком много денег, слишком быстро — в этот момент дух Open Source умрет.
SP: Как ваши клиенты реагируют на то, что eZ publish является Open Source?
Очень позитивно! Многие клиенты требуют, чтобы их решения были с открытым исходным кодом, и, конечно, цена очень привлекательна. Недостатком является то, что некоторые клиенты ожидают, что все будет бесплатным, поскольку публикация в eZ бесплатна (GPL).
С.П .: Посмотрев на список партнеров eZ Systems , вы увидите внушительную коллекцию имен, в том числе Siemens и IBM. К чему вы относите этот успех?
Есть много компаний, работающих над веб-разработкой, и eZ publish — это хороший инструментарий, с помощью которого они могут создавать самые динамичные веб-сайты. Поэтому они хотят сотрудничать с нами, чтобы иметь возможность предоставлять решения на основе eZ publish. После краха доткомов клиенты не хотели платить слишком много за такие решения, поэтому компаниям, которые их поставляют, пришлось искать альтернативы. В результате все больше компаний выбирают eZ publish.
SP: Считаете ли вы, что труднее получить поддержку разработчиков Open Source, учитывая коммерческое «альтер эго» систем eZ? Какую форму вы хотели бы получить для публикации в eZ? Есть ли что-то, что вы запланировали или хотели бы увидеть, чтобы стимулировать дальнейшее участие в продукте сообщества Open Source?
Публикация eZ, возможно, не традиционная программа с открытым исходным кодом, так как она была написана исключительно системами eZ. Мы по-прежнему получаем много отзывов от пользователей; все от любителей до крупных компаний, таких как Siemens и IBM. У нас есть некоторые внешние разработчики, которые присылают нам свои вклады — как правило, eZ публикуют пользователей, которые исправили найденную ошибку. Одна из лучших сторон обратной связи с открытым исходным кодом — она помогает нам быстро выявлять ошибки.
Мы заканчиваем код для eZ publish 3 прямо сейчас, который будет гораздо более модульным и основанным на плагинах. Когда мы выпустим его, я надеюсь, что он побудит разработчиков писать плагины, которые мы можем сделать доступными на нашем веб-сайте, — который будет предлагать стороннюю загрузочную область, где пользователи могут загружать свои плагины для публикации в eZ. Сейчас мы работаем над нашим новым веб-сайтом, который будет запущен за некоторое время до окончательной публикации eZ 3, чтобы еще больше стимулировать участие сообщества.
SP: Кто работает в eZ Systems и чем они занимаются? Как бы вы описали ezSystems как рабочее место?
В настоящее время в системах eZ работают 20 человек. Команда состоит в основном из разработчиков со всего мира. У нас есть люди из Норвегии, Украины, Китая и Германии.
eZ systems — это, конечно, веселое место для работы, но в то же время это сложная задача. Наши сотрудники работают с людьми со всего мира, в различных проектах.
SP: Как норвежская компания, разрабатывающая веб-приложения на PHP, участвуете ли вы с другими норвежскими сторонами в той же сфере деятельности, такими как ребята из fast.no или Стиг Сатер Баккен , член группы PHP?
Мы не общались со Стигом, но Fast является клиентом систем eZ. Они создали свою интрасеть с помощью публикации eZ, а также работают над некоторыми другими проектами публикации eZ. У нас много контактов с различными компаниями в Норвегии и других странах — многие компании используют eZ publish для создания своих внутренних сетей. Мы часто вступаем в контакт с компаниями, потому что они настроили свою интрасеть с помощью eZ publish.
С.П .: Несмотря на крах доткомов, системы eZ, похоже, набирают силу. Каким вы видите будущее систем eZ как бизнеса, и как вы относитесь к Интернету в наши дни с точки зрения того, как он предоставляет возможности таким компаниям, как системы eZ?
Будущее полно возможностей, и у нас много планов. Наша первая и ближайшая цель — выпустить eZ publish 3, что значительно улучшит текущее приложение. В этом выпуске корпоративные сайты, которым требуются такие функции, как управление версиями и рабочие процессы с find eZ publish, имеют то, что им нужно.
SP: Как вы предпочитаете работать при разработке? Долгие часы, разбитые на длинные перерывы, постоянный ежедневный прогресс или что-то еще? Можете ли вы дать какие-либо советы разработчикам PHP с таким ощущением, что «24 часа в сутки просто недостаточно»?
Я предпочитаю интенсивно работать, и когда работа интересная, я не считаю ее работой. В то же время важно делать перерывы и заниматься физическими упражнениями. Последние три года я думаю, что у меня был отпуск около двух недель, поэтому, очевидно, у меня та же проблема, что и у других разработчиков со временем. Лучшее, что можно сделать, чтобы помочь себе — это создать команду разработчиков; Вы не можете делать все в одиночку.
SP: Какие ваши любимые инструменты разработки (например, текстовые редакторы, управление проектами, поддержка исходного кода)? Какую операционную систему вы используете чаще всего и почему?
Мой редактор — emacs , который, конечно же, также используется для управления проектами. Для кода мы теперь используем SVN, Subversion . В основном мы используем Linux, потому что в нем есть все, что нам нужно, и именно с этого мы и начали.
SP: Когда ты не на работе, как ты любишь проводить время?
Мне нравится проводить время с моими друзьями. Я также играю на гитаре в группе — мы записали компакт-диск один раз (чтобы люди, которым нужны mp3, могли прислать мне письмо). Большую часть времени я провожу с моей девушкой Рикке. Но по выходным я не говорю «нет» на вечеринке.
eZ Publish
SP: Хотя публикация eZ описывается в литературе по продукту как система управления контентом, как вы предпочитаете думать об этом; как CMS или платформа разработки приложений?
Мне нравится думать об этом как о наборе инструментов. Помимо изменений в дизайне, вам обычно нужно поработать с ним перед запуском сайта, например, создать собственные модули. С eZ publish 3 мы сделали это намного более понятным; у нас есть библиотека кода общих классов PHP, таких как синтаксический анализатор XML, движок шаблонов и библиотека SOAP. У нас также есть ядро, которое обеспечивает основные функции для вашего сайта, включая публикацию, управление версиями, обработку изображений и рабочие процессы. Но основная идея eZ publish — отделить контент от дизайна, поэтому в этом отношении это также система управления контентом.
SP: Учитывая, что разработка веб-приложений все еще довольно молодая дисциплина, какие факторы повлияли на вас, когда вы разрабатывали ezPublish? Существовали ли какие-либо приложения или методологии проектирования, которые вдохновляли вас?
Вся наша разработка начинается с написания спецификации требований, где мы решаем, что должно делать приложение. Мы, конечно, вдохновились многими другими программами, но не пытайтесь копировать какие-либо функции. С eZ publish 3 мы потратили большую часть времени на разработку дизайна, чтобы создать максимально гибкую систему в течение того времени, которое у нас было. Мы используем шаблоны проектирования при разработке приложений.
С.П .: Одна из самых больших проблем, с которыми сталкивается eZ publish, это то, что ее сложно установить. Это то, что вы думаете, может быть улучшено в будущем, или это проблема, присущая большим, сложным приложениям, подобным этому?
Это, безусловно, будет улучшено в публикации eZ 3. Проблемы чаще всего возникали, когда люди хотят запускать его на серверах общего хостинга, так как это не было целевой средой размещения для текущей версии публикации eZ — это вызвало много проблем для некоторых пользователей. В eZ publish 3 мы сделали это намного плавнее. Кроме того, преобразование изображений теперь достигается с помощью системы плагинов, как и большинство других функций, поэтому пользователь сможет выбирать параметры, которые соответствуют их конкретной цели.
SP: В серии статей eZ publish, посвященных публикации SitePoint, использование шаблонов в eZ publish вызывает определенную популярность. По какой причине вы использовали шаблоны для публикации пользовательского интерфейса eZ? Почему бы не использовать какую-нибудь библиотеку визуальных компонентов, такую как Java AWT (Abstract Window Toolkit), или альтернативу XML с использованием XSLT? Это то, что мы можем увидеть изменения в будущем?
Мы основали публикацию eZ на стороннем шаблонизаторе, что в то время казалось хорошей идеей. Теперь мы разработали наш собственный мощный объектно-ориентированный шаблонизатор, который очень сильно интегрирован в публикацию в eZ. Этот шаблонизатор является одним из огромных улучшений, которые вы увидите в следующей версии продукта. XSLT, вероятно, будет использоваться как экспортный плагин, но не будет использоваться в качестве основного механизма шаблонов.
SP: с eZ publish вы собрали солидную библиотеку классов PHP для всего: от абстракции базы данных до парсера DOM XML. Что заставило вас написать свой собственный, в отличие от использования собственных расширений PHP или библиотеки PEAR? Вы также написали свой собственный инструмент для документирования классов, eZ PHP DOC . Почему вы это сделали, а не использовали PHP DOC , например?
Ну, нам нравится писать наш собственный код. Вот так мы работаем. Однако теперь мы начали использовать doxygen для генерации документации по классам, поскольку это не было нашей целью. Причина, по которой мы не использовали упомянутые выше инструменты, заключается в том, что в основном мы хотели использовать тот же синтаксис, который мы использовали в наших проектах C ++.
SP: С PHP 4.2 PHP Group приняла решение отключить «глобальные регистры»? Согласны ли вы с этим ходом и будет ли eZ публиковаться по следующему примеру (переписано для register_globals = off) в ближайшем будущем?
Я абсолютно согласен. Да, вы обязательно увидите это. У eZ publish 3 нет проблем с новой конфигурацией PHP.
SP: Учитывая, что такие модули, как форум eZ, «конкурируют» с такими приложениями, как vBulletin и phpBB2 , вы бы предпочли продолжить разработку модуля или работать над интеграцией таких видов внешних приложений в публикацию eZ?
Что мы сделали с eZ publish 3, так это создали более низкоуровневый инструментарий. Теперь вы можете определить свои собственные классы контента, например, вы можете определить свои собственные статьи, продукты, сообщения и т. Д. Все эти объекты затем могут быть объединены в древовидную структуру и управляться системой разрешений на основе ролей. Итак, eZ publish 3 можно использовать для создания огромного разнообразия приложений. Простым примером может быть то, что для сайта недвижимости вы можете создать класс, который определяет дом. Тогда вы можете начать публиковать объекты класса «дом» на вашем сайте мгновенно, без программирования!
SP: В настоящее время eZ publish предназначен для использования на одном веб-сервере, возможно, с удаленной базой данных. Вы начали использовать XML-RPC в издании eZ для настольных ПК . Планируется ли дальнейшее использование протоколов веб-службы XML в расширении публикации eZ? Скорее всего, мы увидим версию ezPublish «N-уровня», распределенную по нескольким серверам, возможно, воспользовавшись такими проектами, как Msession Mohawk , или следуя примеру сервера класса XML-RPC ?
Мы уже написали библиотеку под названием eZ soap, которая будет использоваться в eZ publish 3 для коммуникации и интеграции. В то же время мы работаем над тем, чтобы публикация eZ проходила гладко на кластерах. Вы увидите много новых возможностей в этом направлении в ближайшем будущем.
SP: Недавние выпуски eZ publish и ваша статья Zez об интеграции PHP / Java заставляют задуматься, есть ли планы использовать это в ezPublish? Может ли ezPublish выступать в роли веб-интерфейса в среде J2EE?
Нет текущих планов, но мы использовали eZ publish таким образом раньше. Мы обычно имеем дело с клиентами, которые запрашивают его на индивидуальной основе. В основном вам нужно написать свой собственный модуль для интеграции с вашим Java-приложением, и вы уже можете это сделать.
SP: Может ли eZ publish конкурировать с некоторыми из «больших» CMS, такими как Vignette и Atomz Publish ? Что отличает публикацию eZ прямо сейчас от некоторых «высококлассных» CMS? Какие препятствия необходимо преодолеть для ezPublish?
Это план eZ publish 3. Он определенно может соответствовать функциональности. По сравнению с этими системами отсутствуют основные функции, которые публикует текущая версия eZ: управление версиями, рабочие процессы и совместная работа, которые присутствуют в публикации eZ 3.
SP: Есть ли планы выпустить элементы eZ publish в качестве собственных расширений PHP (например, библиотеку классов), чтобы повысить производительность?
На данный момент нет конкретных планов. Это усложнит установку eZ-публикации, и с помощью eZ-публикации 3 мы нашли другие способы повысить производительность на данный момент.
С.П .: Началась работа над SDK eZ publish . Что ты имеешь здесь в виду?
Это краткий обзор 3 библиотек eZ publish — они будут документацией по умолчанию и библиотеками, связанными с eZ publish 3. Однако к тому времени, когда она будет закончена, документации будет намного больше. EZ публикует документацию по ядру, и многие руководства также будут частью SDK.
SP: В целом, что вы считаете основными сильными сторонами публикации eZ, и какие области вы хотите улучшить?
Сильные стороны eZ publish в том, что он прост в использовании и предлагает множество функций. С помощью этого программного обеспечения вы можете создавать все, от интрасетей до крупных сайтов электронной коммерции. Главными вещами, которые мы хотим улучшить и которые мы публикуем в eZ 3, являются его гибкость и производительность.
SP: eZ опубликует версию 3.0 . Что у вас в запасе для новой версии? Есть сюрпризы?
Я уже упомянул несколько вещей — у пользователей eZ будет много сюрпризов, в основном положительных, надеюсь! У вас будет гораздо больше гибкости, и вы обнаружите, что эту версию быстрее настраивать. Вы также можете повторно использовать шаблоны и код и размещать на одной базе кода столько сайтов, сколько захотите.
PHP и интернет
SP: В целом, что вам больше всего нравится или не нравится в PHP?
Мне нравится PHP, потому что он очень быстро разрабатывает программное обеспечение, используя его. У вас также есть библиотеки для почти всего, что вам нужно при работе с динамическими сайтами. Что мне не нравится в PHP, так это ориентация на объекты, но это будет улучшено в версии 5.
SP: К чему вы относите успех PHP? Есть ли у PHP что-нибудь, что нельзя найти в другом месте?
С PHP легко начать. Вам не нужно много знать о программировании на PHP, чтобы создавать PHP-скрипты. PHP по-прежнему предлагает более продвинутую функциональность, поэтому он применяется к гораздо более широкой аудитории, чем, например, Java.
SP: Как разработчик с опытом работы с другими «серьезными» объектно-ориентированными языками, что вы думаете о поддержке PHP объектной ориентации? Что вы думаете о грядущих изменениях в движке Zend 2.0? Что вы скажете тем типам Java (или любым другим), которые любят критиковать PHP в этой области?
Ориентация на объект — самая бедная часть PHP, но если вы используете его с осторожностью, все в порядке. Я действительно с нетерпением жду движка Zend 2.0 — люди, которые критикуют PHP за это, абсолютно правы. Тем не менее, я думаю, что PHP является наиболее подходящим языком для разработки динамических веб-сайтов. Также важно помнить, что язык — это всего лишь инструмент; важно то, что думают пользователи вашего программного обеспечения — и им, как правило, все равно, на каком языке оно написано.
SP: PHP — это язык, который понравился разработчикам с опытом работы в веб-дизайне, а не в разработке программного обеспечения. Считаете ли вы, что предпочтение многих из этих разработчиков PHP для написания процедурного, а не объектно-ориентированного кода сдерживает прогресс языка? Какие советы вы можете предложить разработчикам PHP, которые надеются собрать успешные проекты PHP?
Я думаю, что все больше и больше людей начинают писать объектно-ориентированный PHP, но если вы сейчас посмотрите на проекты с открытым исходным кодом, написанные на PHP, большинство из них все еще не сделано таким образом. Если бы больше людей писали объектно-ориентированный код, это определенно способствовало бы развитию PHP в этом направлении. Таким образом, совет другим разработчикам должен быть; писать объектно-ориентированные библиотеки и повторно используемый код.
SP: Несмотря на то, что это самый популярный серверный язык для Интернета, что вы видите в качестве основных причин того, что PHP в значительной степени игнорируется в основных ИТ-кругах? Как вы думаете, PHP может получить широкое признание на предприятии как жизнеспособное решение для веб-разработки?
Я думаю, что основной причиной этого является маркетинг. Но PHP продолжает расти и используется все большим количеством компаний. Я думаю, что в будущем PHP будет широко использоваться в основных ИТ-кругах. Это уже используется многими крупными компаниями.
SP: Учитывая проблемы, с которыми вы столкнулись при поиске надежного парсера XML для PHP (до того момента, когда вы написали свой собственный), что вы думаете о поддержке XML в PHP? Вы смотрели на последнее воплощение расширения PHP DOM? Считаете ли вы, что теперь он может предоставить стабильную библиотеку для анализа и генерации XML с использованием DOM API? И как вы относитесь к поддержке PHP таких технологий, как XML-RPC и SOAP (учитывая, что вы снова написали свои собственные реализации для них)?
Поддержка XML в PHP довольно хорошая, однако в то время она не отвечала нашим потребностям, поэтому мы написали собственную реализацию. Кроме того, были некоторые проблемы с утечками памяти, когда парсер DOM проверял всю память. Я думаю, что самое важное для PHP — это иметь хорошие низкоуровневые функции; вам не нужен каждый протокол, реализованный на языке программирования. В настоящее время я думаю, что PHP нужно немного больше поработать над этими расширениями, но они не должны отвлекать внимание от других разработок, более важных в PHP.
SP: Помимо поддержки XML, что вы видите в качестве основных технологических проблем для PHP в будущем?
Ориентация объекта.
SP: Как вы сравниваете PHP с текущими коммерческими предложениями от Sun (J2EE) и Microsoft (.NET)? Учитывая экспериментальную Java и http://www.php.net/manual/en/ref.dotnet.php/#nlt#/ .NET extensions / # inv # /, что вы видите в будущей роли PHP по отношению к этим две большие рамки?
Мой общий опыт заключается в том, что гораздо проще получить ответ на вопрос, который может у вас возникнуть относительно решения с открытым исходным кодом, чем с коммерческим решением. Так что, на мой взгляд, PHP намного мощнее благодаря сообществу Open Source.
SP: И, наконец, что касается веб-дизайна и разработки, как вы думаете, как все будет выглядеть через 5 лет?
Я думаю, вы увидите больше приложений и интегрированных систем. Надеюсь, вы увидите больше стандартов, и было бы здорово, если бы люди тоже следовали этим стандартам.
SP: Børd, большое спасибо, что нашли время из своего плотного графика, чтобы поговорить с SitePoint. Видя, что может сделать eZ publish 2.0, похоже, что и без того отличный проект вот-вот станет лучше. Все самое лучшее с eZ publish 3.0!