PHP против ASP.
 

Август 14, 2000; John Lim.

Вступление

ASP - превосходная технология для создания динамических веб страниц. Я использовал ее около года, создал много вебсайтов, но теперь моя компания подумывает о переходе на другую популярную интернет технологию, называемую PHP, для разработки всех последующих веб сайтов.

Странно, что нам удобно пользоваться ASP и нравиться использовать ее. Для чего же переключаться ?

Движение к открытой архитектуре.

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

Например, для осуществления загрузки двоичных файлов, скачивания файла через FTP или HTTP, шифрования паролей с помощью MD5, или отправления почтового сообщения с веб-страницы в ASP требуются платные коммерческие пакеты других производителей. В PHP все это бесплатно.

Однако этого было бы недостаточно, чтобы убедить нас перейти на РНР, так как мы уже вложили время и деньги в необходимое коммерческое программное обеспечение.

Интернет устройства и Linux.

Я увидел будущее в RaQ. Впервые увидев Cobalt RaQ, я подумал, что каждое оффисное приложение должно быть именно таким. Вместо покупки пакета программ и его установки, понадобится подобное устройство с предустановленным программным обеспечением, а для начала работы достаточно будет запустить веб-браузер с небольшой настройкой.

Большинство интернет-устройств обычно используют Linux и PHP. Как правило ASP на них отсутствует. Существует продукт, называемый Chilisoft ASP, позволяющий запускать скрипты ASP на платформе Unix, но он довольно дорог и не поддерживает последние версии ASP. Более того, в Unix отсутствуют все лучшие DLL, необходимые для создания качественных ASP веб сайтов.

Таким образом, мы решили поискать хорошую технологию, похожую на ASP и совместимую с нашими представлениями об идеальных интернет-устройствах.

Сравнение философий.

PHP наиболее близок по своей философии кодирования к ASP. Фактически , PHP имеет эмуляцию тагов ASP, что показалось нам весьма полезным. Команда разработчиков на Zend.com, отвечающая за ядро PHP как раз закончила движок ISAPI для PHP.

ISAPI - программный интерфейс к интернет веб серверам от Microsoft, и с его поддержкой, PHP становится доступен многим программистам из мира Windows (включая меня), желающим пробиться на рынок Unix.

Техническая часть.

Ложь, ложь, ложь и проклятые тесты производительности. Каждый заявляет о превосходстве своего продукта. Мне интересует лишь достаточно ли быстр продукт. PHP - достаточно быстр.

Технологию ASP подерживают многие языки программирования. Подобная архитектура наследственно медленнее и отнимает больше памяти, чем модель PHP, так как каждый компилятор ASP запускает свой собственный процесс. Таким образом при обнаружении тэга ASP Begin (<%), ASP требуется контекстное переключение с анализатора HTML на ASP, и выбрать подходящий компилятор. Затем встретив тэг окончания (%>) идет контекстное переключение обратно на анализатор HTML.

Полагая что разработчики PHP и ASP одинаково хороши, ASP всегда будет наследственно медленнее, вследствие многоязыковой архитектуры ASP.

Приняли бизнес решение использовать PHP?

Не совсем. Существует много альтернатив PHP, включая Perl, Python/Zope и JSP/Tomcat. Просто мне кажется, что PHP настолько схож с ASP, что переключиться будет легко.

Perl: Безобразный язык, негодный для больших проектов.

Python/Zope: Хороший дизайн, однако философия Zope ближе к Cold Fusion.

JSP/Tomcat: На мой взгляд веб страницы лучше управляются скриптовыми языками, нежели такими языками как Java.

Программирование.

Мы обратили внимание. что наш код на РНР стал намного короче чем на ASP. Это потому, что переменные HTTP GET и POST автоматически создаются РНР как глобальные переменные PHP и нам не надо тратить время на их извлечение из объекта ASP Request. Оператор PHP include() позволяет нам условно включать скрипты, уменьшая размер кода.

PHP имеет сходные с ASP функции по управлению сессиями и куками. Хотя функции управления заголовками HTTP в ASP намного легче в использовании.

Единственной вещи, которой нет в PHP - эквивалент ASP переменных приложения, доступных на все время работы веб-сервера.

Заключение.

Я все еще не могу привыкнуть к синтаксису PHP с символами переменых "$" повсюду, но это круто так как это мой любимый символ :).

 
Автор: John Lim
 
Оригинал статьи: http://www.woweb.ru/publ/59-1-0-139