LINUX.ORG.RU

.NET Core vs NodeJS

 , , ,


0

2

Комрады! Есть вопрос/просьба/тп.

Предположим есть проект, его API написано на NodeJS (NestJS/TypeScript + PGSQL). Есть мысли перенести это .Net Core. Отговорите или убедите. Желательно кидаясь ссылками в подходящие для этого фреймворки.

ASP.NET и EntityFramework А дальше как хочешь

nikolnik ★★★
()

Переноси.
Всё лучше, чем JS портянки.

TypeScript

Вот и берите F#

Unununij ★★★★
()

Scala на Akka.Http - в роутере будут родные портянки)

nihirash ★★★
()

А в чем профит такого переноса?

anonymous
()

Ты хочешь перейти с проверенного временем nodejs, на сырой .net core, который под линуксом никто не использует. Зачем? Хочешь помочь мелкософту в тестировании их кода?

rupert ★★★★★
()

Нафига?

anonymous
()
Ответ на: комментарий от rupert

проверенного временем nodejs

На нем таки написали что-то кроме игрушечных проектов и костылей для упаковки жс в один файл?

anonymous
()

Это классический случай дилеммы Эскобара. Совершенно не важно что вы выберете.

slovazap ★★★★★
()
Последнее исправление: slovazap (всего исправлений: 1)
Ответ на: комментарий от anonymous

На нормальный язык лучше перенеси.

петон.

LOL

anonymous
()

какие цели переноса?

dib2 ★★★★★
()

Да, переносить с нодопараши всегда стоит - и .Net Core желательно брать 2.1 уже, самый новый стабильный вот.

lovesan ★★
()
Ответ на: комментарий от anonymous

Нет.

Лучше - всем.

А так, да, и на VB можно писать, если постараться. И на бидоне, и на пыхе даже, куда уж там.

lovesan ★★
()

Цель переноса?
Ну будет у вас связка ASP.NET Core + Dapper. Что собственно изменится?
У вас рука еще не набита, не сформирован набор библиотек. Вы не знаете их особенностей.
Если вам интересно заново все это нарабатывать, то милости просим к нашему шалашу.

ritsufag ★★★★★
()

Предположим есть проект, его API написано на говне и палках. Есть мысли перенести это на божественный .Net Core?

anonymous
()
Ответ на: комментарий от anonymous

У них там скорее всего plain SQL и самый простой способ миграции это ADO.NET + Dapper.
Чтобы перенести это на EF Core придется помимо сущностей настроить конфигурации к ним, написать LINQ и не забыть их протестировать т.к сгенерированный SQL может нехило так отличаться от ожидаемого результата(несколько запросов вместо одного и прочие проблемы ORM).
А потом выяснится что в EF Core нет поддержки M2M без промежуточных сущностей(причем NH и EF6 есть), нет фильтров в include и куча других проблем.
Да, если там простейшее API с крудней то набросать его с нуля для EF будет быстрее. В иных случаях я бы не стал касаться ORM даже концом трехметровой палки.

ritsufag ★★★★★
()

Вот прямо задача о двух стульях во всей красе.

hateyoufeel ★★★★★
()
Ответ на: комментарий от silver-bullet-bfg

Ага, то-то гугл и расстроился, что тебе они не зашли... Питон хорош для прототипов любой сложности, а гоу ща в любую дырку пихает, уже на замену сишки давно наметился в rest/network направлениях, недаром ща Docker и прочее - уже мейнстрим года 2 как.

menangen ★★★★★
()

Практически любой язык, кроме php, лучше чем nodejs. Net core последней версии абсолютно стабилен и код на нем пишется настолько же быстро как на питоне. Библиотек к нему пока не так много для серверных применений, но основные имеются, поэтому если ничего экзотического делать не нужно, то .Net core вполне вам подойдет.

anonymous
()
Ответ на: комментарий от anonymous

Практически любой язык, кроме php, лучше чем nodejs.

Ктo мешает транспайлить в ЖС из нормальных языков и запускать на ноде с миллионом библиотек?

anonymous
()

А цель то у тебя какая?

RedPossum ★★★★★
()

А какой профит ожидаете получить? Или это программирование ради программирования? Если проект работает и легко поддерживается то зачем что-то менять? Работает не трогай! (с)

abc
()

Ну очевидный плюс - это нормальная статическая типизация в C#. Переименовать-перенести метод, скомпилировал и оно работает. Навигация по коду, рефакторинг - все это лучше и проще с .net по-определению. Асинхронность (async/await, tpl и пр.) тоже встроена в .net, реализована только хитрее, чем в nodejs. В C# так же нормальные дженерики, ковариантность и контравариантность, in/out параметры и все такое. Мощный рефлекшн, так как вся инфа о типах в рантайме есть +Expression'ы тоже довольно интересная штука.

Есть также вот такая библиотека под .net, если используется postgres http://jasperfx.github.io/marten/. Возможно пригодится.

Про ef core поддерживаю, какой-то он недоделанный по сравнению с предыдущей версией. Может даже нагенерить тебе миграций из модели, которые сам не сможет выполнить) если сильно замудришь или решишь какой-нибудь single table inheritance использовать. Да и миграции какие-то дибильные. Проект с миграциями должен зачем-то зависеть от проекта с моделями и ещё куча странностей. Я бы взял какую-нибудь простую библиотеку для миграций и orm любую чисто для маппинга, со всякими code first подходами не стоит заморачиваться.

anonymous
()

Переносить с JS смысл есть куда угодно. Если на .NET Core – то тут даже раздумывать не о чем. Нужно брать и делать.

Jack-Laphroaig
()
Ответ на: комментарий от rupert

Ты хочешь перейти с сырого и глючного nodejs, на стабильный и мощный .net core, который под линуксом поддерживается даже лучше, чем нода . Зачем? Хочешь вместо мук по поддержке говнокода на жабоскрипте писать на нормальном языке?

fixed

Jack-Laphroaig
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.