Spring трудно по сравнению с Ruby on Rails? [закрытый]

Замедление является не обязательно тем же с любым компилятором.

я не использовал Дельфи или Kylix, но назад в дни MS-DOS, программа Turbo Pascal скомпилировала бы почти мгновенно, в то время как эквивалентная программа Turbo C++ просто проверит.

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

, конечно, возможно, что скорость компиляции просто не была приоритетом для разработчиков компилятора C++, но существуют также некоторые свойственные сложности в синтаксисе C/C++, которые делают более трудным обработать. (Я не эксперт по C, но Walter Bright, и после создания различных коммерческих компиляторов C/C++, он создал язык D. Одно из его изменений должно было осуществить контекстно-свободную грамматику для создания языка легче проанализировать.)

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

27
задан Finch 11 January 2018 в 02:17
поделиться

9 ответов

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

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

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

12
ответ дан 28 November 2019 в 04:08
поделиться

After working with Rails, Spring (and just about any other Java coding) feels tedious and time consuming.

18
ответ дан 28 November 2019 в 04:08
поделиться

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

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

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

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

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

10
ответ дан 28 November 2019 в 04:08
поделиться

Особенность Spring в том, что это в основном две вещи:

  1. По сути, это «адаптер» или «фасад» для существующих технологий и библиотек; и
  2. Он с философской точки зрения отличается от, скажем, J2EE тем, что все дело в внедрении зависимостей или инверсии управления, что принципиально отличается от подхода, применявшегося ранее.

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

По этой причине Spring обычно называют облегченным контейнером. В мире Spring («контекст приложения») различия между поставщиками обычно сводятся только к вопросу конфигурации. Внедрение зависимостей делает многое, например, значительно упрощает тестирование (все сделано правильно).

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

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

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

5
ответ дан 28 November 2019 в 04:08
поделиться

I suspect this question is really about Spring MVC. One of the hallmarks of Ruby on Rails is "convention over configuration". If you use the right names, you spare yourself a lot of work writing configuration files. With Spring, you're probably going to need to go ahead and type in a lot of that configuration.

Also Rails routing is much more powerful and concise than the alternatives in Spring. In recent releases, Spring has tried to move to more of a convention over configuration model, but it will still seem burdensome to a Rails developer.

2
ответ дан 28 November 2019 в 04:08
поделиться

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

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

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

2
ответ дан 28 November 2019 в 04:08
поделиться

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

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

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

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

37
ответ дан 28 November 2019 в 04:08
поделиться

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

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

2
ответ дан 28 November 2019 в 04:08
поделиться

Недавно я перешел на использование Spring MVC + WebFlow после 4 лет использования Ruby on Rails.

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

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

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

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

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

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

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

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

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

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

Труднее ли пружина по сравнению с рельсами?

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

12
ответ дан 28 November 2019 в 04:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: