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

Является ли Spring сложным по сравнению с Ruby on Rails?

Если у меня нет никакого опыта в любом из них, но достаточно для того, чтобы достаточно Java и Ruby были удобны, одна сложная структура для изучения, чем другая? Легче ли использовать их для начинающих?

Я знаю, что ответить трудно. Просто ищите общие мысли об этом.

4b9b3361

Ответ 1

Оба Spring и Ruby on Rails разделяют моторизацию "условная конфигурация". Это значительно сокращает количество строк кода. Ruby on Rails - это веб-платформа, и ее можно сравнить с Spring MVC вместе с инструментом ORM, например Hibernate.

Можно сказать, что Spring вместе с Spring MVC или другой инфраструктурой MVC и Hibernate являются самыми близкими, которые вы можете получить в Ruby on Rails для мира Java.

Однако Spring имеет гораздо более широкий охват, чем RoR.

Ответ 2

Мне не нравится это сравнение.

Вам следует сравнить Grails или Spring Roo to Rails. Groovy Grails - это система типа RoR, построенная на Spring, которая использует Groovy для рельсовых DSL. Roo - это смутно-чистое DSA для DSL для RoR, как приложения.

Мне очень жаль это говорить, но Spring - это платформа. Вы используете его для соединения технологий Java вместе. Вы можете использовать его для приложений, отличных от веб-приложений, а не для баз данных, нулевого пользователя. Вы можете использовать его для создания пакетных серверов. Вы можете использовать его для написания клиентов.

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

Ответ 3

После работы с Rails Spring (и почти любой другой Java-код) чувствует себя утомительным и трудоемким.

Ответ 4

Недавно я перешел на использование Spring MVC + WebFlow с 4 лет на рубине на рельсах.

Ruby - отличные рельсы - это производительность egde. Однако Spring MVC больше ориентирован на предприятие со слоями дизайна и шаблонов по шаблонам.

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

Вы не можете сравнить эти два. Spring MVC более адаптирован к проектам, которые могут быть повторно использованы в разработке Portlet или разработке веб-потоков, которые могут быть изменены без изменения большого количества Java-кода.

Существуют подфреймы, такие как Spring безопасность и не говоря уже о аспектах во всех формах и видах. Я нахожу все это большой кривой обучения. Представления могут отображаться с помощью JSF или JSP/JSTL.

Честно говоря, я думаю, что java - это язык, который не развивался в возрасте, и у людей были значительные инвестиции в этот стек, который они взломали и перезаписали вокруг кода. Аннотации и XML или будь то Generics, они все с целью заставить язык обслуживать все возрастающий и развивающийся мир вокруг него.

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

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

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

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

ASP.net mvc, grails cakePHP в каждой популярной структуре MVC есть клонированные рельсы.

Является ли Spring жестким по сравнению с рельсами?

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

Ответ 5

Сравнение RoR с Spring напрямую не является прямым или простым сравнением.

RoR очень сильно фокусируется на разработке веб-сайтов. RoR делает большую работу по созданию крафтинговых страниц, их объединению и сохранению данных очень легко. RoR был разработан специально с учетом веб-разработки и является отличным инструментом для этого. Тем не менее, когда вам нужно сделать больше "корпоративных" разработок (обмен сообщениями, интеграция и т.д.), Или вам нужно сделать что-то, что не вписывается в соглашения RoR, вы почувствуете некоторую боль.

Тем не менее, Spring имеет множество аспектов: Spring IoC, Spring AOP, SpringMVC и т.д., которые направлены на решение множества различных проблем разработки, с которыми сталкиваются разработчики. Spring имеет очень широкий спектр технологий, которые облегчат большинство проблем развития, с которыми вы столкнетесь.

Чтобы напрямую ответить на ваш вопрос, он напрямую зависит от ваших требований. Если вы разрабатываете просто поддерживаемые базой данных веб-приложения, RoR позволит вам быстро и легко разрабатывать приложение, а для начинающих легче начинать. Spring, с другой стороны, имеет более крутую кривую обучения и больше необходимой конфигурации, но дает вам гораздо большую гибкость и мощность.

Как только фасет, который, как мне кажется, часто отсутствует в этом типе обсуждений, - это доступность возможностей сообщества, инструментов и библиотек. Java/ Spring - это зрелая платформа с обширной поддержкой сообщества и инструментария, в то время как у Ruby/RoR есть отличное сообщество, инструментарий все еще догоняет IMO.

Ответ 6

Вещь о Spring заключается в том, что это в основном две вещи:

  • Это, по сути, "адаптер" или "фасад" для существующих технологий и библиотек; и
  • Это философски отличается от J2EE тем, что речь идет об инжекции зависимостей или инверсии управления, что является принципиально иным подходом, чем предыдущее.

Для (1), например, Spring может делать такие вещи, как облегчить боль от того, какой JMS-провайдер вы используете, или делать такие вещи, как переводить исключения, созданные разными базами данных, в Spring время выполнения DataAccessExceptions.

По этой причине

Spring обычно обозначается легким контейнером. В мире Spring ( "контекст приложения" ) различия между поставщиками обычно становятся просто проблемой конфигурации. Инъекционная инъекция делает много вещей, таких как упрощение тестирования (сделано правильно).

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

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

Как только вы займетесь мышлением DI/IoC.

Ответ 7

Spring довольно большой, он имеет две грани, которые я знаю об инъекции зависимостей и АОП. Ruby on rails очень ориентирован на создание веб-приложений.

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

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

Ответ 8

Я подозреваю, что этот вопрос действительно о Spring MVC. Одним из отличительных признаков Ruby on Rails является "соглашение по конфигурации". Если вы используете правильные имена, вы сэкономите много работы, записывая файлы конфигурации. С помощью Spring вам, вероятно, придется идти вперед и набирать много этой конфигурации.

Также маршрутизация Rails намного более мощная и лаконичная, чем альтернативы в Spring. В последних выпусках Spring попытался перейти к более условному сравнению с моделью конфигурации, но он все равно будет обременительным для разработчика Rails.

Ответ 9

Я работал с некоторыми из них довольно широко, и я нашел Spring, а самые популярные "надстройки" hibernate, JSF, JSP, Rich Faces и т.д. чрезвычайно сложно использовать.

В основном это было из-за личного недовольства документацией и доступными книгами и учебниками по полному стеку. Кроме того, это просто не так удобно, как дружественный к среде Rails. По-настоящему кажется, что он просто показал лучший способ разработки веб-приложений практически всеми способами.