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

Что значит для языка программирования "на рельсах"?

В настоящее время я работаю с Groovy и Grails. В то время как Groovy довольно прямолинейный, так как он в основном Java, я не могу сказать, что я grok Grails. Я читал, что Groovy принадлежит Grails, поскольку Ruby - Ruby on Rails, но что это значит?

4b9b3361

Ответ 1

Чтобы устранить вашу путаницу с метафорой (хотя на ваш вопрос ответили другими словами):

Groovy для Grails, поскольку Ruby - Ruby on Rails, но что это значит?

Grails была веб-картой, построенной на/с языком программирования Groovy, чтобы сделать то же самое для Groovy, что Rails (веб-инфраструктура для Ruby) делает для Ruby.


Что значит быть "на рельсах"?

Ответ на этот вопрос сводится к сути этих веб-фреймворков.

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

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

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

Ответ 2

Несколько человек упомянули о том, что делает Rails/Grails тем, чем они являются. Несколько человек также упомянули "соглашение о конфигурации" как "рельсы" в Rails/Grails. Это приближается к истине. Но это лишь одна из характеристик более широкой философии Rails, которая представляет собой концепцию отношение. Нравится это или ненавижу это, вот что лежит в основе Rails.

Здесь выдержка из интервью исследует тему.

Таким образом, "на рельсах" является метафорой для того, чтобы быть "самоуверенным", поэтому его называют так, как есть. Это и тот факт, что "Ruby on Rails" является аллитеративным, что любой журналист или писатель вам скажет, является верным способом привлечь внимание людей.

Ответ 3

Я думаю, что рамки, которые стремятся быть "рельсовыми", относятся к нескольким вещам:

  • Уровень модели: AR-образный ORM (а не datamapper), миграция или некоторая автоматическая схема и управление на уровне модели, обработка внешних ключей в приложении (не в схеме базы данных, а также не использование хранимых процедур или чистой логики СУБД)

  • TDD рекомендует: автоматически сгенерированные скелеты для модульных тестов,

  • Соглашения об именах, связывающие имена таблиц базы данных и имена моделей, действия контроллера и вида и HTML-шаблоны

  • упрощенное распознавание маршрута и схема генерации маршрута

  • акцент на архитектуре REST

  • интеграция с ajax libs: RJS, прототип и сценарий

Ответ 4

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

Ответ 5

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

Ответ 6

Это автомобильное выражение. Когда автомобиль обрабатывает исключительно хорошо, он сказал, что "угол, как движение по рельсам" (т.е. Дает отличный контроль).

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

Ответ 7

Действительно короткий и простой ответ: Конвенция по конфигурации.

Ответ 8

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

Ответ 9

Ruby и Groovy являются языками.

Ruby on Rails - это базовая инфраструктура webapp. См. Превосходные ответы на уместное программное обеспечение выше.

В качестве истории, рабочее название для Groovy webapp framework было Groovy в Rails. Однако сообщество RoR возражало. Вместо этого команда выбрала Grails.

Ответ 10

Это метафора, и я почти сказал, что нужно объяснять. Во всяком случае, это очень хорошая метафора того, что делает Ruby on Rails. Это очень легко сделать (перейдите) к обычным вещам, т.е. е. тестирование, проверка, развертывание, MVC.

Ответ 11

Я не согласен с другими комментариями "на рельсах" - это философия о конфигурации над конфигурацией и т.д.

Хотя рельсы придерживаются этих философий, "Ruby on Rails" - это название веб-фреймворка. Ни больше ни меньше. Это не относится к какой-либо конкретной "on-railsness" об этом, это просто название бренда так же, как McDonald является брендом.

Если кто-то другой пишет другую фреймворк и называет его "Python on Rails", тогда будет другая торговая марка. Если нет, "XYZ on rails" просто означает, что люди путаются.