Я много работал над созданием веб-приложений с использованием PHP и ASP.NET, но один из вопросов, который мне постоянно задают клиенты, заключается в том, стоит ли переходить на php-сайт или asp.net.
Естественно, первое, что приходит в голову, это ответить на вопрос следующим образом:
PHP с открытым исходным кодом и ASP.NET от Microsoft.
Обычно после того, как что-то подобное сказано, клиент теряет взгляд. Очевидно, тот факт, что один с открытым исходным кодом, а другой нет, на самом деле не беспокоит их. И на то есть веская причина, потому что, когда я впервые услышал это, это мне мало что говорит.
Из работы с обоими я знаю, что у каждого есть свои отличия, когда речь идет о разработке веб-сайтов.
Мой вопрос заключается в том, какие различия между ASP.NET и PHP, насколько
- Особенности
- Безопасность
- Продолжаемость
- Каркасы
- Среднее время разработки
Я пытаюсь составить список фактов, чтобы их можно было сравнить с заказчиком, чтобы сделать осознанный выбор подходящей платформы разработки.
источник
Ответы:
Функции , безопасность и расширяемость будут примерно одинаковыми. То, что можно сделать с помощью PHP, можно сделать с помощью ASP.NET.
Фреймворки. Опять же, когда речь заходит об особенностях фреймворков, они будут более или менее одинаковыми. Однако, будучи более конкретным, чем сам язык, вы захотите рассмотреть:
Среднее время разработки - Ваше среднее время разработки для очень маленького проекта может быть лучше с PHP, так как веб-хосты так легко найти, а разработчики машин так легко настроить. Тем не менее, с чем-то большим, если у вас есть хорошие разработчики, или вы уже настроены на что-либо, это, вероятно, будет стирка.
Главное, что вы должны сделать, это то, какой технологический стек ваш клиент хочет привязать к дальнейшему развитию. Ни один не смешивается хорошо (легко) с другим. У них могут быть разработчики, которые знакомы с одним или другим.
Если вашему клиенту нравится идея подключения к Microsoft, используйте ASP.NET. У некоторых клиентов будет больше комфорта в отношении будущей поддержки, обновлений и т. Д. С MS.
Если им нравится идея серверов с открытым исходным кодом и серверов Linux, используйте PHP . Это может заинтересовать некоторых клиентов из-за переносимости веб-хостов, свободного программного обеспечения и т. Д.
И, наконец, если им все равно, тогда выбирайте то, что вам больше всего удобно . Там не так много, кроме этого.
источник
Просто чтобы дать представление о том, на чем я основываю свои ответы, я профессионально занимался разработкой PHP более 6 лет, я играл с ASP.NET MVC в течение последних 3-4 месяцев, и я занимался C # программирование примерно столько же, сколько программирование на PHP.
Для меня это больше аргумент PHP против C #, чем аргумент PHP против ASP.NET.
Возможность / расширяемость
Я думаю, что ASP.NET выигрывает здесь, и это больше из-за способности использовать язык как C #. C # - намного лучший язык, чем PHP, с поддержкой OO. Я также человек, который предпочитает статически типизированный язык (даже подумав, что в C # 4.0 я считаю, что вы можете создавать динамически типизированные переменные). Единственное, что у PHP было над C # в том, что касается языковой функции, это необязательные параметры, но это еще одна вещь, которая была добавлена в C # 4.0 (не уверен, насколько хорошо это работает, поскольку я еще не пробовал).
Безопасность
Я бы, наверное, сказал, что это стирка между ними. Я думаю, что у них обоих есть функциональность, чтобы помочь с безопасностью, но в конечном счете программист должен убедиться, что их приложение безопасно.
Фреймворки
Ну, похоже, в PHP гораздо больше базовых фреймворков (CakePHP, Codeigniter, Symfony, Zend Framework) и множество других более мелких фреймворков, чем ASP.NET. ASP.NET имеет 2 основных фреймворка от Microsoft, WebForms (полная чушь) и ASP.NET MVC (причина, по которой я начал заниматься разработкой ASP.NET). Хотя PHP имеет больше фреймворков, я считаю, что фреймворк ASP.NET MVC 3 лучше, чем любой из фреймворков PHP.
Среднее время разработки
Я думаю, что для небольших проектов время разработки в PHP намного лучше, однако, поскольку ваш проект увеличивается в размерах, C # лучше масштабируется в этом отношении.
Стоимость
Некоторые, которые должны быть подняты, это стоимость. PHP победил на этом фронте. Хотя вы можете запускать ASP.NET в Mono в Linux, у него есть свои проблемы.
Если вы делаете небольшой или средний размер проекта и / или стоимость является фактором, PHP побеждает. Если вы делаете крупномасштабный проект, я бы выбрал ASP.NET w / C # и ASP.NET MVC.
источник
PHP против ASP.NET похож на сравнение яблок и апельсинов, предназначенных для различных решений.
PHP лучше подходит для небольших, начинающих решений. PHP будет работать или Linux, Windows без особых требований. Microsoft ASP.NET - это мощная инфраструктура промышленного уровня, в которой есть все, что вы только можете себе представить, и даже больше. ASP.NET - это полнофункциональная готовая среда. Многие утверждают, что ASP.NET стоит дорого, как это было несколько лет назад, но не больше. Сначала инструменты бесплатны (экспресс-выпуски), параметры базы данных бесплатны (SQL Compact или SQL Server 2005 или более поздняя версия Express). Купить хостинг сейчас очень дешево, поэтому вопрос не в том, что лучше, а в том, что подходит вашему решению. Лично я предпочитаю ASP.NET, но это потому, что я работаю в корпоративной среде, где гибкость и масштабируемость очень важны, поэтому решения определяют структуру.
Очень важно то, на каком языке ты лучше всего? Это должно быть последним фактором в решении.
Если ваша цель - убедить клиента, тогда лучше выбрать asp.net. Большое название компании и язык помогают клиенту чувствовать себя комфортно. В этом случае лучшими вариантами являются (Microsoft) ASP.NET и (Oracle) Java JSP.
РЕДАКТИРОВАТЬ: многофункциональный - ASP.NET предоставляет две альтернативы для создания веб-форм веб-сайта и подхода MVC. Поскольку он отличается от .NET Framework, вам нужны очень мощные функции, например WF (рабочий процесс), DLR (динамический язык Runtime), Parallel Linq, Linq, маршрутизация, различные формы управления состоянием данных: элементы HTTPContext, ViewState, Runtime Cache, page Кэш вывода, три разных типа реализации сессий InProc, State и SQL Server. ASP.NET реализует различные формы безопасности, например, поставщик членства и поставщик ролей. Я не хочу мешать PHP, но ASP.NET находится в другой лиге.
источник
Тщательно поработав с обоими, вы уже знаете, что ответы будут разными в зависимости от проблемы и клиента. В очень общем смысле:
Если вы составляете список фактов для своих клиентов, основывайте его на том, что вы знаете. Ваши исследования, независимо от того, насколько предвзяты ваши выводы, хороши для получения ваших пуль.
источник
Элементы управления .net гораздо приятнее того, что вы можете найти с платформой PhP. Посмотрите, например, на Infragistics, что эквивалентно лампе?
источник