Главная » 2008 » Ноябрь » 12 » Ruby On Rails
Ruby On Rails
18:26

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

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

Так вот я, начал изучать php как серверный язык, в принципе не очень сложен, хотя я его изучаю до сих пор(все время нахожу что-то новое для себя). Так изучаться его я начал с практики(по-моему самый лучший вариант). Параллельно добавил в закладки кучу сайтов со статьями(чтобы и теория была). Мне попал в руки готовый проект над которым нужно было работать. Я недели две(а может и меньше изучал его архитектуру).

Пришел к выводу что все строилось так: браузер обрабатыает url, ищет в нем первый параметр(запрос был вида http://url.ru/controller/method/param1/param2/...) - controller и подгружает соотв. класс. Далее выполняет method этого класса(если он есть), если нет то некий базовый. Этот класс называется контроллером. В нем происходил набор и обработка получаемых данных и формирование ответа. Кроме того я заметил что внутри периодически создавались элементы классов вроде ItemModel, BlogModel итд. Я поглядел в коде - эти классы выполняли соотв. обращения к базе данных. Т.е. некие классы model - позволяют работать с базой. Затем я попытался понять, как же происходит формирование страницы...Controller сам по себе не формирует никаких данных, но обычно в конце каждого метода было что-то вида

Code
$this->displayPage("pages/main.tpl");

Как выяснилось, тут стоял шаблонизатор, который и обрабатывал то что нам нужно. Т.е. в этом проекте была реализована след. система MVC(Модель-Предсталение-Контроллер).

Реализовывать дополнительный функционал было очень просто при подобном положении дел. Вскоре я добавил модуль блога, афиш и пр. Сделал некое подобие админ-панели, добавил AJAX'a. И все это не заняло очень уж титанических усилий.

Но это был определённый проект...Я хотел создать что-то ещё но мне было очень лениво копировать собирающее все "ядро"(хоть там и мало кода), переписывать работу с базой итд.
И как раз в этот момент друг(простите, я отвлекся и пустился в историю:P ) рассказал мне про Ruby on Rails...Немного копания в сети показали, что Rails и Ruby немного разные вещи(первый - язык для написания WEB приложений). Я скачал книгу на русском(каюсь за "пиратство", но у бедных студентов нет денег), начал её читать(да и сейчас читаю).

Уже через час я понял, что вместо переписывания ядра, написания сотен статических запросов к бд, я могу просто и коротко создать Rails-приложение такого же функционала, затратив на разработку в разы меньше времени. Может конечно в чем-то я пока не прав, ибо практики не было(собираемся с тем же другом ставить свой сервер), но время покажет. А изучать RoR и параллельно программировать на PHP никто не мешает.

PS: Если этот пост читает кто-то умный который в Rails разбирается - милости просим помочь :P Если кто-то, заинтересовавшийся, можем попрактиковаться вместе.

С уважением, Det

Категория: Coding | Просмотров: 621 | Добавил: DeT | Теги: ruby, rails, web
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]