Первый ответ, который у меня крутится в голове – да ни чем!
Если бы была какая-то технология, которая явно лучше, чем все другие, то все остальные уже давно отмерли бы и осталась она одна.
В основном, все отличия технологий в технических нюансах, что будет для заказчика белым шумом (JIT компиляция, строгая типизация типов данных, паттерн Модель-Представление-Контроллер и т.д.).
Что для заказчика может быть важно в плане технологий:
- среда окружения. Какой сервер нужен? Linux или Windows? Если у вас уже есть инфраструктура Linux, то и технологии надо выбирать, совместимые с этой операционной системой. Также важна цена хостинга или аренды VPS-сервера. Для ASP.NET MVC (сервер Windows) и стоимость немного выше, чем для Linux.
- насколько сложно найти программистов по данному стеку технологий. Заказчик, пожимая руку исполнителю в момент подписания контракта, должен понимать, что ничто не вечно и вполне вероятно придется искать замену исполнителю в недалеком будущем. Самые распространенные программисты на рынке труда – PHP (это можно объяснить, что порог входа в PHP ниже). Разработчиков ASP.NET (С#) меньше, чем PHP программистов (субъективно).
- насколько платформа защищает от ошибок. Строгая типизация, компиляция и другие страшные слова защищают проект от глупых ошибок, ошибок неправильного написания. В этом плане C# и Java одни из лучших языков (да простят меня адепты PHP).
Как это ни странно может звучать, но технологии не играют решающую роль при создании движка сайта. Вы можете выбрать суперсовременные технологии, но иметь на руках плохо проработанное техническое задание и слабую команду разработки. Никакие технологии в этом случае вам не помогут. Ищите именно хорошую команду, а не технологии.
Также не следует гнаться за новизной и модой на технологические новинки. Новая технология – это всегда риски. Во-первых, это больше багов по сравнению с проверенной технологией. Во-вторых, меньше исполнителей, владеющих этой технологией. Выбирайте новые технологии, если только они дают явные преимущества вашему стартапу, а не повышают риски веб-проекта.
Основной вывод – делайте упор не на технологии (ASP.NET лучше?), а на цели, которую должен решить проект, и на команду, которая будет реализовывать веб-проект.