Как мне перейти с C # / ASP на Ruby? - PullRequest
1 голос
/ 18 ноября 2009

Я недавно разработал веб-приложение, которое я хотел бы написать на Ruby. Исходя из фона ASP, я разработал его с помощью метода и полей и связал их вместе (на моей диаграмме и в UML), как я бы сделал это в C #.

Однако теперь, когда я перешел из одного приложения в MVC, я понятия не имею, куда идет мой код или как связаны части.

Например, мое приложение в основном собирает информацию из различных источников для пользователей, и когда они входят в систему, информация представляется им с «новой» информацией (информация, собранная с момента последнего входа в систему) специально помечается в интерфейсе.

В C # у меня был бы основной цикл, который ждет, скажем, 5 минут и выполняет сбор, затем, когда клиент пытается подключиться, он порождает новый поток, который генерирует страницу с новой информацией. Теперь, когда я перехожу на Ruby, я не уверен, как добиться того же результата.

Я понимаю, что контроллер соединяет модель с представлением, и, таким образом, я предполагаю, что именно туда идет мой код, но я еще не видел учебник, в котором говорится о том, что я упомянул. Если бы кто-то мог указать мне один или сказать мне точно, что мне нужно сделать, чтобы превратить мой псевдокод в рабочий код, я был бы чрезвычайно благодарен и, вероятно, все еще имел бы волосы: D

РЕДАКТИРОВАТЬ : Почему-то я забыл упомянуть, что буду использовать фреймворк Rails. Мне не очень нравится Ruby, но RoR настолько хороши вместе, что я думаю, что могу с этим смириться.

Ответы [ 4 ]

3 голосов
/ 18 ноября 2009

Часть вашего приложения, которая извлекает данные через определенный интервал, строго говоря, не должна быть частью веб-приложения. В мире Unix (включая Rails) он будет реализован либо как процесс-демон, либо как задание cron. В Windows я предполагаю, что служба Windows - это правильный инструмент.

Что касается перехода на C # -> Ruby, если это чисто для Rails, я прислушаюсь к совету Джорджа и попробую ASP.NET MVC, так как он очень похож на логику Rails (некоторые называют это плагиатом) ;)). Однако изучение нового языка, особенно такого отличного от C #, как Ruby, всегда является хорошей идеей и способом улучшить себя как разработчика.

3 голосов
/ 18 ноября 2009

Я понимаю, что вы хотите перейти на Ruby; но вы можете попробовать ASP.NET MVC. Это инфраструктура MVC на платформе ASP.NET.

Исходя из ASP, вам придется много конвертировать, чтобы ваш код стал более модульным. Гораздо больше, чем какой-либо пост в переполнении стека, будет справедливо.

MVC состоит из «ярусов»:

Модель - Ваши данные
Просмотр - Что видит пользователь
Контроллер - обрабатывает запросы и связывается с представлением и моделью.

Поднимите книгу по ASP.NET MVC 1.0 и проведите некоторое исследование паттерна MVC. Оно того стоит.

1 голос
/ 18 ноября 2009

Какой бы веб-фреймворк Ruby вы ни планировали использовать (Rails, Merb, Sinatra), похоже, что часть, которая собирает эти данные, обычно обрабатывается фоновой задачей. Ваши модели будут представлениями этих данных, а остальная часть вашего веб-приложения будет довольно стандартной.

Есть несколько хороших эпизодов Railscast по выполнению заданий в фоновом режиме:

Существуют и другие варианты выполнения задач в фоновом режиме (например, использование очереди сообщений и плагина ActiveMessaging ), но эти скриншоты, по крайней мере, дадут вам представление о том, как фоновые задания обычно используются Rails.

Если вы выполняете эти задачи по регулярному расписанию, для этого также есть инструменты.

Надеюсь, это поможет.

0 голосов
/ 18 ноября 2009

Проверьте Rails для разработчиков .NET . Я слышал хорошие новости об этой книге, и кажется, что это именно то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...