Мы рассмотрели Ruby, теперь можно переходить к Ruby on Rails. В этом и следующих постах мы будем обсуждать основные принципы, конвенции и MVC-структуру.
Итак, в этом посте я расскажу о следующих вещах:
- Краткая история Rails
- Польза от использования Rails
- Model View Controller
История Ruby on Rails
Rails (RoR) — это фреймворк для разработки динамичных веб-приложений.
Он был создан в 2004-2005 годах Давидом Ханссоном (который, кроме того, является автогонщиком).
Кто использует Rails?
Так кто использует Rails? Много больших, а также средних сайтов, таких как Hulu, Groupon, LivingSocial, Twitter и Github.
Стартапы в целом любят Rails из-за его возможности быстро прототипировать и быстро разрабатывать приложения.
Почему Rails?
Один из принципов использования Rails называется Convention Over Configuration.
Вы бы могли подойти к разработке приложений по одному из двух путей. В одном из них вы настраиваете всё что вы делаете с чистого листа.
Или вы можете положиться на конвенции, которые уже были установлены. Многие лучшие практики уже существуют в конвенциях.
И если вы следуете определенным конвенциям, вам нужно писать меньше кода — иногда фреймворк генерирует его за вас.
Другим преимуществом этого паттерна является то, что вы изучаете разработку проекта один раз, и вы можете применить те же самые концепты в следующем Rails-проекте.
Так что, вы будете знать чего ожидать в следующий раз.
Следующее преимущество Rails — это то что у вас есть уровень абстракции базы данных. Ruby on Rails позволяет вам взаимодействовать с базой данных не путем написания SQL-запросов, вы можете взаимодействовать с базой данных путем написания Ruby-кода.
Это иногда называется ORM, то есть объектно-реляционное сопоставление.
Вы сопоставляете свою базу данных с вашими классами Ruby.
Кроме того, Rails:
- Благоприятен для гибкой разработки
- Следует принципу “не повторяйся” (Don’t repeat yourself)
- Кроссплатформенный
- С открытым исходным кодом
- Модульный
SQLite
Другой интересной особенностью Rails является то, что он использует SQLite как базу данных по умолчанию.
SQLite — это автономная, безсерверная, транзакционная база данных SQL нулевой конфигурации.
Что в основном означает, что это всего лишь файл, лежащий в вашей файловой системе, но он действует как реляционная база данных.
Преимущество этого заключается в том, что вам не нужно настраивать сложный механизм базы данных, чтобы начать разработку приложения.
Когда вы создаете Rails-приложение, возможность взаимодействия с базой данных находится прямо “в коробке”.
Поскольку база данных здесь абстрактна, вы можете переключиться на другую СУБД позже, если захотите. Но в самом начале вам не нужно проходить эти детали настройки.
Кроме того, SQLite является наиболее широко распространенной SQL-базой в мире. Ее используют браузеры, iPhone, Android и многие большие приложения. Потому что, опять же, она ведет себя как реляционная база данных, но в реальности это всего лишь файл.
MVC: Module, View, Controller
Еще одна концепция, которую использует Rails, — это идея Model View Controller. На русский это переводится как “Модель-Вид-Контроллер” или “Модель-Представление-Контроллер”.
MVC изобрел норвержский профессор Трюгве Реенскауг в 1979 году.
Это хорошо зарекомендовавший себя программный паттерн, используемый многими веб-фреймворками и десктопными фреймворками.
Model — представляет собой данные, с которыми работает приложение (и, возможно, бизнес-логику).
View — визуальное представление этих данных.
Controller — координирует взаимодействие между моделью и представлением.
Цикл MVC
- Отправлен запрос
- Контроллер ← → Модель
- Контроллер запускает Представление
- Представление отображает данные
В итоге
В итоге, Rails очень хорошо подходит для быстрого прототипирования.
Использование паттернов и конвенций позволяет меньше думать и больше делать, таким образом увеличивая продуктивность разработчика.