Сегодняшний наш обзор посвящен популярному редактору PHP-кода - PHPEd. На самом деле PHPEd больше чем редактор - это полноценная среда разработки, которая включает в себя помимо функций редактирования PHP-кода еще и отладчик/профайлер скриптов, встроенные терминалы для удаленного администрирования серверов, клиент по работе с базами данных, FTP/SFTP клиенты.
Вот так выглядит главный интерфейс редактора:
Как видно из скриншота, интерфейс состоит из нескольких панелей. Центральное место, конечно, занимает окно редактирования кода. Следует отметить, что скорость работы с кодом в последних версиях phpEd была существенно улучшена. Редактор предоставляет все стандартные для программ такого рода функции - автоподстановка функций, автоматические отступы, подсветка синтаксиса, быстрый доступ к справке, поддержка "горячих" клавиш, валидация и т.д.
Одно из интересных особенностей phpED - быстрое перекодирование скрипта из одной кодировки (например, UTF-8) в другую (например, windows-1251).
Организация работы с сайтами строится на основе проектов. Чаще всего каждый проект - это папка с кодом на компьютере с настройками (адрес сайта, соединение с сервером, и т.д.).
Несколько проектов могут быть объединены в рабочее место (workspace). После настройки проекта, можно одним нажатием клавиши заливать его целиком или отдельные файлы на сервер, смотреть как выглядит сайт во встроенном браузере.
Необычно в PHPEd реализована работа с системами контроля версий. Вы можете использовать свой любимый клиент, например, TortoiseSVN. Для этого нужно выбрать интересующий файл или директорию в эксплорере, нажать правую, кнопку мыши, выбрать пункт "Shell Menu", и перед вами будет привычное меню проводника Windows со встроенными клиентами систем контроля версий.
Отдельного рассмотрения требует отладчик. PHPEd одним из первых на рынке представил удобный отладчик PHP-сценариев. Известно, что до 90% времени работы программиста занимает отладка кода. Поэтому удобная организация процесса отладки имеет большое значение в производительности труда программиста. Исторически с отладкой сценариев на языке PHP были проблемы, которые связаны с тем, что сценарий пишется на компьютере программиста, а выполняется на удаленном сервере, и запускается через браузер. Сам процесс работы скрипта на сервере занимает десятые доли секунды, поэтому поймать нужное событие и передать его в отладчик, задача не простая.
PHPEd имеет встроенный модуль отладки DBG, который позволяет отлаживать сценарии как на клиенте, так и на сервере. В случае с сервером, то к PHP необходимо установить специальный модуль DBG, который и будет отвечать за отладку сценариев. В результате процесс отладки в PHPEd максимально приближен к процессу отладки "обычных" программ в таких средах как Visual Studio или xCode.
VP of Engineering phpEd Дмитрий Дмитренко согласился дать небольшое интервью
Best-Soft.ru.
Расскажите историю создания phpEd. Где и как вам пришла идея написать phpEd? Что не устраивало вас в аналогичных программах?
PHPEd - именно такое вначале было написание названия продукта, был
разработан турецким программистом Ergin Soysal. Он врач по профессии, и
программирование для него, по-видимому, - это хобби.
Летом 99 го, я впервые
столкнулся с PHP и мне нужно было сделать нечто на нем. Первый редактор,
который я нашел, как раз и был PHPEd, других я не встречал. Но это была
очень краткая "встреча", буквально на месяц.
Затем, год спустя, я работал в
другой компании и над другими проектами, в свободное время решил создать
отладчик PHP (DBG), который на тот момент интегрировался в MS InterDev.
Отладчик работал с последней на тот момент стабильной версией php 3.0.
Параллельно, примерно в то же время американская компания Progress Software
создала подразделение NuSphere, которое, сначала занималось совешенно
другими продуктами, связанными с Web технологиями, а затем был приобретен
PHPEd, и так же было сделано предложение мне поучаствовать в этом проекте и
интегрировать мой отладчик в него. Так из редактора была сделана IDE. К тому
моменту, это был 2002й, других продуктов было буквально 2-3 и все они
страдали недостатками - либо были нестабильны, либо были неуклюже
оформленными, либо работали крайне медленно, а нередко - комбинация всех
трех. Наша цель была сделать продукт - лидер по всем трем показателям.
Почему ваша компания называется NuSphere, что это значит?
Новая Сфера.
Для Progress Software это, действительно, была новая сфера.
Как много людей работает в вашей компании? В какой стране вы работаете?
Сейчас NuSphere - независимая компания и наши сотрудники работают как в USA,
так и в России, т.е. мы - транснациональная корпорация.
Какие преимущества у phpEd перед другими современными редакторами -
Zend Studio и PhpStorm?
Я полагаю - в первую очередь это скорость и стабильность.
Так же мы уделяем
большое внимание качеству и логике интерфейса, его интуитивной понятности и
опрятности.
В плане скорости, PhpED прекрасно работает с файлами достаточно большого
размера в которых есть и php, и html, и javascript, и css.
Java-based IDE, которые вы упомянули, начинают заметно тормозить при
редактировании файлов, если их размер приближается к сотне килобайт.
Так же,
можно с уверенностью сказать, что в PhpED позволяет вести большие проекты -
десятки тысяч файлов. Такие возможности принципиально важны для наших
корпоративных клиентов.
Также наши клиенты отмечают, что наш отладчик работает заметно лучше, чем у
конкурентов.
Разумеется, как и в любом другом продукте, у PhpED есть свои недостатки и
мы знаем о них. То что недостатки существуют - это не наша злонамеренность,
а выстраивание приоритетов при ограниченных ресурсах разработки. Мы уделяем
внимание прежде всего тому, что считаем более приоритетным, опираясь, в том
числе, на мнение наших клиентов. А снижению приоритетов в разработке тех или
иных направлений способствует возможность решения с существующим набором
функций IDE.
Например, это отсутствие встроенных средств ведения исходников
(source control systems). Этот недостаток компенсируется тем, что в IDE
используются хорошо работающие компоненты, предоставляющие доступ к Windows
Shell. Через windows shell - мы получаем выход на такие windows shell
extensions как Tortoise SVN, TortoiseGIT, TortoiseCVS и т.д. В принципе, это
удобно, т.к. позволяет делать операции с sourcecontrol системами даже не
запуская IDE, и статус файлов вы видите сразу в Windows Explorer, совершенно
так же, как и в PhpED, и операции с файлами, каталогами и проектами
происходят через popup на списке файлов, совершенно одинаково выглядящий как
в PhpED, так и в Windows Explorer.
Что нам следует ожидать в будущих версиях phpEd? Планируется ли
версия под Mac?
Мы планируем дальнейшие улучшения производительности - ведь мир не стоит на
месте, проекты, написанные на PHP, становятся всё больше и больше. И этот
рост, как мне кажется, сопоставим, или даже опережает рост
производительсности машин и рост пропускной способности сетей. А это значит
что мы должны по-прежнему прилагать усилия по внутренней оптимизации.
Как и всегда, новые версии будут включать новые features, и улучшения в
существующих. Так, мы планируем в следующей версии сделать более быстрый
upload и download, ускорение каснется также их smart аналогов - smart upload
и smart download.
Мы планируем добавить синхронизацию проектов с серверами
на детальном уровне, это будет заново выписанная функция smart sync.
Кроме
того, мы собираемся улучшить редактор, и введем несколько интересных новых
features.
Насчёт платформы Mac, мы рассматриваем эту платформу как перспективную. Мы
знаем, что часть наших клиентов перешла на эту платформу и используют
parallels или vmware fusion только чтобы запускать PhpED. К сожалению, в
отличии от Java-based IDE , портирование PhpED не тривиальная задача - как в
части кода, так и части разработки, т.е. подразумевает использование других
инструментов и других библиотек.
Расскажите о себе. Где вы родились? Как долго занимаетесь программированием? Какие ваши увлечения?
Родился г. Нижний Новгород в 1969, окончил среднюю школу, техникум, затем в
87м поступил в МВТУ им Баумана.
Первую программу написал примерно в 86м, на БК0010, когда устанавливал
компьютерный класс в техникуме.
Программированием занимаюсь профессионально
с 88-89г уже в МВТУ - писал программы на кафедре математики, принимал
участие в разработке пакета по анализу и моделированию надежности.
Далее
достаточно долго работал над проектом в области медицины.
Хочу сказать огромное спасибо ректору Елисееву, который уже тогда в 87-88м
оснастил всё высшее училище современными компьютерами (аналогами IBM PC).
Увлекаюсь электронными устройствами. Когда-то, в 89-90м собрал PC на доброй
сотне микросхем