что такое рубин на рельсах? - PullRequest
9 голосов
/ 25 декабря 2009

Я разработчик внешнего интерфейса (HTML, CSS, JS & jQuery). Я немного знаю PHP. Я пытаюсь понять, что такое Ruby / Ruby on Rails.

В http://rubyonrails.org/ говорится, что «Ruby on Rails - это веб-инфраструктура с открытым исходным кодом, оптимизированная для счастья программистов»

В сущности, не в сновидениях, что особенного в Ruby / Ruby on Rails, и какую пользу может извлечь такой человек, как я?

Мой простой вопрос: чья это сестра? PHP, MySQL, ASP, coldFusion, jsp, apache?

Что это делает?

Ответы [ 8 ]

23 голосов
/ 25 декабря 2009

Язык

Ruby - это новый язык программирования, который делит большую часть своего наследия с Perl и Smalltalk. Вы можете посмотреть, как выглядит Ruby (и попробуйте сами) на tryruby.org .

Так же, как вы можете использовать PHP для написания веб-страниц, вы можете сделать то же самое с Ruby.

Каркас

Ruby on Rails - это набор программных устройств, которые помогут вам легче создавать веб-сайты на Ruby. Основные вещи, которые они пытаются облегчить («упростить»):

  1. Хранение связанных данных (например, сообщения в блоге и комментарии к ним) в базе данных.
  2. Прием веб-запросов и программный ответ на них (например, проверка пароля пользователя)
  3. Составление HTML с использованием ваших данных, с макетами и шаблонами для упрощения.

«Rails», как его называют кратко, построен с предубеждением к определенным моделям приложений, в частности MVC. Это означает, что в отличие от PHP, где любой исходный файл .php является хорошей игрой для любого кода, большая часть кода в приложении Rails написана в определенном, обычном месте. Когда люди сравнивают Rails с PHP, они часто указывают на это.

Я многое не рассмотрел, но это основные функции Rails. Чтобы увидеть, как это выглядит, я бы посоветовал посмотреть скандальную «Создание блога ...» .

4 голосов
/ 25 декабря 2009

Если вы ищете что-то для сравнения с кем-то из PHP, подумайте о CakePHP для ruby. Это набор заранее разработанных низкоуровневых классов и систем, которые затем могут быть расширены для использования во многих различных системах. Он также включает в себя множество других полезных инструментов и архитектуру плагинов. Он использует ruby ​​и язык шаблонов HTML, основанный на ruby ​​(erb), а не на PHP.

4 голосов
/ 25 декабря 2009

Это фреймворк для Ruby, чьим приятным местом являются веб-приложения на основе CRUD. Они делают ряд допущений (так называемых «соглашений»), которые позволяют легко и быстро создавать таблицы с отношениями 1: 1, 1: m и m: n, объектами, контроллерами и веб-страницами для демонстрации этих данных и манипулирования ими. Интернет.

Ruby - это просто еще один объектно-ориентированный язык, такой как Java, C ++ или C #. Его изобрел джентльмен из Японии.

3 голосов
/ 25 декабря 2009

Возможно, это не лучшая аналогия, но, как вы бы использовали HTML / CSS / JS, чтобы отобразить связную сущность с конкретными вещами в их определенных местах. Rails предоставляет структуру, позволяющую вам работать в организованной среде с конкретными вещами в их определенных местах. А также наличие положительных героев для более быстрого развития.

В целом:

HTML будет содержать контент, который вы хотите отобразить, в то время как CSS поможет контролировать его внешний вид, а JS позволит вам манипулировать или взаимодействовать с этим контентом.

Rails, использует MVC (Model, View, Controller) для обеспечения аналогичной организации. Где объекты данных обычно классифицируются как модели, а представления управляют отображением данных. А контроллеры будут способствовать потоку этих данных из представления в модель и наоборот.

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

2 голосов
/ 26 декабря 2009

Ruby - это объектно-ориентированный язык программирования. Rails - это интегрированная в Ruby инфраструктура для разработки веб-приложений. Я использую рельсы уже около 6 месяцев, и это здорово. Если вам нужны некоторые из тех же возможностей рельсов, вы должны также рассмотреть django (python), cakephp или symfony (php).

Плюсы:

  • Архитектура MVC - Код организован, разбит на мелкие, управляемые
    файлы
  • Абстракция базы данных - у вас нет писать SQL-запросы, типы баз данных легко взаимозаменяемы
  • Соглашение о конфигурации - rails автоматически знает имена файлов, баз данных, переменных без явного указания
  • Быстрое развитие - Rails требует меньше строк кода из-за всех функций, которые он автоматически выполняет, и является более выразительным, что приводит к ускорению разработки

Минусы:

  • Медленнее - это часто обсуждается, но сопоставимое приложение rails работает медленнее, чем его PHP-аналог. Rails 3 предположительно будет включать в себя увеличение скорости.
  • Меньше литературы - у рельсов нет множества учебников, книг и API, доступных для PHP.
  • Меньше поддержки хостинга - Не все общие хосты поддерживают рельсы, но вы можете настроить его на любом vps или выделенном. В Rails развертывание также немного сложнее, чем в PHP
2 голосов
/ 25 декабря 2009
  • Ruby
    Элегантный объектно-ориентированный язык программирования с такими объектами, как Smalltalk и синтаксисом, подобным Python и Perl. Это своего рода PHP, если бы все было сделано правильно. Таким образом, Ruby берет функции из продвинутых «настоящих» языков и объединяет их с интерпретированным эффективным синтаксисом и богатой библиотекой практичностью Perl, Python и PHP.
  • Rails
    Продвинутый веб-фреймворк . Многие современные веб-фреймворки считаются копиями или, по крайней мере, вдохновлены Rails. (Google "rails clone" .) "Первый хороший веб-фреймворк".

Как Ruby, так и Rails обычно высоко ценятся.

2 голосов
/ 25 декабря 2009

Философия и дизайн

Ruby on Rails призван подчеркнуть Соглашение о конфигурации (CoC) и принцип быстрого развития Не повторяйся (DRY).

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

«Не повторяйся» означает, что информация находится в одном, однозначном месте. Например, используя модуль ActiveRecord Rails, разработчику не нужно указывать имена столбцов базы данных в определениях классов. Вместо этого Ruby on Rails может извлечь эту информацию из базы данных на основе имени класса.

Взято из Википедии

1 голос
/ 25 декабря 2009

Ruby - это язык программирования. Ruby on Rails - это программа, написанная на Ruby, которая помогает вам разрабатывать веб-приложения.

Вы можете посмотреть на Ruby on Rails, как на набор инструментов. Это помогает вам выполнять общие задачи при создании динамического веб-приложения. Например. обработка сеансов, файлы cookie, взаимодействие с базой данных и т. д.

Однако Rails - это не просто библиотека. Чтобы действительно понять это, вам придется поэкспериментировать с этим, что на самом деле очень просто.

Rails Guides - фантастическое место для старта.

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