Подтвердить что ты не робот

Сравнение ASP.NET MVC и Grails для нового проекта

Приветствую всех. Я считаю себя промежуточным разработчиком, но, чтобы быть откровенным, вероятно, ближе к новичку, чем эксперт. В любом случае у меня больше опыта работы с С# и платформой .NET, но в моей текущей работе я работаю почти исключительно с Java. Это само по себе является проблемой, но я имею дело с этим хорошо, и я не могу сейчас изменить свою роль.

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

Я изначально хотел пойти с ASP.NET MVC, и я все еще склоняюсь к этому направлению. Я даже не знаю, почему, но мне нравится сообщество, и, на мой взгляд, Visual Studio - лучшая среда разработки. Однако это будет контрпродуктивным для моей нынешней работы. Это привело меня к Грайлу. Хотя я понимаю, что Groovy не является Java, кажется, что он достаточно схожим (не говоря уже о том, что он работает на JVM), что навыки, которые я изучаю, все равно помогут мне в моей текущей работе. Чем больше я смотрел на Grails, тем больше мне это нравилось, особенно после того, как я столкнулся с тем, что считаю чрезвычайно сложной средой J2EE на работе.

Но с хорошим я нашел плохое. Я не могу не заметить, что есть много разработчиков, которые раздражены количеством ошибок в Grails. Будучи тем, что я начинаю новый проект, и я довольно неопытен, я даже хочу рассмотреть Grails? Это ответственность? И что такое консенсус относительно его долголетия? Мне бы очень хотелось, чтобы я слишком занялся, если есть хорошие шансы, что он исчезнет в неизвестности в течение ближайших нескольких лет. И даже если ошибки и проблемы с долголетием не являются огромным делом, как бы вы сравнили простоту разработки Grails с тем, что было в ASP.NET MVC? Я понимаю, что эта последняя часть очень субъективна. Но для сравнения, скажем, кто-то, у которого практически нет технического фона, находился в одном положении. Вы порекомендовали бы им взглянуть на ASP.NET MVC или Grails?

Большое спасибо. Если что-то нуждается в разъяснении или пересмотре, сообщите мне. Я искренне надеюсь, что я не открою банку червей...

4b9b3361

Ответ 1

Я являюсь автором этого question, и я могу дать вам несколько акций по собственному опыту.

Как говорится в вопросе, у меня не было реальных предпочтений, и я был открыт для любой технологии/платформы, которая могла бы выполнить мои требования. После многих попыток разных технологий (в течение нескольких дней с PHP, Rails, ASP и Grails) и некоторых ответов от StackOverflow, я столкнулся с той же дилеммой, что и ваши: Grails или ASP.NET MVC?

И я выбрал Grails. Зачем? Из-за GORM. Почти только из-за GORM. Это фантастика, чтобы иметь дело только с вашими доменами и автоматически создавать или обновлять вашу схему БД. Конечно, он имеет свои пределы, но это настолько мощно для запросов и поддержки вашей БД. Вы больше не пишете SQL, и его очень легко изучить.

Теперь вот мое 2-центовное сравнение двух технологий:

СИЛЬНЫЕ СИЛЫ

  • GORM (см. выше)

  • Полная структура веб-стека: вы можете создать веб-сайт за считанные минуты, и все уже настроено.

  • Многому научиться: у вас есть Spring MVC, Hibernate, Sitemesh, Java, JEE, Groovy... После того, как вы освоили Grails, вы можете добавить дополнительную страницу в свое резюме

  • Мир Java. Независимо от того, что вам нужно, если он уже существует на Java, вы можете его использовать.

  • Groovy: Мне очень нравится этот язык программирования. Требуется время, чтобы познакомиться, но как только это будет сделано, вам понравится.

СЛАБЫЕ СЛАБОСТИ

  1. Использование памяти. Grails/groovy является жадным для памяти, и это может стоить больше, чем ASP для веб-хостинга

  2. Ошибки Grails: есть и когда вы начинаете новый проект по новой технологии, вы предполагаете, что большинство проблем исходит от вас... пока вы не узнаете (через 1 или 2 дня), что это является ошибкой Grails. Поэтому мой совет заключается в том, чтобы выполнить шаги: как можно скорее проверить и не пытаться перекрутить фреймворк. Это грубо на краю, поэтому идите после того, что обычно рекомендуется. Однако через 2 месяца я больше не сталкиваюсь с большими проблемами.

  3. Отладка: из-за множества слоев фреймворков ошибки обычно скрываются внутри тонны линий исключений. Кроме того, единственным достойным отладчиком IDE является IntelliJ, но это не так легко отлаживать как .NET под VS

STRETGTHS ASP.NET MVC

  1. Сообщество: это ОГРОМНОЕ! Сначала он поддерживается Microsoft, и, во-вторых, 30% веб-сайтов построены в ASP.NET. Вы можете найти любые фрагменты кода, любые виджеты, любые компоненты AJAX, любую CMS... сообщество Grails очень активно, но вы можете соперничать с миллионами?

  2. Visual Studio: я определенно согласен с вами: нет лучшей IDE. IntelliJ очень хорош для Grails, но, используя оба варианта, я предпочитал VS

Недостатки ASP.NET MVC

  1. Юность ASP.NET: это молодая рамка. Построенный на стабильной технологии, но достаточно молодой (менее 2 лет), чтобы иметь некоторые ошибки/некоторые плохие практики. Действительно, следующая версия ASP.NET MVC сильно ждет сообщество.

  2. Microsoft: даже если ASP.NET MVC является открытым исходным кодом, вы полностью зависите от своих решений (и цен).

Нижняя строка Если вы планируете иметь ограниченный срок, и если для вас очень важно добиться успеха, перейдите на ASP (согласно вашему фону). В противном случае, попробуйте Grails.. не беспокойтесь, вы также добьетесь успеха, но это займет больше времени. Я также глубоко убежден, что Grails только что начал свой долгий путь, и у него отличное будущее (см. тенденции Google)

Обновление от Dmitriy. Если вы обратитесь к Google Trends, вы должны сравнить 2 из них Groovy Grails и ASP.NET MVC.

Удачи.