Pull to refresh

Ruby on Rails. Итоги первого месяца

Reading time3 min
Views2.4K
Чуть больше месяца назад я пересел с PHP на Ruby. Теперь хочу как-то резюмировать этот небольшой опыт и попытаться сформулировать плюсы и минусы.

Все начинается со знакомства


Первое, что пришлось прочитать — это Agile Web Development with Rails. Книжка почитается за библию, но на мой вкус она показалась не самой удачной. Хотя, пожалуй, главной ее проблемой является устарелость. Основная учебная задача книги — создание магазина. В основе лежат какие-то рельсы из серии 1.X.X (точно не помню), что во времена 2.X.X достаточно неактуально. И дело ведь не в том, что мне трудно откатиться на старую версию, а скорее в том, что мне абсолютно не хотелось разбираться в устарелом подходе.
К счастью, все желающие могут посмотреть скринкасты Бала Паранжа на тему создания учебного магазина Depot на рельсах 2.1.1. Кроме того у него неплохие скринкасты и на многие другие рельсовые актуальные темы.

Собственно с руби я знакомился по двум вещам:
— прекрасная штука TryRuby, о которой тут уже писали
— увлекательный комикс Why's — неоднозначно принимаемая сообществом книга, которая мне очень понравилась.

Ну и на десерт — самое главное пособие (для меня) по руби и рельсам — это скринкасты Райана Бэйтса. Пожалуй одних этих скринкастов (для начала хватит и 20) хватит чтобы оценить и понять рельсы.

К сожалению все вышеперечисленное (кроме AWDR, которое существует в переводе) на английском. Но мне кажется это только к лучшему — отличная ежедневная практика никому не помешает.

Сообщество


С этим оказалось все очень хорошо. Гугл группа RubyOnRails to russian — прекрасное место для решения любого вопроса [там мне давали ответы на все даже самые нубские вопросы не повышая тона, спасибо Max Lapshin ;) ]. В целом его приятно читать — много полезного узнаешь читая соседние топики. Утро понедельника у меня начинается с просмотра нового скринкаста Райана Бейтса, в остальные дни с чтения гугл группы ). В целом в гугл группах насчитывается более 1000 участников. При этом самые маститые гуру там не кичатса отвечать чуть ли не на все вопросы.

Язык Ruby


Сам язык произвел на меня впечатление, словно я пересел с жигулей на что-то с автоматической корбкой, комфортным салоном и все в таком духе. Руби оказался невероятно эротичным ;) языком. Параллельно мне приходилось закругляться с одним ПХП проектом и с каждым днем я все чувствительнее чувствовал провал между ПХП и Руби. Julik давно еще писал: PHP-код никогда не будет таким элегантным (просто потому что дизайн отсутствует).

Всегда можно написать на PHP то же, что и на Ruby — возможно даже за то же количество строк :), но вряд ли это будет столь же изящно.

Rails


Я никогда не работал с фреймворками в ПХП — поэтому мне и не с чем сравнивать. В любом случае, с рельсами очень приятно работать. Особенно я писаю кипятком от организации отношений вроде has_many и прочих. Ну и работа с базой данных тоже вызывает бурю эмоций первое время.

Что тревожит:
— та кипа файлов, которая уже имеется в проекте (и это только начало).
— хочется как-то проще перемещаться по структуре приложения. Это, конечно, проблема IDE, но хотелось бы нажатием пары клавиш очутиться в соответствующем контроллере из модели, или из метода контроллера в его представление. В TextMate и E этого нету =(
— все твердят о тормозах рельсов — я пока не смог оценить, но подсознательно ожидаю.

Ну а в целом MVC шаблон сам по себе очень организует работу и очень четко соответствует заявленной гибкости разработки. Сколько я не пытался проектировать приложения по типу MVC (как на actionscript, так и на ПХП), то в итоге из-за лени и из-за каких-то ошибок получалась вполне себе каша отдаленно напоминающая упомянутый шаблон. Он, конечно, не панацея — но определенно лучше хаотичного подхода.

Кроме того, в рельсах есть большой набор плагинов (ну и возможность заворачивать свои) — этот подход меня вдохновляет много больше, чем стандартная библиотека ПХП, которую я все время писал дописывал и инклюдил =). Кроме того набор готовых плагинов достаточно обширен и спасает много времени.

Холивар


Git лучше subversion *)

На конец


Не то, чтобы Ruby лучше всех — просто на нем приятнее разговаривать
Tags:
Hubs:
Total votes 95: ↑79 and ↓16+63
Comments145

Articles