LINUX.ORG.RU

.net core/spring mvc

 , , ,


0

1

Прогаю на шарпе бэкэнд, в том числе asp.net mvc собственно с появление macbook pro решил посмотреть java spring mvc

Есть ли у кого опыт разработки на обоих этих платформах? Стоит ли уходить в сторону тяжеловестного spring mvc или взять новый легковесный asp.net core и хостить его на линухе за nginx?

Кто что думает?


Первым делом посоветую попробовать обе этих платформы и затем посмотреть, какая из них тебе приглянулась. Мне лично больше нравится ASP.NET Core за, в основном, C#, который нравится намного больше, чем Java, хотя Kotlin ниче так. Несмотря на свою легковесность, многие вещи на ASP.NET Core реализуются на мой взгляд значительно проще, чем на Spring.

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 1)

Смотри что тебе удобнее, нужна ли зрелая платформа, какие IDE есть на маке. Как я понимаю полноценную студию на мак так и не завезли, так что хз.
Не трогал спринг, но как кажется с core будет проще стартануть т.к он по философии больше походит фреймворки ноды/руби.
Да и MVC не шибко в моде нынче. Конечно если спринг позволяет так же просто клепать Web API, то вопросов нет.

ritsufag ★★★★★
()

для дотнет jetbrains выпустила свое очередное кроссплатформенное поделие, которое, как обычно, на маке выглядит лучше всего. Так что особого смысла юзать или изучать джаву теперь нет.

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

Для этого там всяких Jersy/Jetty хватает. IDE пока только VS Code и C# Rider от JetBrains пилится

sbabiv
() автор топика

В треде обсуждают C#, ASP.NET и мак. Похоже пора валить с лора.

ThisNameWasFree
()

Сам ты тяжеловесный. Spring был создан, как альтернатива действительно тяжеловесным J2EE серверам. Сейчас это мощная платформа, одна из самых популярных в мире. Сравнивать её с какой-то бета-версией дотнета — ну не знаю, ты ещё про нодежс, голанг или ерланг спроси. Дотнет это венда в ближайшие 10 лет. Все их порты это так, хайп пытаются создать, на практике это пока не применимо.

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

Сравнивать её с какой-то бета-версией дотнета

asp.net core зарелизился в декабре 2016. И у нас сейчас на нем небольшой проект в продакшине под linux бегает.

Дотнет это венда в ближайшие 10 лет

Уже нет. К тому же SQL Server 2016 теперь и под Linux.

ты ещё про нодежс, голанг или ерланг спроси

ну не знаю к чему сравнивать Web Freamework и тупо язык? по производительности с golang никакая джава с дотнетом рядом не стоят. на golang, микросервисы, с его легковесными горутинами, работают в разы быстрее.

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

ну не знаю к чему сравнивать Web Freamework и тупо язык? по производительности с golang никакая джава с дотнетом рядом не стоят. на golang, микросервисы, с его легковесными горутинами, работают в разы быстрее.

Может будут пруфы?

xpahos ★★★★★
()

macbook pro
Кто что думает?

думаю что java тебе не подойдет там писать много а на макбуке очень очень плохая клава, а подключить нормальную туда не выйдет - простого усб нет, да и раскладка другая, потому забей

Deleted
()

Я использовал и то и другое. Мое мнение такое: 1. Шарп, как язык, действительно лучше жавы.
2. Вместо жавы можно взять скалу, но порог вхождения у нее выше, чем у жавы после шарпа.
3. .NET Core пока еще нихера не стабилен, хотя пользовать можно. Еще год назад на продакшене на предыдущем месте работы юзали.
4. ИДЕ от жидбреинс для шарпа пока тоже не стабильна, вижуалстудия код унылое говно, иде на основе монодевелопа тоже говно, но если тебя устраивает программировать в текстовом редакторе, то все перечисленное выше тогда очень даже ничего и вполне легковесное.
5. В дотнет коре пока нет вебсокетов (сигналр пока нестабилен), тогда как в спринге есть вебсокеты с аккой.
6. EntityFramework обладает более лучшим апи, чем слик и гибернейт, на мой взгляд. Хотя в него не завезли нормальное many2many, миграции не будут работать, если модели лежат в отдельной сборке, в общем, куча «но».
7. Сейчас mvc с шаблонизатором никому не нужен, контроллеры служат только как дробилки жсона, фронт обычно абсолютно собирается и запускается отдельно.
8. Сишарп билдится довольно медленно, но спринг со скалой вообще капец.

nikolnik ★★★
()
Последнее исправление: nikolnik (всего исправлений: 1)

Статистически вакансий на Java больше чем на C#, так что выбор очевиден.
Если все что ты делаешь только JFF, то обязательно потрогай Spring, при этом рекомендую им обмазаться по полной программе, со всякими Spring Cloud и Spring Integration и Spring Security. Тебя ожидает достаточно интересный опыт.

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

Два чаю, но вот скалу со спрингом мешать не рекомендую, либо все будет измазано имплиситами для Java2Scala interop ,а тогда время сборки будет просто космическим, либо весь твой код будет состоять из явного дерьма типа .toJava .toScala

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

Ну вот если говорить конкретно за Украину и работу на галерках, смотря на dou.ua, то количество вакансий дотнета и шарпа ровно 50\50 в рамках статистической погрешности с перевесом на дотнет, но вот если брать международные вакансии, то жава стека действительно больше, хотя если брать скалу, шарп популярнее, но скала интереснее и выразительнее жавы и стоят сеньоры гораздо дороже.

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

Популярность Scala можно сравнивать с F#. Это будет справедливо.
Обычно к моменту отрастания кодилки на Scala человек уже перестает пачкать все shapelees`ом и catz`ом, и принципиально код перестает отличаться от хорошего java кода.

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

Ну хоть мне дотнет в целом больше нравится, у жвм есть Hadoop, Spark, плюс Cassandra более нативна все-таки к жвм. В общем, тут надо если выбирать, то смотреть что за проект. Мне вот если честно, если попадется проект с простыми круд операциями и примитивной бизнес-логикой валидации формочек, я бы взял вообще рельсы. Там выразительный синтаксис миграций, валидация моделей вообще доведена до автоматизма (не надо всякие if username.length > 10500 throw Exception писать и т.п., из коробки юнит и интеграционные тесты, еще есть Action Cable.

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

А еще на скале можно засрать код в стиле жаваскрипта, где будет замыкание замыкания в замыкании другого замыкания с коллбеками и неявной передачей параметров с underscore синтаксисом.

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

Это тонкая грань между выразительностью и вседозволенностью.

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

Может будут пруфы?

собственно весь инет в них

java со своей JIT компиляцией, VM, никогда не будет быстрее нативного golang. Ну может если только с AOT. Вроде как в 9-ой Java ее обещают

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

что там есть экранчик с имитацией? зачем тогда покупал макбук - купил бы два айпада - один как экран, а второй - клава.

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

ИДЕ от жидбреинс для шарпа пока тоже не стабильна, вижуалстудия код унылое говно, иде на основе монодевелопа тоже говно, но если тебя устраивает

да не устраивает. там только VS code более менее.

sbabiv
() автор топика
Ответ на: комментарий от Deleted

что там есть экранчик с имитацией? зачем тогда покупал макбук - купил бы два айпада - один как экран, а второй - клава.

себе купи.

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

меня экран вместо клавы не устраивает, в отличие от тебя 8)

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

Ну хоть мне дотнет в целом больше нравится, у жвм есть Hadoop, Spark, плюс Cassandra более нативна все-таки к жвм.

Да, я думаю легаси с большим зоопарком и опенсорсом это вообще киллер фича Java

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

Пруфов как вот от этих пацанов, которыe пишут бенчи для технологий, которыми не умеют пользоваться.

https://medium.com/@qutheory/server-side-swift-vs-the-other-guys-2-speed-ca65...

Там где-то ссылка на исходники и в Java и Node.js есть серьезные ошибки.

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

Пруфов как вот от этих пацанов, которыe пишут бенчи для технологий, которыми не умеют пользоваться.

https://medium.com/@qutheory/server-side-swift-vs-the-other-guys-2-speed-ca65...

Там где-то ссылка на исходники и в Java и Node.js есть серьезные ошибки.

конечно есть и кривожопые тесты. Про JIT и нативный го, я выше написал. Врятли в гугле просто так будут перепиливать сервисы на го

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

Гуглу Go нужен для большей утилизации кодеров. В следствии того, что язык простой как 5 копеек можно брать вчерашних студентов, спрашивать с них за алгоритмы и отправлять писать продакшен-рейди код.
Ну и есть подозрение что Fuchsia еще выстрелит. Наработки по созданию своегое железа есть, так что вполне логично построение собственной инфраструктуры на этом железе + Fuchsia + Go.

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

http://benchmarksgame.alioth.debian.org/u64q/go.html тут, например. Голанг незначительно вырывается на некоторых примерах и значительно сливает на большинстве. Чего и следовало ожидать, в принципе, с десятилетиями затюненной JVM сравниться может разве что идеально написанный C.

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

Оба продукты гигантской корпорации, будет очень странно если из фуксии не вырос рантайм для го на bare metall.

Deleted
()

Кто что думает?

Я думаю, что разумные аргументы тебя не убедят, так что сиди на дотнете.

ya-betmen ★★★★★
()
Ответ на: комментарий от Deleted

Я не совсем понимаю, что такое bare metal в твоем предложении. Го вроде и так не в виртуальной машине работает, а вполне себе в машинный код компилируется. И какое отношение он к ядру ОС имеет? Ну понятно, что там будет libc, соответственно будет и го, и жава и всё остальное, что не лень будет портировать.

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