Я - разработчик фронтэнда (HTML, CSS, JS и jQuery), я знаю немного PHP. Я пытаюсь схватить, каков Ruby/Ruby on Rails.
На http://rubyonrails.org/ это говорит, что "Ruby on Rails является веб-платформой с открытым исходным кодом, это оптимизировано для счастья программиста"
В фактических, немечтательных терминах, что является особенным о Ruby/Ruby on Rails, и как человеку могу понравиться я преимущество от обучения использовать его?
Мой простой вопрос: чья сестра - это? PHP, MySQL, ASP, coldFusion, jsp, апач?
Что это делает?
Ruby является новейшим языком программирования, который разделяет большую часть своего наследия с Perl и Smalltalk. Вы можете увидеть, как выглядит Ruby (и попробовать его самостоятельно) на tryruby.org.
Так же, как вы можете использовать PHP для написания веб-страниц, вы можете сделать то же самое с Ruby.
Ruby on Rails - это набор программных устройств, которые помогут вам легче писать сайты на Ruby. Главное, что они пытаются облегчить ("сделать легче"):
"Rails", как его называют вкратце, строится с крайним ущербом для некоторых моделей приложений, в частности MVC. Это означает, что в отличие от PHP, где любой .php
исходный файл является справедливой игрой для любого бита кода, большая часть кода в приложении Rails написана в определенном, обычном месте. Когда люди сравнивают Rails с PHP, они часто указывают на это.
Я много чего не рассказывал, но это самые базовые возможности Rails. Чтобы посмотреть, как это выглядит, я бы посоветовал посмотреть печально известный скринкаст "Creating a Weblog...".
.Это фреймворк для Ruby, сладкое место которого - веб-приложения на основе CRUD. Они делают ряд предположений (также называемых «соглашениями»), которые позволяют легко и быстро создавать таблицы с отношениями 1: 1, 1: m и m: n, объектами, контроллерами и веб-страницами для раскрытия этих данных и управления ими. Интернет.
Ruby - это просто еще один объектно-ориентированный язык, такой как Java, C ++ или C #. Его изобрел джентльмен из Японии.
Если вы ищете что-то, с чем можно было бы сравнить кого-то из PHP, подумайте об этом как о CakePHP для рубина. Это кучка предварительно разработанных низкоуровневых классов и систем, которые затем могут быть расширены для использования во многих различных системах. Он также включает в себя множество других полезных инструментов и архитектуру плагина. Он использует рубин и язык шаблонов HTML, основанный на рубине (erb), а не на PHP.
.Возможно, это не самая лучшая аналогия, но как будто вы используете HTML/CSS/JS для отображения связной сущности со специфическими вещами в их специфических местах. Rails предоставляет фреймворк, позволяющий работать в организованном окружении со специфическими вещами в их конкретных местах. Помимо того, что у Rails есть хорошие возможности для более быстрой разработки.
Обычно:
Html будет содержать контент, который вы хотите отобразить, в то время как CSS поможет контролировать конкретный внешний вид этого контента, в то время как JS позволит вам манипулировать или взаимодействовать с этим контентом.
Rails использует MVC (Model, View, Controller) для обеспечения подобной организации. Там, где объекты данных обычно классифицируются как Модели, в то время как представления контролируют отображение данных. А контроллеры облегчат передачу этих данных из Модели в Модель и наоборот.
Железнодорожный транспорт - не единственная игра в городе. Так что оглянитесь вокруг, так как есть и другие отличные фреймворки, и найдите тот, который лучше всего подходит вашему стилю и языковым потребностям
.Философия и дизайн
Ruby on Rails предназначен для того, чтобы подчеркнуть Конвенцию о конфигурации (CoC), а также принцип быстрого развития Don't Repeat Yourself (DRY).
"Конвенция о конфигурации" означает, что разработчику необходимо лишь указать нетрадиционные аспекты приложения. Например, если в модели присутствует класс Sale, то соответствующая таблица в базе данных по умолчанию называется sales. Только в случае отклонения от этой конвенции, например, называя таблицу "проданные продукты", разработчику необходимо написать код относительно этих названий. Как правило, это приводит к меньшему количеству кода и меньшему количеству повторений.
"Не повторяйся" означает, что информация находится в едином, однозначном месте. Например, используя модуль ActiveRecord из Rails, разработчику не нужно указывать имена столбцов БД в определениях классов. Вместо этого Ruby on Rails может получить эту информацию из базы данных, основываясь на имени класса.
Взято из википедии
Как Ruby, так и Rails обычно высоко ценятся.
.Ruby - язык программирования. Ruby on Rails - это часть программного обеспечения, написанная на Ruby, она помогает вам разрабатывать веб-приложения.
Вы можете смотреть на Ruby on Rails так, как будто это набор инструментов. Он помогает вам выполнять общие задачи, когда вы делаете динамическое веб-приложение. Например, обработка сессий, куки, взаимодействие с базами данных и т.д.
Rails - это не просто библиотека. Чтобы действительно понять это, вам придется поэкспериментировать с ней, что на самом деле очень просто.
Rails Guides - фантастическое место для начала.
.Ruby - объектно-ориентированный язык программирования. Rails - фреймворк, встроенный в Ruby для разработки веб-приложений. Я использую рельсы уже около 6 месяцев, и до сих пор это было здорово. Если вам нужны некоторые из тех же возможностей рельсов, то вам стоит обратить внимание на django (python), cakephp или symfony (php).
Pros:
Cons: