Статьи

Дебаты — .NET V. PHP: 6 основных причин использования .NET

Добро пожаловать в другую дискуссию SitePoint. Сегодня кинжалы затянуты над этой давней битвой технологических титанов — Open Source и Microsoft.

В частности, мы спрашиваем: «.NET означает конец для PHP?» Судите сами…

Прежде всего, я хотел бы уточнить, что я парень PHP. Я программировал на PHP последние 2 года, и все мои текущие сайты построены на PHP и MySQL. Я никогда не любил ASP, пока работал веб-разработчиком, и до сих пор не люблю его. Однако ASP.NET — это совершенно другой вопрос, который я изучаю сейчас с большим энтузиазмом. Эта статья предназначена для разработчиков PHP и призвана показать некоторые интересные вещи, которые ASP.NET может предложить. И в конце концов, нет никаких причин, по которым вы не знаете как ASP.NET, так и PHP.

Что такое .NET Framework?

.NET Framework состоит из двух основных частей:

  1. CLR (вещь, которая запускает код), и
  2. иерархический набор библиотек классов (подумайте о функциях PHP + библиотеках PEAR, немного расширите их и организуйте в очень хорошую иерархическую структуру). В эти библиотеки классов включены ASP.NET, ADO.NET (система доступа к данным) и Windows Forms (классы для создания приложений Windows).

CLR может запускать код, написанный на любом языке, который адаптирован к .NET, и может запускать его в любой операционной системе с версией CLR. Другими словами, вроде Java, который не обязательно должен быть написан на Java.

Пример: платформа веб-форм

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

<select id="ColorSelect" runat="server">
<option>SkyBlue</option>
<option>LightGreen</option>
<option>Gainsboro</option>
<option>LemonChiffon</option>
</select>
<span id="Span1" runat="server">Some text.</span>

Обратите внимание, что приведенный выше код представляет собой обычный HTML с добавлением атрибута runat = ”server” в тегах <span> <select> Теперь, чтобы добавить опцию в это окно выбора, вы должны включить в свой код ASP.NET следующее (которое, кстати, может быть полностью отделено от HTML):

ColorSelect.Items.Add('AzureBlue');

И чтобы манипулировать тегом <span>, вы должны сделать это:

Span1.Style["background-color"] = "red";
Span1.InnerHTML = "Changed text!";

… И система выводит 100% действительный XHTML в браузер:

<select id="ColorSelect">
<option>SkyBlue</option>
<option>LightGreen</option>
<option>Gainsboro</option>
<option>LemonChiffon</option>
<option>AzureBlue</option>
</select>
<span style="background-color: red;">Changed text!</span>

Помимо того, что это очень круто , это также значительно облегчает сотрудничество с невежественными ребятами из HTML / Designer. Это только очень простой пример того, на что способен каркас веб-форм, и, если вам интересно, вы можете ознакомиться с другими примерами в руководствах по быстрому старту ASP.NET на GotDotNet .

6 великих причин для использования .NET

1. Скорость

Как и все приложения .NET, приложения ASP.NET компилируются. Это делает их намного быстрее, чем PHP, чьи приложения интерпретируются. Для достижения того же эффекта с PHP на сервере должны быть установлены Zend и PHP-ускоритель, что редко встречается в большинстве веб-хостинговых компаний. Кроме того, OO намного быстрее в ASP.NET, чем в PHP.

2. Больше языковой поддержки

ASP.NET написан с использованием «настоящих» ОО (объектно-ориентированных) языков программирования по вашему выбору. PHP — это простой язык сценариев по сравнению с языками .NET, такими как C ++, VB.NET или C # — языки, которые дают вам больший контроль и возможность повторного использования. Тем не менее, эти языки также сложнее выучить и освоить, и они могут быть пугающими, если вы не программировали очень долго. Например, ASP.NET не может быть освоен так же легко, как PHP, хотя C # не очень сложен в изучении, если вы уже знаете PHP.

Еще одна хорошая особенность .NET в том, что он поддерживает несколько языков. В настоящее время вы можете писать (или сможете в ближайшем будущем) приложения ASP.NET на C ++, C #, Visual Basic.NET, Jscript.NET, Python, Perl, Java (J #), COBOL, Eiffel и Delphi. В будущем вы можете даже написать свои приложения ASP.NET на PHP — это не невозможно!

