HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>14 окт 2019</li>
2 <ul><li>14 окт 2019</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>ASP.NET и PHP - две самые популярные технологии среди backend-разработчиков. Разбираем, чем они отличаются и какую лучше выбрать новичку.</p>
4 </ul><p>ASP.NET и PHP - две самые популярные технологии среди backend-разработчиков. Разбираем, чем они отличаются и какую лучше выбрать новичку.</p>
5 <p> vlada_maestro / shutterstock</p>
5 <p> vlada_maestro / shutterstock</p>
6 <p>Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.</p>
6 <p>Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.</p>
7 <p>Несмотря на то что на <a>PHP</a>написано 79% всех сайтов в интернете, есть и другие технологии, которые хорошо подходят для написания серверной части веб-приложений: Python, Java, Ruby, Node.JS.</p>
7 <p>Несмотря на то что на <a>PHP</a>написано 79% всех сайтов в интернете, есть и другие технологии, которые хорошо подходят для написания серверной части веб-приложений: Python, Java, Ruby, Node.JS.</p>
8 <p>В этой статье мы разобрали отличия PHP и его основного конкурента -<a>ASP.NET</a>, доля которого среди сайтов составляет 11,2%.</p>
8 <p>В этой статье мы разобрали отличия PHP и его основного конкурента -<a>ASP.NET</a>, доля которого среди сайтов составляет 11,2%.</p>
9 Процентное соотношение сайтов, написанных на разных языках программирования. Один сайт может использовать несколько языков.<a>Источник</a><p>PHP - это скриптовый интерпретируемый язык, созданный специально для разработки серверной части сайтов. На нём написаны такие сайты, как:</p>
9 Процентное соотношение сайтов, написанных на разных языках программирования. Один сайт может использовать несколько языков.<a>Источник</a><p>PHP - это скриптовый интерпретируемый язык, созданный специально для разработки серверной части сайтов. На нём написаны такие сайты, как:</p>
10 <ul><li>Facebook*;</li>
10 <ul><li>Facebook*;</li>
11 <li>VK.com;</li>
11 <li>VK.com;</li>
12 <li>WordPress (и все сайты, созданные на нём);</li>
12 <li>WordPress (и все сайты, созданные на нём);</li>
13 <li>YouTube;</li>
13 <li>YouTube;</li>
14 <li>Wikipedia и очень многое другое.</li>
14 <li>Wikipedia и очень многое другое.</li>
15 </ul><p>ASP.NET - это фреймворк для языков из семейства .NET (чаще всего C# или Visual Basic), который позволяет писать серверную часть сайтов. С его помощью созданы такие площадки, как:</p>
15 </ul><p>ASP.NET - это фреймворк для языков из семейства .NET (чаще всего C# или Visual Basic), который позволяет писать серверную часть сайтов. С его помощью созданы такие площадки, как:</p>
16 <ul><li>Exchanger.com;</li>
16 <ul><li>Exchanger.com;</li>
17 <li>MSN.com;</li>
17 <li>MSN.com;</li>
18 <li>Microsoft.com;</li>
18 <li>Microsoft.com;</li>
19 <li>Dell.com;</li>
19 <li>Dell.com;</li>
20 <li>Stackoverflow.com и другие.</li>
20 <li>Stackoverflow.com и другие.</li>
21 </ul><p>Вот основные отличия этих технологий:</p>
21 </ul><p>Вот основные отличия этих технологий:</p>
22 PHP<strong>ASP.NET</strong><strong>Способ выполнения</strong><strong>Интерпретируется.</strong><em>При каждом обращении к скрипту он запускается, а после выполнения - закрывается. Поэтому на небольших проектах можно обойтись без сборки мусора.</em><strong>Компилируется.<em>Сайт представляет собой приложение, которое создаёт новый поток при каждом обращении. Есть встроенная сборка мусора.</em></strong><strong>Простота изучения</strong><strong>Низкий порог входа.</strong><em>Новичок сможет написать первый сайт на PHP за один день. (Конечно, если он уже знает HTML и CSS.)</em><strong>Высокий порог входа.</strong><em>Перед изучением самого ASP.NET нужно освоить какой-нибудь язык из семейства .NET.</em><strong>Объём кода</strong><strong>Компактный.</strong><strong><em>На PHP можно быстро написать какой-нибудь блог, используя минимум кода.</em></strong><strong>Чуть менее компактный.</strong> <em>Даже для простого вывода надписи "Hello, World!" требуется создать отдельный класс и запустить анонимный асинхронный метод. Несмотря на это, многие задачи можно выполнить с помощью лаконичного кода.</em><strong>Размер проектов</strong><strong>Предпочтителен для небольших проектов.</strong><em>Поддержка кода на PHP сложнее, потому что в нём реже используется ООП и нет типизации (пока), а также сложно проводить отладку.</em><strong>Подходит для больших проектов.</strong><em>Небольшой сайт на ASP.NET уступает в скорости аналогичному на PHP. Однако он почти не проседает при большой нагрузке.</em><strong>Типизация</strong>В планах<strong>Есть</strong><strong>Популярность и</strong> <strong>сообщество</strong><strong>Популярный.</strong><em>Большое сообщество разработчиков, множество тем на форумах и Stack Overflow.</em><strong>Менее популярный.</strong><em>Сообщество значительно меньше, чем у PHP, но это компенсируется большим количеством книг и очень подробной документацией.</em><strong>Зарплаты</strong><strong>Хорошие зарплаты на</strong> <strong>фрилансе и</strong> <strong>в</strong> <strong>столицах.</strong><em>В регионах дела обстоят чуть хуже.</em><strong>Зарплаты чуть выше.</strong><em>Это связано с более высокой квалификацией, поэтому PHP-разработчик с аналогичными навыками может зарабатывать не меньше.</em><strong>Развитие</strong><strong>Быстро развивается и меняется.</strong><em>В новых версиях PHP планируют добавить типизацию, также постоянно появляются какие-то изменения, которые делают PHP лучше от версии к версии. Поэтому уже нельзя сказать, что PHP - это нестабильный и уязвимый язык для новичков.</em><strong>Быстро развивается, но следует плану.</strong><em>Microsoft прислушивается к сообществу по поводу того, какие изменения вносить в язык. Но всё же компания не отходит от определённого пути. То есть ASP.NET-разработчик может быть уверен, что, проснувшись завтра, не обнаружит любимый фреймворк для создания сайтов изменившимся до неузнаваемости.</em><strong>Коллекции</strong><strong>Только массивы.</strong><em>В PHP в качестве коллекций можно использовать только массивы, но они совмещают в себе особенности всех других коллекций. Например, можно указать строку в качестве ключа (аналог Dictionary в C#) или добавлять и удалять любые ячейки (аналог List). Это удобно для новичков, но усложняет поддержку и чтение кода.</em><strong>Множество разных коллекций.</strong><em>В C# и Visual Basic очень широкие возможности по работе с коллекциями: списки, очереди, словари, карты и так далее. Работа с ними становится ещё более мощной благодаря обобщённым коллекциям.</em><strong>Асинхронность и</strong> <strong>многопоточность</strong><strong>Многопоточность не</strong> <strong>нужна.</strong><em>Так как PHP запускает отдельный экземпляр скрипта при каждом обращении к нему, многопоточность и асинхронность особо не нужны - всё и так отлично работает.</em><strong>Широкие возможности.</strong><em>Языки семейства .NET позволяют эффективно работать с несколькими потоками и выполнять одновременно различные задачи. Например, при каждом обращении к сайту создаётся асинхронный поток.</em><strong>Размещение</strong><strong>Много дешёвых серверов.</strong><em>Это связано с популярностью PHP. Практически все хостинги предоставляют возможность использовать PHP-скрипты без дополнительной настройки - просто загрузите ваш сайт, и он заработает.</em><strong>Серверы подороже.</strong><em>ASP.NET менее популярен, поэтому и хостингов значительно меньше, а стоят они дороже.</em><p>Отдельно стоит сказать, что оба языка активно развиваются, поэтому некоторые различия перестанут быть актуальными уже в скором времени. Например, в PHP собираются ввести типизацию, а всё семейство .NET переходит в open source с поддержкой кроссплатформенности. Поэтому PHP может стать сложнее, а ASP.NET - популярнее и доступнее.</p>
22 PHP<strong>ASP.NET</strong><strong>Способ выполнения</strong><strong>Интерпретируется.</strong><em>При каждом обращении к скрипту он запускается, а после выполнения - закрывается. Поэтому на небольших проектах можно обойтись без сборки мусора.</em><strong>Компилируется.<em>Сайт представляет собой приложение, которое создаёт новый поток при каждом обращении. Есть встроенная сборка мусора.</em></strong><strong>Простота изучения</strong><strong>Низкий порог входа.</strong><em>Новичок сможет написать первый сайт на PHP за один день. (Конечно, если он уже знает HTML и CSS.)</em><strong>Высокий порог входа.</strong><em>Перед изучением самого ASP.NET нужно освоить какой-нибудь язык из семейства .NET.</em><strong>Объём кода</strong><strong>Компактный.</strong><strong><em>На PHP можно быстро написать какой-нибудь блог, используя минимум кода.</em></strong><strong>Чуть менее компактный.</strong> <em>Даже для простого вывода надписи "Hello, World!" требуется создать отдельный класс и запустить анонимный асинхронный метод. Несмотря на это, многие задачи можно выполнить с помощью лаконичного кода.</em><strong>Размер проектов</strong><strong>Предпочтителен для небольших проектов.</strong><em>Поддержка кода на PHP сложнее, потому что в нём реже используется ООП и нет типизации (пока), а также сложно проводить отладку.</em><strong>Подходит для больших проектов.</strong><em>Небольшой сайт на ASP.NET уступает в скорости аналогичному на PHP. Однако он почти не проседает при большой нагрузке.</em><strong>Типизация</strong>В планах<strong>Есть</strong><strong>Популярность и</strong> <strong>сообщество</strong><strong>Популярный.</strong><em>Большое сообщество разработчиков, множество тем на форумах и Stack Overflow.</em><strong>Менее популярный.</strong><em>Сообщество значительно меньше, чем у PHP, но это компенсируется большим количеством книг и очень подробной документацией.</em><strong>Зарплаты</strong><strong>Хорошие зарплаты на</strong> <strong>фрилансе и</strong> <strong>в</strong> <strong>столицах.</strong><em>В регионах дела обстоят чуть хуже.</em><strong>Зарплаты чуть выше.</strong><em>Это связано с более высокой квалификацией, поэтому PHP-разработчик с аналогичными навыками может зарабатывать не меньше.</em><strong>Развитие</strong><strong>Быстро развивается и меняется.</strong><em>В новых версиях PHP планируют добавить типизацию, также постоянно появляются какие-то изменения, которые делают PHP лучше от версии к версии. Поэтому уже нельзя сказать, что PHP - это нестабильный и уязвимый язык для новичков.</em><strong>Быстро развивается, но следует плану.</strong><em>Microsoft прислушивается к сообществу по поводу того, какие изменения вносить в язык. Но всё же компания не отходит от определённого пути. То есть ASP.NET-разработчик может быть уверен, что, проснувшись завтра, не обнаружит любимый фреймворк для создания сайтов изменившимся до неузнаваемости.</em><strong>Коллекции</strong><strong>Только массивы.</strong><em>В PHP в качестве коллекций можно использовать только массивы, но они совмещают в себе особенности всех других коллекций. Например, можно указать строку в качестве ключа (аналог Dictionary в C#) или добавлять и удалять любые ячейки (аналог List). Это удобно для новичков, но усложняет поддержку и чтение кода.</em><strong>Множество разных коллекций.</strong><em>В C# и Visual Basic очень широкие возможности по работе с коллекциями: списки, очереди, словари, карты и так далее. Работа с ними становится ещё более мощной благодаря обобщённым коллекциям.</em><strong>Асинхронность и</strong> <strong>многопоточность</strong><strong>Многопоточность не</strong> <strong>нужна.</strong><em>Так как PHP запускает отдельный экземпляр скрипта при каждом обращении к нему, многопоточность и асинхронность особо не нужны - всё и так отлично работает.</em><strong>Широкие возможности.</strong><em>Языки семейства .NET позволяют эффективно работать с несколькими потоками и выполнять одновременно различные задачи. Например, при каждом обращении к сайту создаётся асинхронный поток.</em><strong>Размещение</strong><strong>Много дешёвых серверов.</strong><em>Это связано с популярностью PHP. Практически все хостинги предоставляют возможность использовать PHP-скрипты без дополнительной настройки - просто загрузите ваш сайт, и он заработает.</em><strong>Серверы подороже.</strong><em>ASP.NET менее популярен, поэтому и хостингов значительно меньше, а стоят они дороже.</em><p>Отдельно стоит сказать, что оба языка активно развиваются, поэтому некоторые различия перестанут быть актуальными уже в скором времени. Например, в PHP собираются ввести типизацию, а всё семейство .NET переходит в open source с поддержкой кроссплатформенности. Поэтому PHP может стать сложнее, а ASP.NET - популярнее и доступнее.</p>
23 <p>Также стоит отметить значительные различия в синтаксисе. Например, вот как в PHP выводится текст:</p>
23 <p>Также стоит отметить значительные различия в синтаксисе. Например, вот как в PHP выводится текст:</p>
24 &lt;? $var = "Hello, World!"; //Создание переменной не требует указания типа echo $var; //Вывод с помощью одного оператора ?&gt;<p>В ASP.NET это выглядит вот так:</p>
24 &lt;? $var = "Hello, World!"; //Создание переменной не требует указания типа echo $var; //Вывод с помощью одного оператора ?&gt;<p>В ASP.NET это выглядит вот так:</p>
25 app.Run(async (context) =&gt; { //Анонимный асинхронный метод, который вызывается при каждом обращении к приложению string text = "Hello World!"; //Создание переменной типа string await context.Response.WriteAsync(text); //Вывод });<p>Этот код находится в методе<em>Configure ()</em>класса<em><strong>Startup</strong></em>, который отвечает за работу приложения. Стоит отметить, что таким образом нельзя вывести HTML-код. В PHP же с помощью оператора<em>echo</em>легко выводится не только текст, но и HTML-теги.</p>
25 app.Run(async (context) =&gt; { //Анонимный асинхронный метод, который вызывается при каждом обращении к приложению string text = "Hello World!"; //Создание переменной типа string await context.Response.WriteAsync(text); //Вывод });<p>Этот код находится в методе<em>Configure ()</em>класса<em><strong>Startup</strong></em>, который отвечает за работу приложения. Стоит отметить, что таким образом нельзя вывести HTML-код. В PHP же с помощью оператора<em>echo</em>легко выводится не только текст, но и HTML-теги.</p>
26 <p>Новичкам в программировании стоит выбрать в качестве первой технологии PHP - она проще в освоении, на ней можно практически сразу что-то создать. Поэтому можно сразу увидеть результат своих действий, а это один из главных признаков прогресса.</p>
26 <p>Новичкам в программировании стоит выбрать в качестве первой технологии PHP - она проще в освоении, на ней можно практически сразу что-то создать. Поэтому можно сразу увидеть результат своих действий, а это один из главных признаков прогресса.</p>
27 <p>Кроме того, что PHP прост, он всё-таки достаточно мощный, потому что поддерживает работу с базами данных, файлами, изображениями, ООП и многое другое. Это поможет стать хорошим разработчиком на этом языке или подготовит базу для перехода на что-то другое.</p>
27 <p>Кроме того, что PHP прост, он всё-таки достаточно мощный, потому что поддерживает работу с базами данных, файлами, изображениями, ООП и многое другое. Это поможет стать хорошим разработчиком на этом языке или подготовит базу для перехода на что-то другое.</p>
28 <p>Но есть и недостаток такого выбора: по PHP не очень много полезных книг, однако вы всегда можете записаться на <a>наш курс</a>.</p>
28 <p>Но есть и недостаток такого выбора: по PHP не очень много полезных книг, однако вы всегда можете записаться на <a>наш курс</a>.</p>
29 <p>ASP.NET лучше изучать тем, кто уже знаком с программированием и знает о типизации, ООП, отладке, обработке исключений и прочем. Несмотря на то что у него меньше сообщество, на официальном сайте Microsoft есть подробная документация, а на форумах всегда могут помочь с решением проблем.</p>
29 <p>ASP.NET лучше изучать тем, кто уже знаком с программированием и знает о типизации, ООП, отладке, обработке исключений и прочем. Несмотря на то что у него меньше сообщество, на официальном сайте Microsoft есть подробная документация, а на форумах всегда могут помочь с решением проблем.</p>
30 <p>Также по ASP.NET больше хороших книг. Но всё-таки он больше подходит тем, кто не гонится за сиюминутным результатом - написать первый сайт на нём можно далеко не за один день, в отличие от PHP.</p>
30 <p>Также по ASP.NET больше хороших книг. Но всё-таки он больше подходит тем, кто не гонится за сиюминутным результатом - написать первый сайт на нём можно далеко не за один день, в отличие от PHP.</p>
31 <p>То, что я скажу дальше, - это моё личное мнение, с которым вы (или редакция Skillbox) можете не согласиться.</p>
31 <p>То, что я скажу дальше, - это моё личное мнение, с которым вы (или редакция Skillbox) можете не согласиться.</p>
32 <p>В работе над разными проектами мне часто приходится сталкиваться как с C# (ASP.NET), так и с PHP. Это бывают как новые проекты, так и поддержка существующих. И, как мне кажется, ASP.NET в разы эффективнее, если сайт рассчитан на долгосрочную перспективу.</p>
32 <p>В работе над разными проектами мне часто приходится сталкиваться как с C# (ASP.NET), так и с PHP. Это бывают как новые проекты, так и поддержка существующих. И, как мне кажется, ASP.NET в разы эффективнее, если сайт рассчитан на долгосрочную перспективу.</p>
33 <p>Даже если код писал не самый лучший разработчик, в нём можно гораздо быстрее разобраться, потому что в C# есть типизация, лаконичный синтаксис и хорошая реализация ООП. PHP в этом плане значительно проигрывает.</p>
33 <p>Даже если код писал не самый лучший разработчик, в нём можно гораздо быстрее разобраться, потому что в C# есть типизация, лаконичный синтаксис и хорошая реализация ООП. PHP в этом плане значительно проигрывает.</p>
34 Твоё лицо, когда написал самую крупную социальную сеть на PHP<p>Поэтому я бы посоветовал PHP для тех проектов, которые нужно быстро написать, сдать и забыть. Максимум - раз в месяц вносить какие-то правки.</p>
34 Твоё лицо, когда написал самую крупную социальную сеть на PHP<p>Поэтому я бы посоветовал PHP для тех проектов, которые нужно быстро написать, сдать и забыть. Максимум - раз в месяц вносить какие-то правки.</p>
35 <p>Разбираться в C# гораздо проще, даже если код написал менее аккуратный программист.</p>
35 <p>Разбираться в C# гораздо проще, даже если код написал менее аккуратный программист.</p>
36 <p>Какая бы технология ни казалась вам предпочтительнее, не забывайте, что инструменты нужно выбирать индивидуально для каждой задачи. Простой блог можно написать и на PHP, а для проектов в сфере коммерции, финансов или госаппарата лучше выбрать ASP.NET.</p>
36 <p>Какая бы технология ни казалась вам предпочтительнее, не забывайте, что инструменты нужно выбирать индивидуально для каждой задачи. Простой блог можно написать и на PHP, а для проектов в сфере коммерции, финансов или госаппарата лучше выбрать ASP.NET.</p>
37 <p>* Решением суда запрещена "деятельность компании Meta Platforms Inc. по реализации продуктов - социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности.</p>
37 <p>* Решением суда запрещена "деятельность компании Meta Platforms Inc. по реализации продуктов - социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности.</p>
38 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
38 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>