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

Ruby on Rails vs Grails vs. Spring ROO vs. Spring приложение

Я планирую написать простое веб-приложение, которое будет использоваться множеством пользователей (столь же сложным, как и простое приложение для закладок), и я пытаюсь решить, какую фреймворк/язык использовать.

Я очень опытен с Spring/Hibernate и Java вообще, но новичок как для Grails, так и для RoR (и Spring ROO). Единственная причина, по которой я рассматриваю RoR, заключается в том, что хостинг Java намного дороже, чем хостинг RoR (который поддерживается практически любым хостинг-провайдером за 5 долларов в месяц).

Предполагая, что цена не является проблемой, какая из вышеперечисленных фреймворков/языков вы порекомендовали бы разработчику Java (кто знает, как настроить Spring/Hibernate и т.д.)? Я боюсь, что с помощью RoR я не смогу легко поддерживать многих пользователей, которые используют веб-сайт одновременно.

спасибо

4b9b3361

Ответ 1

Сначала вы можете посмотреть на эти связанные вопросы:

Rails или Grails?

Изучение Ruby on Rails полезно для Grails?

https://stackoverflow.com/questions/1283935/what-technology-asp-php-joomla-rails-grails-for-a-website-from-scratch

Стоит ли Grails?

Стоит ли Grails (сейчас)?

Теперь я постараюсь ответить вам в соответствии с вашими требованиями, которые вы передали, и информацией, которую я собрал в Интернете, и моим собственным опытом.

Ruby on Rails

Я не советую вам начинать с RoR, потому что вы разработчик Java, и вам придется изучать новый язык (Ruby) и новую среду (Rails). Проблема с хостингом не является реальной проблемой. У вас может быть план размещения VPS за 10 долларов США (www.enjoyvps.com), идеально подходящий для приложения с маленькими граффилами. Если вам требуется больше памяти, вам может понадобиться добавить еще 10 баксов.

Если хостинг является действительно критическим фактором, перейдите к Python/Django или PHP/Kohanna (очень хорошая структура MVC). В противном случае, по вашему мнению, Grails больше подходит вам, чем Rails.

Grails

Несколько месяцев назад у меня была та же дилемма, что и ваша, и я решил поехать с Грайлом. Почему?

Потому что это круто!! Я имею в виду, что сообщество очень полезно и динамично, Groovy с удовольствием развивается (будьте осторожны: после этого есть хорошие шансы, что вы будете ненавидеть Java). Кроме того, это современная система, основанная на очень хорошо зарекомендовавших себя технологиях (Hibernate, Spring, Java), и, следовательно, она может значительно повысить вашу рыночную стоимость как разработчика. Grails - мой любимый

Spring Roo

Roo - это Grails для Java. Поэтому, если вы не хотите изучать Groovy, и если вам нужно чистое приложение Java (которое всегда будет работать быстрее, чем приложение на основе Groovy), пойдите с ним. Сообщество меньше, чем Grails, но проект поддерживается SpringSource, который довольно активен в сообществе. Я думаю, что если вы хотите идти как можно быстрее, это решение для вас.

Spring Приложение

Вы должны выбрать этот вариант, только если вам не нравятся Spring интегрированные технологии Roo (Hibernate, JSP, Maven...), и вы хотите, чтобы Java абсолютно. В противном случае нет интереса (за исключением образовательных целей) к часам настройки и настройки, когда вы сможете создавать сложные корпоративные приложения в течение нескольких минут (с Rails, Roo или Grails).

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

Моя нижняя линия

Если у вас есть время потратить на изучение новых концепций (Groovy, RAD...), пойдите с Grails. Если нет, пойдите с Роо. Забудьте о Spring приложении и Rails. Если хостинг - это проблема, обратитесь к Python/Django. Вы можете развернуть на GAE, его можно масштабировать, выполнять, и вы будете иметь дело с теми же концепциями, что и Rails или Grails.

Ответ 2

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

В течение определенного периода времени вы получите больше Groovy, чем с Java в любой день. Часто одна строка кода Groovy будет равна 10 строкам кода Java и т.д.

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

  • Плохая реализация или дизайн алгоритма.
  • Дизайн и/или запросы Bad DB
  • Взять много времени, чтобы все было сделано, а затем из-за него возникли всевозможные коммерческие отношения.

С веб-приложениями вы обычно не выполняете много длительных операций с привязкой к ЦП. Большая часть вашего запроса/времени ответа тратится на провод (интернет-маршрутизация и т.д.) И в БД (выполнение запросов).

Выберите технологию, которая снимает нагрузку с вашего ума, и тот, который освобождает вас от написания горного кода котельной плиты, чтобы вы могли сосредоточиться на разработке и внедрении хороших алгоритмов, БД и запросов и т.д. и т.д.

Id лично выбирает Grails.

Ответ 3

Я выбрал Roo над Grails и Rails в моей компании. Производительность Runtime, легкая отладка, хорошая интеграция Eclipse (в конце концов, это простая старая Java), без "черной магии" во время исполнения. На самом деле, нет библиотеки времени исполнения Roo, необходимой для запуска приложения Roo, а также зависимостей библиотеки, таких как Hibernate и AspectJ. Вы можете посмотреть на код, который генерируется, чтобы вы точно знали, что происходит. Кроме того, для меня важно, что Google выбрал Roo как предпочтительный инструмент для создания приложений GWT в будущем, и они бросают на них поддержку. До сих пор я был очень впечатлен Roo, я думаю, что это будет инструментом выбора в ближайшем будущем.

Ответ 4

Проблемы с производительностью с RoR будут больше вызваны хостинговым планом на 5 долларов, чем выбором языка и структуры. Рассмотрим Heroku для вашего хостинга, так как вы можете начать дешево/бесплатно, а затем масштабироваться по мере необходимости.

Однако для простого приложения для заметок Rails, вероятно, слишком велико. Взгляните на Sinatra, так как вы взвешиваете свои варианты.

Ответ 5

Вы посмотрели на Гайлика? http://gaelyk.appspot.com/

Это легкая структура Groovy для Google App Engine

Ответ 6

Я знаю, что этот пост немного стар. Это 2012 теперь и Spring Roo только что выпустила версию 1.2.2 3 месяца назад.

Я разработчик Java и только что начал амбициозный проект, который заставит меня запустить веб-приложение для широкого внедрения. Я прохожу через Spring Roo и испачкаю руки. Мои первые впечатления приятны, но когда я читаю через Интернет, это хорошая структура для быстрого прототипирования и только для разработки CRUD-операций и т.д. Я чувствую себя немного демотивированной, чтобы использовать ее. Но я лично считаю, что Spring Roo (SP) запускает мой проект с использованием лучших практик, уже реализованных с выбором файлов, которые я могу использовать в качестве шаблона для пользовательского использования. Очевидно, я не боюсь закодировать. Мы всегда будем кодировать себя, я не хочу никакой "магии". Я также попытался оглянуться на сцену RoR и легко запугаться с помощью кривой обучения. Я не вижу большой тяги в сообществе Roo Spring. Есть ли какая-то конкретная причина для этого? Также есть ли лучшие альтернативы? Я немного смущен своим решением о завершении разработки, которая в будущем будет надежной и масштабируемой. Я не хочу быть тем местом, где Twitter теперь, где 2 года стоит RoR-код, заставляет их переосмыслить свой выбор RoR. Spring Roo лучший выбор для меня?