Что в этом хорошего, так это то, что вы можете смешивать код. может создать объект в C # из класса, написанного на C ++ или VB.NET. Это увеличивает пул найма программистов для компаний и повышает ваши шансы найти подходящий заранее написанный класс для вашего проекта в Интернете.

3. Ваш выбор среды разработки

Это область, где светит ASP.NET!

Microsoft выпустила бесплатную среду разработки для ASP.NET, которая называется Web Matrix , которая уничтожает все другие бесплатные среды разработки для PHP. Он имеет встроенный веб-сервер, интерфейс администрирования базы данных FTP и многое другое. Кроме того, Microsoft выпустила MSDE — бесплатную версию MS SQL-сервера для разработчиков. Он обладает всеми функциями полноценного MS SQL Server 2000, и любое приложение, написанное для MSDE, будет нормально работать на MS SQL Server.

Если вы можете позволить себе Visual Studio .NET , он также предлагает некоторые удивительные качества. Это позволяет вам:

  • автоматически создавать отчеты и диаграммы из ваших баз данных,
  • построчно отлаживать код, одновременно наблюдая за тем, что происходит в приложении,
  • назначить временное значение переменной в середине выполнения, чтобы проверить другой сценарий,
  • наведите курсор на переменные в вашем коде во время отладки, чтобы увидеть, какое значение они имеют «прямо сейчас»,

…и многое другое.

4. Это часть .NET

ASP.NET является частью .NET, и это преимущество слишком велико, чтобы его просто игнорировать. Если вы знаете, как писать приложения ASP.NET, вы знаете, как писать обычные приложения. Даже приложения Windows, если вы немного читаете о классах Windows Forms (в отличие от веб-форм). PHP имеет PHP-GTK, но в настоящее время он очень незрелый по сравнению с .NET.

5. Разрабатывать дешевле

Не ожидал этого, не так ли? Это даже удивило меня! Из-за того, что ASP.NET является таким мощным приложением, и оно предлагается бесплатно (включая редактор кода, веб-сервер и FTP-клиент), я фактически заплатил меньше ($ 0), чем за свою среду разработки PHP Состоит из UltraEdit (35 долларов США), Пуленепробиваемого FTP (30 долларов США) и mySQLfront (0 долларов США). При этом хостинг ASP.NET все еще дороже, чем PHP.

6. Это кросс-платформенный

.NET в настоящее время в значительной степени привязан к платформе Windows. Это плохо, но я вполне уверен, что .NET станет очень кроссплатформенным через несколько лет. Почему? Некоторое время назад Microsoft выпустила Rotor, реализацию Shared Source CLR (CLR = вещь, которая выполняет код) и большинство не относящихся к Windows библиотек классов для Windows и BSD Unix, с исходным кодом для обоих. Когда я впервые услышал это, я не поверил — это ДЕЙСТВИТЕЛЬНО не звучало так, как Microsoft. И когда я понял, что это действительно так, я ожидал, что Rotor станет самой маленькой и самой слабой реализацией, с которой Microsoft может сойти.

Я не мог быть более неправильным. Ротор не был построен по дешевке — он практически идентичен своему коммерческому аналогу в большинстве важных аспектов. В .NET также имеется очень мощный уровень абстракции платформы, благодаря которому порты для других операционных систем довольно легко доступны. Не только это, но CLI и C # теперь стандартизированы ECMA. И проект Mono, за которым стоит Ximian, сейчас работает над реализацией платформы .NET с открытым исходным кодом. Все эти факторы заставляют меня полагать, что шансы .NET стать кроссплатформенными очень высоки.

Попытайся!

Но не принимайте мои слова (или слова Гарри) как Евангелие! Попробуйте ASP.NET для себя. Сначала загрузите .NET Framework (21 МБ), затем загрузите MSDE (MS SQL 2000-light, о котором я говорил ранее — 33 МБ) и, наконец, ASP.NET Web Matrix (1,2 МБ).

После того, как они установлены, вы готовы разрабатывать приложения ASP.NET — ознакомьтесь с официальными учебными пособиями по быстрому старту ASP.NET или, что еще лучше, с прекрасной серией статей Кевина Янка о начале ASP.NET . Наслаждайтесь!

Услышь обе стороны от спора! Узнайте, почему оппозиция считает PHP лучше , и примите решение!