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. И все это не заняло очень уж титанических усилий. Но это был определённый проект...Я хотел создать что-то ещё но мне было очень лениво копировать собирающее все "ядро"(хоть там и мало кода), переписывать работу с базой итд. Уже через час я понял, что вместо переписывания ядра, написания сотен статических запросов к бд, я могу просто и коротко создать Rails-приложение такого же функционала, затратив на разработку в разы меньше времени. Может конечно в чем-то я пока не прав, ибо практики не было(собираемся с тем же другом ставить свой сервер), но время покажет. А изучать RoR и параллельно программировать на PHP никто не мешает. PS: Если этот пост читает кто-то умный который в Rails разбирается - милости просим помочь :P Если кто-то, заинтересовавшийся, можем попрактиковаться вместе. С уважением, Det | |
Категория: Coding | Просмотров: 621 | Добавил: DeT | Теги: ruby, rails, web |
Всего комментариев: 0 | |