Для тех кто не заметил, это перевод. Заранее извиняюсь, если перевод не качественный, некоторые вещи не мог понять как лучше перевести не исказив смысл. Если есть какие-то замечание прошу писать в личку.
Я получаю этот вопрос очень часто, как от людей внутри и снаружи .Net сообщества, и не так давно мне задали этот вопрос на Quora. Вот мой ответ. Пожалуйста, имейте в виду, что это мое мнение, и я не могу обещать, что я прав, но я могу обещать, что это то, что я действительно думаю, и если вы подошли на улице и спросил меня, «Я должен использовать. Net для запуска моего стартапа? » это то, что я бы вам ответил.
Я знаю .Net на высоком уровне, и хотел бы предостеречь новые стартапы, которые рассматривают возможность использования .Net, о подводных камнях. Я считаю, что .Net является замечательным, и я сам использую его для собственного стартапа HireFlo. Однако, есть одна большая проблема, которая могла бы препятствовать вашему стартапу еще до того он наберет обороты — WebForms.
Дело в том, что развитие ASP.Net разделено на 2 лагеря, далее идут основные архитектурные и культурные различия между ними.
ASP.Net MVC является замечательным решением для стартапов
ASP.Net MVC является замечательным новым каркасом приложений, который сильно вдохновлен Rails и является выбором платформы для стартапов, StackExchange тому пример. Это глоток свежего воздуха для квалифицированных .Net разработчиков, которые хотят framework, включающий в себя то, как работает web, а не борьбу с ним. Этот лагерь полон людей, которые заботятся о мастерстве написания кода, и тех кто реально поставляет готовый продукт. Программист в этом лагере, скорее всего, знакомы с большим количеством проектов с открытым кодом, и, скорее всего, отлично подходит для твоего стартапа.
WebForms это смерть для стартапов
Другой лагерь, WebForms, это гнойные болота зла, спагетти кода, и ненависти. Это область корпоративных разработчиков, которые предпочитают процесс написания кода и документацию вместо доставки готового продукта и надеются, что черепашьи темпы развития WebForms буду скрывать, то что они так и не предоставили готовый продукт затратив несколько лет на разработку и не видят разницы между HTTP GET, и HTTP POST. Я серьезно. WebForms и его ядовитый паттерн PageLifeCyle являются дырой производительности и они будут сопротивляться вам на каждом шагу, как стартап пытается найти подходящее место между вашим приложением и удовлетворением требований рынка. В добавок, WebForms и проклятые UpdatePanel делают это невероятно сложно написать приложение в новом и модном стиле — JavaScript Single Page App, в то время инструменты, такие как Backbone.js, Knockout.js и jQuery сделали возможным.
Таким образом, ответ на этот вопрос… Черт возьми, да! Вы должны! (если это .Net MVC)
Итог, .Net это удивительно, C# это удивительно, MVC3 очень продуктивный, если вы найдете .Net разработчика, который работает с этим, я бы рекомендовал использовать его. Но вы должны быть осторожны. WebForms разработчик с корпоративных прошлым, скорее всего, будет гибелью для стартапа.
Есть три других моментов, которые я хочу добавить, что я думаю, они являются релевантными
Не использовать Azure на ранней стадии
Microsoft проталкивает Azure как платформу для стартапов. Я настоятельно рекомендую, не использовать Azure на ранней стадии стартапа. Разработка приложения на Azure медленее, чем .Net разработка которая происходит на ОС Windows Server или VS. Развертывание занимает больше времени, отладка занимает больше времени, среду Azure трудно воспроизвести на вашем локальном компьютере, бэкапы весьма болезненны, и вы ограничены одним хостинг-провайдером. Все это создает много трений и отсутствие гибкости в то время как стартап требует гибкости и скорости больше чем все остальное. К Azure можно придти позже, когда потребуется маштабирование, но на ранних этапах это не проблема.
ASP.Net MVC / C# / SqlServer стэк маштабируется как сумасшедший
Послушайте ранние подкасты StackOverflow и вы услышите, что долгое время StackOverflow крутился на одном сервере. Они обслуживали миллионы уникальных посетителей веб-приложением и базой данных на одном физическом сервере! Это был не очень то и мощный сервер. Это согласуется с моим опытом .Net — .Net хорошо масштабируется. Таким образом, если стартап выстрелит, вероятно, гораздо легче будет масштабирование .Net стека чем Ruby или PHP.
BizSpark является доказательством того, что Microsoft любит программистов и стартапы
Если вы хотите построить стартап на стэке от Microsoft, они дадут вам бесплатно лицензию на каждый продукт, в том числе и на SQL Server, а так же бесплатная подписка Gold MSDN на 3 года. Они полагают, что 3-х лет вполне достаточно для Вас, чтобы начать работать и получать прибыль. Они конечно же хотят, чтобы вы в последствии купили новые лицензии, но, в тоже время, они позволяют сохранить лицензии которые вы уже используете. Так что вам не оказаться в ситуации, когда вы только сводите концы с концами, а затем после 3 лет Microsoft выставит вам огромный счет. Они этого не делают, они просто позволяют дальше использовать программного обеспечения которое они вам уже подарили. Таким образом, компания Microsoft практически вынесла стоимость из уравнения для новых стартапов.
Автор: Zelgadis