Инструментарий web-разработчика находится в постоянном развитии и усовершенствовании. Регулярно создается большое количество программ – средств разработки разного, иногда принципиально нового, уровня и класса. Поэтому не только начинающему, но и опытному web – программисту достаточно трудно ориентироваться в среде современных программных продуктов, направленных на разработку web-ресурсов.
В статье буду рассматривать средства разработки, такие как XAMPP, DENWER, Apache2triad1.5.3, Control PanelZend Development Environment, NuSphere PHPED, PHP Designer 2007 – Professional, Macromedia Dreamweaver 8 и др.
Информатика является одной наиболее молодых, а вследствие этого, и наиболее динамических наук. В процессе развития и становления происходит ее разделение на самостоятельные сферы и отрасли. Одной из таких молодых отраслей информатики, как науки являются web-технологии, и, в частности, web-программирование. Следует отметить, что еще 10 – 15 лет тому назад данное направление рассматривалось как одно из прикладных заданий базового курса программирования, которое решалось с помощью одного или нескольких универсальных языков, таких как С, С++, JAVA, DELPHI и так далее. Но сегодня web-программирование имеет в своем арсенале больше десятка могучих специализированных словно программирования, среди которых бесспорными лидерами является PHP, Pithon, JavaScript, VBScript, XML, ColdFusion, Perl и др.
Курсы web-ориентированных систем программирования существуют уже в течение нескольких лет, но в его преподавании есть объективные проблемы. Их можно разделить на две группы.
Первая – недостаток нагрузки, поскольку языки web-программирования – это серьезные объектно-ориентированные языки, которые можно разделить минимум на две группы: клиентские и серверные. Каждая из групп, имеет свои особенности и инструментальные средства. Поэтому количество часов на изучение данного предмета должно быть, как минимум, в два раза больше, чем предлагают сегодня. Это не говоря о специализированных базах данных, изучение которых также является необходимым в данном курсе.
Вторая – это динамика развития web-технологий. Особенность – постоянные изменения и усовершенствования. Эти изменения иногда имеют радикальный характер. Например, версия языка PHP5 практически полностью не поддерживает программный код PHP4. Аналогично идут дела и с инструментарием разработчика. Постоянно создаются новые программные среды, редакторы, совершенствуются те, которые существуют. Причем качество, возможности, удобство только что созданных продуктов часто на ступень является выше от существующих аналогов.
Целью поста является короткий анализ инструментария web-разработчика. При этом, основное внимание уделяется средствам разработки PHP-проектов.
В статье рассматриваются в частности XAMPP, DENWER, Apache2triad1.5.3, Control PanelZend Development Environment, NuSphere PHPED, PHP Designer 2007 – Professional, Macromedia Dreamweaver 8 и др.
Средства web-разработчика можно условно разделить на три категории:
1. Конструкторы сайтов. К этим средствам можно отнести такие могучие конструкторы, как Macromedia DreamWeaver, Macromedia HomeSite, Adobe Golive, Namo WebEditor, HotDog Professional и др. Основным заданием, которое реализовывается этими программными средствами, является задание разработки интерфейсной части сайта во всем своем многообразии, начиная от стилевых свойств, размещения элементов к структуризации как отдельных страниц, так и сайта, в целом.
2. Программная среда, к которой принадлежат прежде всего, сами языки программирования, такие как PHP, Perl и другие, разные web-ориентированные базы данных, а так же, локальный сервер. Сегодня разработчикам предлагаются готовые составляющие части программных сред, среди которых следует особенно выделить такие:
a) Denwer (джентльменский набор веб-разработчика) – русский проект, сборник программных продуктов разработчика на языке PHP, который характеризуется, прежде всего, минимальными размерами. Версия Denwer 1.2. позволяет, не вникая в тонкости настройки сервера Apache1.3, и без дополнительных надстроек PHP, легко задавать хосты и начинать работу с изучения или создания программного кода на PHP и MYSQL. При этом программный продукт имеет удобный интерфейс и легко деинсталлируется из компьютера. Однако, версия 2.0 и выше – проблемная. Проблемы, связанные с деинсталляцией программных продуктов, переопределение хостов, дополнительных настроек компонентов пакета. По моему мнению, основное преимущество версии – это простота установки и малый объем дистрибутива, 3 – 4 мб, в зависимости от версии. С другой стороны, для реализации цели учебы основам PHP, Perl, MySql, PostgreSql этого программного пакета вполне достаточно, хотя при работе с ним можно столкнуться с проблемами, связанными с усеченными версиями всех предлагаемых программных продуктов.
b) Apache2triad – американский проект. Один из наиболее полных и насыщенных программными продуктами пакетов web-разработчика. Apache2Triad составляет простое и легкое развертывание сетевого программного обеспечения на любом компьютере и является идеальным решением для установки серверных платформ. Его размер после инсталляции около 308 мб. В пакет входит Apache 2, PHP 5, Perl, Pithon, SSL, XMail, MySql, PostgreSql, SLIMFTPD и др. Данный пакет является полным и отвечает как требованиям, которые выдвигаются к учебному средству, так и для профессиональной разработки web-ресурсов. Однако, он уязвим и может быть использован для установки вредной программы ( jd2k2000_(at) _hotmail.com) на клиентский сервер.
c) XAMPP – немецкий проект. Достаточно популярный в среде разработчиков web. Его размер – около 220 мб. Набор программных продуктов уступает вышеописанному пакету, но, кроме стандартного набора Apache 2, PHP 5, Perl, содержит почтовый клиент Mercury на протоколе IMAP4 и файловый сервер FileZilla.
Пакет достаточно простой в использовании и имеет удобную панель администрирования. Основными критериями данного дистрибутива является простота, полнота и надежность. Поэтому в своей учебной работе я остановился на этом программном продукте.
3. PHP отладчики (PHP-редакторы, к сожалению, нет общей терминологии). Они позволяют создавать и редактировать программный код, написанный на разных web-ориентированных языках программирования:
a) Среди таких отладчиков, хотя в дальнейшем я буду называть их редакторами, наиболее популярным в нашей стране является PHP Expert Editor 4. Он достаточно простой в установке, настройке и использовании. Многоязычный интерфейс. PHP Expert Editor имеет встроенный HTTP сервер и отладчик для запуска и отладки PHP-скриптов. Он может использовать любой внешний http-сервер. Имеет встроенную проверку синтаксиса PHP, встроенный браузер, FTP клиент, файл explorer, шаблоны кода, которые настраиваются, три режима подсветки кода (PHP & HTML, HTML only, PHP only), функции быстрой навигации и др. Наличие встроенного сервера позволяет использовать его для программирования в среде PHP без предоставления пользователю прав администратора. Недостатком является отсутствие встроенных языков (используются внешние), слабая поддержка синтаксиса других языков. Нет поддержки проектов. Опять же, настройка сервера единственная для всего. Собственно, отлаживается код не в самом редакторе, а в абсолютно отдельной программе – PHP Expert Debugger. Возможностей у нее слишком мало: нельзя даже открыть несколько файлов, чтобы расставить в них точки останова. Точки останова не сохраняются между запусками скрипта, а стираются.
b) NuSphere PHPED – профессиональная интегрированная среда обработки, назначенная главным образом для того, чтобы формировать применение с использованием баз данных и PHP, HTML, XML, CSS. Стойкий редактор кода, отличная система подсветки кода в языках PHP, XML, XHTML, HTML, CSS и JavaScript, могучий PHP отладчик, профилировщик и издатель, – все в одном. Программа также включает интегрированную базу данных и клиенты CVS, сервисы SOAP, валидатор HTML и инструментальные средства Форматера Кода. Поддержка работы с Smarty, редактором Unicode. SFTP поддерживается для безопасных загрузок и закачиваний, Telnet, SSH терминалы для удаленного администрирования, поддержка функциональных возможностей MYSQL, Oracle, MSSQL SQLite, Interbase, анализа ошибок, графический интерфейс пользователя, который полностью настраивается, анализатор PHP-кода. Работает с проектами. Простая в установке и использовании. Имеет достаточно высокую скорость обработки кодов.
Интерфейс программы выполнен в стиле визуального языка программирования, которое способствует достаточно легкому переходу на него. Имеет мощную справочную систему и систему сопровождения программного кода (система подсказок).
c) PHP Designer 2007 professional является наиболее могучим по своим возможностям отладчиком. Разработка MPSoftware. Интегрированная среда разработки веб-приложений на php, и не только. Также есть поддержка всех распространенных в Web языков программирования, в частности asp, perl, jscript c#, vbscript, python, ruby + html, css, xml. Функции контекстных подсказок, автозаполнения и подсветки синтаксиса, с немедленным извещением об ошибке, библиотеках кода, готовых снипеты и многое другое. Редактор синтаксиса PHP, HTML, XHTML, CSS, Perl, C *, JavaScript, VB, Ява и SQL. Среда разработки PHP Designer 2007 объединяет много могучих особенностей, таких как схемы синтаксиса PHP, HTML, XHTML, CSS, Perl, C, что настраиваются *, JavaScript, VB, Ява и SQL (Ingres, Interbase, MSSQL, MYSQL, Oracle, Sybase и Стандартный SQL), class/include браузер, тестирование и отладка ваших скриптов с помощью интерпретатора PHP, интеграция руководства PHP, автоматическое закрытие близких дужек, доступ, к общим библиотекам code/script – все объединено в этой уникальной программе. PHP Designer 2007 также содержит дополнительные инструменты, которые экономят время: менеджер FTP, менеджер проектов, файл-менеджер, менеджер ToDo, шаблоны кода, поддержка отрывка. Возможность экспорта в LaTex, HTML и RTF, поиск Google, и многое другое.
Интерфейс программы создан со встроенными помощниками, облегчающими процесс написания кода. Обтекаемый XP-based интерфейс с восемнадцатью разными темами.
d) следует отметить еще один редактор – Zend Studio. Имеет много позитивных качеств и основная негативная – очень медленная работа при настройках кода. Этот программный продукт написан на Java и, очевидно, с нуля. Интерфейс очень неудобен, проблема с передачей параметров и данных из одного файла в другой, средствами Zend. В отличие от всех остальных систем, использует собственный отладчик, который, к сожалению, работает только с одним файлом. Профайлер в Zend Studio работает достаточно адекватно, а вот заставить запускать отладчик при запросах из браузера у меня так и не получилось.
Настройка параметров сервера (в частности, имя хоста) общее для всех проектов, что и удивляет. Возникают проблемы, если на машине больше одного сайта.
Следует обозначить и проблему быстродействия: скорость обработки программного кода очень низкая.
Подытоживая все вышеизложенное, можно определить набор предпочтимых средств для начинающего (да и опытного) PHP-кодера:
- Macromedia DreamWeaver;
- XAMPP;
- NuSphere PHPED.
Основные критерии отбора – простота, надежность, доступность в инсталляции и усвоении, возможность настроек и управления, самодостаточность.