2011-01-07 3 views
7

Я работаю над презентацией о RoR. Это выглядит хорошо, но я не могу найти ничего для раздела «Проблемы». Кажется, нет. :)Является ли Ruby on Rails хорошим для крупномасштабных проектов?

Особенно меня интересует:

  1. Какие проблемы существуют с ремонтопригодности/управления, когда несколько разработчиков участвуют в крупномасштабных RoR проекта?
  2. Какие конкретные соображения существуют для разработчиков по таким крупномасштабным проектам, использующим динамически типизированные языки по сравнению со статически типизированными языками?
  3. Почему RoR не подходит для крупномасштабных проектов?

Я ничего не нашел в этом поисковом режиме в Интернете. Я хотел бы услышать ваши мысли об этих моментах?

Спасибо, Аркадием

+0

Я уверен, что качество кода и применимость рамки в большей степени зависят от управления командой и других инструментов, чем от языка и структуры. не могу ничего процитировать от верхушки головы в данный момент –

+1

http://stackoverflow.com/questions/14823/is-ruby-on-rails-ready-for-the-enterprise и http: //www.infoq. ru/articles/change-the-present-case-stud – Zabba

+1

http://www.canrailsscale.com/. Я очень люблю Rails! –

ответ

8

Я уверен, что вы можете найти много этого в сети, но я рад обязать вас.

  1. Поддержание работоспособности: Ruby and Rails - все о создании более удобного кода за счет небольшой производительности. Вот почему Ruby - это динамический язык в первую очередь. Что касается разработчиков/команд, Rails отлично подходит для создания и поддержки кода, который легко понять и поддерживать.
  2. Динамический и статический: с точки зрения команды разработчиков статические языки имеют уникальное преимущество в том, чтобы быть очень явным. Существует не волшебство, чтобы запутать новых разработчиков, и должно быть мало работы с точки зрения преследования призраков (теоретически, так или иначе). Это преимущество быстро перевешивается способностью динамического языка действительно использовать ООП и быстро развиваться.
  3. Пригодность: Я не могу придумать никаких веских причин. Он прост в тестировании, проверен и очень хорошо разработан. Это было сделано, чтобы выполнить эту работу, поэтому меня это не удивляет, что это так. :)
+1

Есть две стороны монеты Rails. С одной стороны, у вас есть мощные инструменты в вашем распоряжении, что позволяет вам быстро развиваться. С другой стороны, существует так называемая передовая практика сообщества мэйнстрим-рельсов, которые на самом деле являются рецептом катастрофы, например, жира моделей и т. Д. В конце концов, все это приходит к вашей собственной культуре и методам, которые приведут к поддерживаемому проекту , –

+0

Вы указываете ремонтопригодность. И в течение многих лет сообщество Rails собирается для «тощих контроллеров, толстых моделей», полуправой мантры. Таких примеров больше. Я ничего не напугаю, просто упомянул об общих ловушках, с которыми я столкнулся в своем путешествии с Rails. Существует множество приложений уровня предприятия, написанных с помощью Rails, и все это приходит к разработчикам для создания поддерживаемого кода в конце. –

1

Для обеспечения масштабируемости, если щебетать может Doit так я думаю, что вы тоже можете это сделать.

И поддерживаемость, как и на любом другом языке программирования, вам нужно использовать какой-то контроль версий, svn или git.

+3

Бэкэнда Twitter больше не на Rails. Они работают на Scala. Вот как они могут это сделать. – picardo

+1

Twitter использует Scala и RoR;) http://www.artima.com/scalazine/articles/twitter_on_scala.html – Sinetris

2

Большая часть команды разработчиков RR работает на MAC по моему опыту. Использование git или svn для версии управление. Наибольшее использование TextMate или Komodo. Специальный с Komodo Pro вы можете использовать его хорошо в командах. Хороший клиент SVN есть Версии

Я не работал в больших командах затем 5 разработчиков, которые не крупномасштабный я думаю :) Но сама структура гораздо проще в обращении, как и большинство других я есть видел. В основном используется в Scrum-командах, но если у вас хорошая организация, я не вижу недостатка в использовании RoR в больших командах.

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

Мы используем RoR в среде linux и windows и имеем очень хороший производственный опыт. Технически он такой же масштабируемый, как и другие крупные рамки, с sql_sessions и mem_cache вы можете настроить ферму серверов для запуска ее тысячами или миллионами пользователей.

Так imho: Он способен на любой размер команды.

Смежные вопросы