На рынке удаленного программирования .Net входит в десятку самых востребованных технологий. Но топовые места занимает PHP. Учитывая этот, пару раз я пытался взять на вооружение пхп. Связано это было не только с моим личным интересом, но и с тем, что на вход мне давали «почти готовый сайт», написанный на PHP. Не, ну понятно, что любой программист, получив на ревью или доработку чужой код на любом языке, относится к нему, как к говну мамонта. Но я старался взглянуть сквозь код конкретного программиста, и обнаружить удобство и эффективность самой технологии, оценить инструменты повышения скорости разработки и отладки, в сравнении с .Net. Но, как ни искал, так и не смог обнаружить преимущества языка PHP и кучи фреймворков вокруг него при решении задач, стоящих передо мной. Всегда неизменно возвращался к своему уютненькому .Net. Вплоть до того, что написанное на PHP переписывал на C#, попутно меняя архитектуру решения. Самая масштабная история – это рождение полноценного интернет магазина, которое началось с того, что клиент попросил меня сделать более удобную процедуру ввода покупателем заказа, чем та, что в соответствии со стандартными настройками предлагалась системой PrestaShop.
Давайте взглянем на проблему выбора технологии не с моей точки зрения, а с точки зрения заказчика. Предположим, что вы нашли хорошего исполнителя, и он сделал вам на PHP именно, то, что вы хотели. Предположим, что идея, ради которой вы решили сделать сайт, оказалась коммерчески успешной, и ваш сайт стал прирастать полезными особенностями и дополнениям.
Ваш хороший исполнитель (который занимается не только расширением возможностей сайта на PHP с помощью стандартного букета окружения: MySQL, Wordpress и т.д., - но и поддержкой) понимает, что одному ему с задачей не справиться, и приглашает к себе помощников, потом еще, потом еще и потом еще…
И тут выясняется, что PHP далеко не самая хорошая технология с точки зрения масштабируемости. Да и MySQL – тоже.
На самом деле все хуже. Низкий порог входа способствует тому, что на рынке труда имеется большое количество PHP программистов, и далеко не у всех из них высокая квалификация. Если вы не искушены в методах отличия хороших специалистов от плохих, то единственный критерий отбора для вас - цена. Опираясь только на цену в океане предложений, вы вряд ли получите качественный продукт и квалифицированное его сопровождение. И вероятность того, что сопровождение будет дешевым и продолжительным тоже достаточно низка. И вот почему.
В силу низкого порога входа, среди специалистов со знанием PHP легче всего найти тех, кто предложит самую низкую цену. Наверное, для недолговечных простых и
стандартных решений связка PHP+(WordPress || Joomla || Drupal || MODX || OpenCart || Yii или какой либо другой фреймворк) в исполнении джуниор девелопера будет
правильным выбором. Но когда речь пойдет о нестандартных и сложных решениях, критерия только лишь цены для выбора будет недостаточно. Кроме того, следует учитывать,
что джуниор – это временное состояние амбициозного человека. Через какое-то время джуниор станет миддлом, и захочет больше денег. А с точки зрения заказчика это будет
выглядеть, как «программист совсем обнаглел». А он не обнаглел, он просто повысил свою квалификацию, тренируясь, на кошечках заказчике.
Что тут можно добавить? – разве что цитату великого русского поэта А.С. Пушкина: «Не гонялся бы ты, поп, за дешевизной».
ASP.NET позволяет создавать как небольшие проекты, так и средние, и крупные. ASP.NET – прекрасно масштабируется. Подтверждением тому являются компании Amazon.com и Ozon.ru. Что касается Озона, то эта компания была вынуждена перейти на .Net технологию после продолжительных мучительных и безуспешных попыток решить свои задачи на Java.
С точки зрения программиста работа c ASP.Net через Visual Studio – удобна, логична и быстра. Казалось бы, какое дело заказчику до удобств исполнителя программиста? На самом деле – дело есть. Чем меньше программист решает свои проблемы, тем больше времени у него останется для решения задач заказчика.
Философия .Net не заставляет программистов знать больше, чем им нужно. В этой философии прекрасно реализовано древнеримское правило: «разделяй и властвуй», - это очень хороший принцип работы в коллективе.
Масштабируемость .Net технологии базируется не только на .Net, но на самой операционной системе Windows + MS SQL Server. Кластеризация – одна из сильнейших сторон Microsoft.
Да, разработка на ASP.NET стоит дороже, чем на PHP, но вы платите не за переработки, а за высокий профессионализм в своей основе.
Прекрасно выглядящие туфли китайского производства, сделанные из картона, в первую очередь обладают тем недостатком, что в своей основе сделаны не из того материала. Стоит ли их покупать, или лучше взять дороже, но из хорошей кожи, решать заказчику.
Microsoft делает деньги на продаже своего программного обеспечения. Эта компания всегда следит за последними изменениями и успехами конкурентов. Сам язык C# (очень похожий на Java) появился после того, как Java доказала миру перспективность своей концепции. Но компания Microsoft, не ограниченная необходимостью всестороннего согласования изменений, довольно быстро обошла Java как по функциональным возможностям, так и по оптимизации исполняемого кода на платформе Windows.
Факторы масштабируемости, стоимости поддержки наряду с другими факторами позволила Платформе Microsoft.NET потеснить Java в сегменте корпоративных решений. Если верить всяким разным трендовым сайтам, то на конец 2018 года среди топ 10000 сайтов .NET занимает 18%, PHP – 17%, Java – 8%. Среди топ 1 миллиона сайтов около 35 процентов занимает php, около 16 процентов — .net, около 4 процентов — J2EE. Лично для меня это означает, что на PHP хорошо делать простые сайты, на Java хорошо делать сложные сайты. А на .Net удобно делать и простые и сложные сайты.
Найти разработчиков на .Net также просто, как и найти разработчиков на PHP. Так что у заказчика не должно быть проблем со сменой исполнителя, если в этом появится необходимость.
В конце статьи, но не в последнюю очередь хотелось бы уделить внимание и безопасности. В PHP постоянно находят различные уязвимости. Безопасность .Net базируется на безопасности Windows. С точки зрения безопасности Windows далеко не самая худшая система. Все выше изложенное мне утверждать, что .Net - это круто