OberonCore
https://forum.oberoncore.ru/

опыт работы с Ruby On Rails
https://forum.oberoncore.ru/viewtopic.php?f=27&t=2680
Страница 1 из 1

Автор:  Роман М. [ Вторник, 08 Июнь, 2010 23:11 ]
Заголовок сообщения:  опыт работы с Ruby On Rails

Только начал изучать возможности Ruby On Rails (RoR). Осваиваю концепцию Model-View-Controller. Возможности, конечно, широкие. Однако, многие вещи довольно запутанны и непонятно их происхождение.

Кто-нибудь знаком с Ruby On Rails чуть более, чем поверхностно?
Интересно узнать про опыт в использовании этого каркаса.

Автор:  Роман М. [ Вторник, 29 Июнь, 2010 23:32 ]
Заголовок сообщения:  Re: опыт работы с Ruby On Rails

Ознакомившись с Рельсами (Ruby On Rails) поближе, я могу подытожить: после чёткого Оберона очень трудно переходить к пространным определениям Ruby On Rails.
Уйма подводных рифов из-за неопределённости, опасности перекрытия глобальных имён.
А если учесть и мешанину программного кода в виде helper, partial вкупе с AJAX, то, вообще, становится нехорошо. Напоминает сочетание Visual Basic, Perl, assembler со спагетти в виде операторов GOTO. :) С одной стороны, кажется вполне так "ничего". А, присмотревшись поближе, становится страшнее и страшнее по мере увеличения функциональности. Хардкор, не иначе. :?

Что понравилось:
  • Ассоциации между моделями и миграция баз данных
  • Наличие генераторов кода JavaScript посредством прототипов
  • Автоматическая генерация связей действий с моделями баз данных (scaffolding) с созданием шаблона и стилей
  • Проверка (validation) корректности ввода полей
  • Интерфейс запросов Active Record для БД
  • Заслуживает внимания принцип RESTful. Хотя им можно и злоупотребить в некоторых случаях.

Из-за довольно высокой абстрагированности каркаса с его внутренними связями трудно понять как он работает изнутри (особенно касаемо производительности). Трудно переключаться с процедурных языков. Трудно понять взаимодействие и передачу переменных - оно работает через одно место (конкретно: через малопригодные для этих целей запросы по URI).

На этом этапе отладка для меня является мучением. Система сообщений об ошибках настолько запутанна, что даже опытные разработчики должны вникнуть в суть сообщения размером в одну страницу (backtrace), так как часто указывается ошибка наподобие: "здесь что-то неладно" или "неизвестная ошибка - сообщите разработчикам, немедля".

От одной минорной(!) версии к другой могут появиться особенности, могущие привести к обратной несовместимости!

С Рельсами знаком чуть более двух недель, так что моё мнение может оказаться далеко от реальности. Но эмоциональную часть передаю из своего опыта с другими языками программирования.

Автор:  Alexey Veselovsky [ Понедельник, 12 Июль, 2010 00:43 ]
Заголовок сообщения:  Re: опыт работы с Ruby On Rails

Такой вопрос -- а перед тем как браться за рельсы, язык то был изучен (Ruby), или пытаетесь осилить всё сразу и скопом?

Просто обычно проще всего изучать так:
1) языковое ядро (язык без той части стандартной библиотеки, которая может быть написана на самом языке).
2) стандартная библиотека + распространенные паттерны программирования/проектирования на данном языке.
3) интересующая прикладная библиотека. например те же рельсы.

Если начинать с третьего попутно бегая по 1 и 2, то в голове с гарантией получается каша. Вне зависимости от языка и технологии.

Автор:  Роман М. [ Понедельник, 12 Июль, 2010 15:42 ]
Заголовок сообщения:  Re: опыт работы с Ruby On Rails

Соглашусь с необходимостью знать основы Ruby. Может, от того и страдаю, что не было возможности их изучить до конца.
В общем, с основами я был знаком перед изучением "Рельсов", хотя и не использовал многих знаний, которые нужны именно в работе с каркасом. Но в каркасе применяется много различных ухищрений, которые в простом Ruby не столь много.
Поэтому и создалось ощущение, что в "Рельсах" сплошь трюки и ухищрения.

Постепенно пробую заполнять пробелы в Руби, хотя по работе больше приходится вникать в суть трюков каркаса.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/