Три кита веб-разработки
 
02.09.2003
Родион Насакин
Константин Арапов [constant@acc-kom.ru]


 
стр. 1
стр. 2 >>

В настоящее время существует множество сред разработки приложений для веб-серверов, из которых несомненными лидерами являются ASP, CGI и PHP. Есть и другие, но согласитесь, что среди расширений URL’ов со скриптовым контентом чаще всего встречаются именно .asp, .cgi, и .php, и вероятно, что человек, решивший заняться разработкой веб-сервера, воспользуется именно одной из них. Практически на любом форуме, посвященном сетевому программированию, можно отыскать как профессиональные обсуждения, так и эмоциональные споры поклонников той или иной из этих сред1. Вместе с тем часто проскальзывают вопросы на тему: какой из них лучше воспользоваться для решения той или мной задачи. Задачей авторов статьи было не определить «лучшего из лучших», а скорее сделать небольшой обзор достоинств и недостатков каждой из технологий. Выбор начинающий разработчик должен сделать сам в зависимости от поставленной задачи.

CGI

Common Gateway Interface был разработан в NCSA (Центр суперкомпьютерных приложений Иллинойского университета) в 1993 году и своим рождением обозначил новую эпоху в истории WWW. Почему, наверное, объяснять незачем, достаточно напомнить, что все скриптовые элементы от стеков графических гипертекстовых ссылок и встраивания даты в текст документов до форумов, чатов и гостевых книг стали доступны Интернет-сообществу именно с появлением «шлюзового интерфейса».

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

Многие могли бы возразить: не такой уж CGI и «лидер». Действительно, славные денечки остались позади, и использование технологии уже считается в некоторых программистских коллективах (может быть, незаслуженно) признаком дурного тона. Однако что может лучше подойти под пример большого Интернет-проекта, чем поисковые системы, а многие из них используют CGI (например, Rambler, Lycos). В сочетании, скажем, с Perl’ом «интерфейс» до сих пор можно назвать одним из лучших средств разработки. Он позволяет легко справиться с простыми узлами с низким уровнем трафика (так как запускается отдельная копия приложения). Неслучайно большинство счетчиков и баннерных сетей написано именно на CGI. Кроме того, CGI часто является единственной скриптовой средой2, разрешенной большинством бесплатных хостеров.

Резюме: Настоятельно рекомендуется (более того — навязывается) на любительских или просто «бесплатных» страницах для разработки счетчиков, гостевых книг, таймеров и других «приятностей».

ASP

В далеком 1996 году корпорация Microsoft во всеуслышание объявила о выпуске принципиально новой сетевой технологии Active Server Pages. Продукт представлял собой новый подход к написанию серверных скриптов. Такие достоинства ASP, как использование сессий вместо запуска отдельной копии приложения (как в CGI), доступ к базам данных с помощью специального объекта ADO (Active Data Object), являющимся надстройкой над OLE-DB, программирование скриптов на относительно «легких» Jscript и VBScript, позволяли Microsoft надеяться на скорую кончину конкурентов-аналогов. Сейчас, спустя семь лет, уже ясно, что этим надеждам было не суждено сбыться. Расширение .asp явно уступает по частоте появления в Сети тем же .cgi, и .php. Тем не менее технология нашла свою нишу среди разработчиков — в частности, благодаря тому, что ASP встроена в (кто бы сомневался!) Microsoft Internet Information Server, начиная с версии 4.0, то есть используется на Windows-платформе. В то же время существует обратная сторона медали: первоначально ASP не поддерживалась серверами на Unix/Linux-платформе, что помешало ее широкому распространению. Созданные позднее версии для других платформ кардинально не изменили сложившуюся ситуацию — ASP осталась технологией только «для своих».

Кроме вышеупомянутых плюсов, ASP на сегодняшний день имеет и другие изюминки. Во-первых, поддержку ActiveX, компоненты которого разрабатываются с помощью отдельно поставляемого Visual Studio, имеющего в своем составе Visual C++, Visual J++ и Visual Basic, и могут вызываться из ASP-кода. Здесь следует отметить особую роль MS Visual Basic, который так активно продвигает Microsoft, используя в качестве инструмента практически во всех своих продуктах. Это один из немногих языков, где простота оптимально сочетается с мощностью. Интегрированная среда разработки (Integrated Development Environment — IDE) Visual Basic, средство контроля исходного кода — Visual Source Safe, а также хороший отладчик делают Visual Basic едва ли не самым мощным языком для создания веб-приложений. Однако нужно учитывать, что при владении Visual Basic освоение его потомка VBScript (который, правда, как утверждают некоторые специалисты, по некоторым параметрам хуже JScript) труда не составит. Во-вторых, наличие средств отслеживания состояния и пользователей в объектах, позволяющее создавать динамические приложения. В-третьих, приложения ASP наряду с другими, входящими в состав Microsoft IIS, способны выполняться в одном адресном пространстве, что повышает эффективность и масштабируемость благодаря отсутствию лишних затрат памяти. Впрочем, последнее достоинство — спорное, так как в определенных случаях глюк в «неизолированном» приложении может вывести из рабочего состояния весь сервер.


1(назад) Да что там на форумах! Пока статья писалась, авторы раза два переругались по поводу личных пристрастий, что в конце концов обеспечило (надеемся!) объективность материала. — Р.Н.
2(назад) Есть, конечно, бесплатный хостинг только с PHP или ASP, но его (по крайней мере, в Рунете) несравнимо меньше. — Р.Н.


 
стр. 1
стр. 2 >>

<<Без промискуитета: Робоформ
Все материалы номера
Звуки музыки >>