Сравнение php и asp.net технологий

Автор работы: Пользователь скрыл имя, 26 Июня 2013 в 17:36, реферат

Описание работы

На сегодняшний день у разработчиков веб-сайтов есть богатый выбор относительно того, какой язык (или технологию) использовать для создания сайта. Вариантов много: Perl, PHP, ASP, ASP.Net, JSP, Coldfusion… Самыми распространенными (с большим отрывом от остальных) сегодня являются PHP и ASP.Net.
Поскольку автор имеет большой опыт разработки с применением обеих технологий, хотелось бы максимально объективно провести сравнение между этими двумя платформами.

Файлы: 1 файл

PHP против ASP.docx

— 34.17 Кб (Скачать файл)

 
Безопасность

Весьма распространен  миф о том, что все продукты от Microsoft – «дырявые», а их аналоги  на Unix-платформе – безопасные. На самом деле, к безопасности в Microsoft относятся очень серьезно (об этом свидетельствуют некоторые их интервью и репортажи), основная причина возникновения  мифа – широкая распространенность их продуктов, что обуславливает  гораздо больший интерес к  этим продуктам для злоумышленников. 
Вопреки всему, по данным Securitylab.ru, веб-сервер Internet Information Services имеет гораздо меньше уязвимостей, чем его Unix-аналог – Apache. Так, например, в IIS 6.0 было найдено всего 3 уязвимости! 
Однако гораздо больше случаев взлома веб-сайтов происходит из-за ошибок разработчиков этих сайтов. И хотя вероятность успешного взлома определяется в основном квалификацией программиста, в этом аспекте имеются некоторые преимущества у ASP.Net – более жесткий контроль вводимых посетителем данных. Например, по умолчанию включен запрет на использование HTML-тегов в полях ввода – таким образом, повышается защищенность веб-сайта от XSS (Cross Site Scripting) атак. В PHP такие проверки разработчику необходимо реализовывать самостоятельно. Это особенно важно для начинающих веб-программистов, которые, как правило, в начале своего пути не знают о возможных уязвимостях – эти знания приходят с опытом. ASP.Net  в случае обнаружения некорректных данных сразу останавливает выполнение веб-приложения и предупреждает разработчика о потенциальной опасности. В PHP выполнение продолжается и никаких предупреждений программист не видит – такой уязвимостью могут воспользоваться злоумышленники.

 
Маленькие и большие проекты

Традиционно считается, что PHP больше подходит для маленьких  проектов, а ASP.Net – для больших. Я  считаю, что это неправильно. Как  известно, под PHP существует множество  шаблонизаторов и фреймворков (Smarty, Zend Framework и другие), которые приближают его к ASP.Net с точки зрения архитектуры  приложения (отделяется программный  код от HTML-разметки, присутствует подобие ASP.Net-контролов и т.п). И примеров крупномасштабных проектов, написанных на PHP, достаточно: vkontakte.ru, photofile.ru и т.п. В то же время, и на ASP.Net можно легко  и быстро (возможно, даже быстрее, чем  на PHP) создать простой веб-сайт. 
К большому преимуществу ASP.Net я отнесу то, что он использует общую платформу .Net. Во-первых, это означает, что если вы – программист .Net, то вам не нужно учить новый язык и осваивать новые библиотеки. Во-вторых, этим открываются широкие возможности интеграции Windows-приложений и ASP.Net-приложений. Например, написанный ранее класс для настольного приложения можно без доработок и изменений использовать и в веб-проекте на ASP.Net. 
PHP же используется только для создания веб-страниц. С его помощью еще можно писать скрипты для командной строки, но такая потребность возникает довольно редко.

 
Работа и зарплата

Вакансий много как  на должности разработчика PHP, так  и ASP.Net. В среднем, зарплата у ASP.Net-специалиста  немного выше, но это отнюдь не значит, что нельзя найти очень хорошо оплачиваемую работу PHP-программисту –  все зависит от уровня профессионализма. 
Вакансии программистов на PHP, в основном, открывают веб-студии, занимающиеся созданием сайтов. ASP.Net-разработчики чаще всего требуются в крупных компаниях, занимающихся корпоративными приложениями. 
Среди фрилансеров (людей, работающих удаленно) гораздо большее распространение получил PHP – в основном, в силу легкости изучения. Однако, в этой ситуации программист на ASP.Net имеет некоторое преимущество: создав сайт заказчику на этой платформе, он получает высокие шансы повторного обращения (например, с целью добавления функциональности на сайт) именно к нему – найти другого фрилансера, работающего с этой платформой, довольно тяжело.

 
Резюмируя

Я постарался составить сравнение  максимально объективно. В свое время, я начинал именно с PHP. Была и ненависть  к Microsoft, и радость за то, как «хорошо  и как удобно все делать на PHP»  и т.д. Вскоре я столкнулся с платформой .Net, которая понадобилась мне для  разработки Windows-приложений. Одновременно я продолжал создавать сайты  на PHP. Через некоторое время я  понял, что программы на .Net у меня получаются быстрее, с меньшим количеством  ошибок, и работа в Visual Studio гораздо  более удобна, чем в PHP-редакторе. Так постепенно я стал переходить на ASP.Net. На PHP я продолжаю писать и сейчас, но, в основном, в ситуациях, когда приходится вносить изменения  в работающий проект на PHP – переписывать его полностью на ASP.Net займет гораздо  больше времени. Но при создании нового веб-сайта я однозначно теперь выберу ASP.Net. 
Почему же PHP получил большее распространение (как миниум, в нашей стране), чем ASP.Net? Во-первых – он у всех на слуху. Веб-программированием сейчас интересуются многие, и первое что приходит на ум, если человек хочет начать «делать сайты» – это PHP. Во-вторых, многие не хотят использовать продукт от Microsoft, полагая, что за это нужно платить немаленькие суммы (с данным вопросом мы уже разобрались) или просто испытывая неприятные к этой компании чувства. В-третьих, порог вхождения в PHP гораздо ниже, чем в ASP.Net, т.к. сам язык проще для изучения (например, для работы с ASP.Net необходимо знать ООП, для PHP это необязательно). Однако, повторюсь – я крайне не рекомендую начинать изучение программирования с PHP – лучше пусть это будет, например, язык Си. 
Подводя итог, скажу, что, используя любую из описанных технологий, можно создать как очень хороший, так и весьма некачественный продукт. Главное – это профессиональное владение инструментом, а какой именно инструмент использовать – выбор за вами.  
 
Неволин Александр


Информация о работе Сравнение php и asp.net технологий