Я уже некоторое время играю с .Net Core, и, честно говоря, он меня впечатлил. Сначала я очень скептически относился к этой платформе, потому что думал о C# как о еще одной Java, только немного улучшенной. И после работы над старым монолитным проектом Java у меня появилось предубеждение против Java как устаревшей BS, которая используется только в устаревшем программном обеспечении. По какой-то причине я думал, что C# ничем не отличается.

Но я должен признать, что ошибался, .Net Core — очень удобный инструмент для создания REST API. Он дает вам все необходимые настройки из коробки. Мне нравится, что он самоуверен и хорошо структурирован. Вы можете сразу начать создавать функциональные приложения, даже если вы никогда раньше не работали с C# (если вы выбрали его в качестве целевого языка). C# мало чем отличается от всех других C-подобных языков. Если у вас есть опыт работы с Java или Typescript, синтаксис будет вам знаком. Честно говоря, на мой взгляд, Typescript больше похож на C#, чем на Javascript. Что неудивительно. Та же команда разработчиков, что стояла за C#, создала Typescript. Таким образом, вам не обязательно углубляться в синтаксис C#, если у вас есть опыт работы с Typescript или подобными языками, как я упоминал выше. Но если вы новичок, обязательно сначала изучите ядро ​​C#.

Раньше я работал с бэкендами Node.js/Typescript, а также имел опыт работы с устаревшими кодовыми базами PHP и Java, которые было сложно поддерживать и обновлять. Как и в большинстве проектов на основе Node.js, большую часть времени мне приходится настраивать все с нуля самостоятельно. Это очень утомительно. Вы должны писать одни и те же вещи снова и снова и делать архитектурные решения, о которых вы все равно потом пожалеете. И должен признать, ни одна платформа разработки не доставляла мне такого удовольствия от работы с ядром ASP.Net. Ни Django, ни Nest.js. Простота использования и скорость разработки поражают. Microsoft предоставляет вам все необходимые инструменты для создания API из коробки, вам не нужно беспокоиться о том, как заставить вещи работать друг с другом, вы просто сосредотачиваетесь на реализации логики вашего контроллера, вот и все.