Являются ли Ruby on Rails / Grails самыми быстрыми средами для быстрого запуска сайтов?

10

Я рассматриваю возможность использования Grails для нового сайта, но я открыт для других / новых языков программирования и фреймворков. Я сделал разработку с использованием J2EE / JSF2, ASP.NET и PHP. Является ли Grails или Ruby on Rails лучшим способом для быстрого запуска и запуска функциональности?

Некоторые начальные мысли:

  • DJango похож на RoR / Grails, и я бы подумал
  • GWT - интересная концепция, но не похоже, что время выполнения заказа так быстро

Спасибо, Джон

Джон Онстотт
источник
2
Если вы закончили разработку с использованием J2EE / JSF2, ASP.NET и PHP, то вы сможете быстрее запустить и запустить сайт с одним из них, чем с Grails, Ruby on Rails или любым другим фреймворком / язык, который вы никогда не использовали раньше.
Carson63000
2
Самый быстрый способ запустить и запустить веб-сайт - это установить WordPress или MediaWiki. Это не масштабируется совсем, если вам нужно добавить функциональность, но есть много сайтов, которые будут хорошо обслуживаться готовым решением + плагинами.
Шон Макмиллан

Ответы:

13

Как и на все вопросы такого рода, ответ «это зависит». Факторы, которые следует учитывать, включают в себя, насколько вы комфортно владеете языком / структурой и какие функции требуются проекту. Сказав это, я построил сайты, используя несколько фреймворков, каждый из которых имеет свои сильные и слабые стороны:

Grails

Если мне нужно быстро создать сайт для чего-нибудь профессионального , Grails, вероятно, будет моим первым выбором. GORM далеко и далеко наиболее простым и интуитивно понятным ОРМ , что я пробовал, парадигма MVC очень хорошо выполняется, есть 0 конфигурация для запуска не кодирования (не беспокоиться о URL, DB патчи, что угодно), очень быстрой итерации (только обновления страницы), бесшовная интеграция с Java (хорошая вещь в мире бизнеса) и несколько замечательных плагинов (например, Searchable - вещь прекрасная). Самым большим недостатком является то, что хостинг может быть трудно найти (и дорого).

Рубин на рельсах

Мой опыт работы с RoR очень похож на опыт Grails: MVC хорошо выполнен. С положительной стороны, у него более широкое сообщество, поэтому он-лайн ресурсы (документация, FAQ, примеры кода и т. Д.) Очень многочисленны, есть МНОГИ плагинов, Ruby немного более гибок / выразителен / «фанк», и это гораздо проще найти хостинг (особенно для личных проектов); с другой стороны, управление / настройка зависимостей - отстой (я использовал RubyGems в Windows, Ubuntu, Fedora и OSX и столкнулся с нетривиальными проблемами в каждой из них), конфигурация / издержки немного больше, чем в Grails (в частности, имеет дело с rout.rb и тоннами файлов миграции db), и, очевидно, у RoR есть некоторые серьезные проблемы с масштабируемостью.

PHP (включая фреймворк CakePHP)

Если мне нужно быстро что-то взломать или создать сайт для личного использования, то я, вероятно, пойду с PHP. PHP далеко и далеко самый простой язык , чтобы узнать и развертывание: скачать любого из удобных пакетов ЛАМПЫ там, нажмите пару раз, и начать рубили. Сообщество больше, чем сообщество RoR, поэтому документации достаточно, и есть бесчисленное множество плагинов (их легко «установить», просто вставив файл php и обновив страницу). Язык прост в изучении, но некоторые вещи в PHP просто странные, и требуется много дисциплины, чтобы избежать уродливого кода. Инфраструктура CakePHP обеспечивает хорошую парадигму MVC, которая помогает поддерживать порядок, и по большей части находится на одном уровне с RoR, хотя лично я нашел ее немного более неинтуитивной.

Java (сервлеты, JSP, JSTL, Struts, Velocity)

Я создал много сайтов с использованием технологий Java-сервлетов, и я могу честно сказать, что в настоящее время нет веских причин выбирать их для любого нового сайта. У них есть крутая кривая обучения, тонны конфигурации для борьбы (XML ад), медленная итерация из-за необходимости постоянно перераспределять вещи (если вы не используете JRebel), подробный код и отсутствие «халявы» с точки зрения функциональности. Я играл с Play! Framework и Spring Roo немного, и оба делают очень классные вещи с более или менее «чистым» Java-кодом и заслуживают дальнейшего изучения.

Евгений Брикман
источник
4

При использовании CakePHP я могу раскрутить веб-приложение быстрее, чем ... действительно быстрый парень. Во всяком случае, это быстро. Удалите файлы в корневой веб-папке, настройте два файла (около трех строк для изменения в каждом). И начать кодирование.

Поскольку он предпочитает соглашение по конфигурации, ему потребуется некоторый опыт, чтобы убедиться, что он настроен оптимально, но я гарантирую, что при одинаковом уровне опыта CakePHP обеспечит самое быстрое развертывание из любой инфраструктуры, возможно, за период .

Тем не менее, оригинальный проект CakePHP был клоном rails в PHP (он больше не существует), поэтому я уверен, что rails также быстро разворачивается.

Стивен
источник
Спасибо за понимание. В прошлом я взглянул на CakePHP, и, похоже, он использует те же понятия, что и RoR.
Джон Онстотт
Согласитесь +1 за знакомство с CakePHP.
Джереми
CakePHP roxxors.
Стивен
3

Я работаю с ASP.NET MVC уже некоторое время, и мне показалось, что это чертовски хороший фреймворк. Чрезвычайно прост в использовании, особенно если вы знакомы с .NET. Среда быстро развивалась с момента ее выпуска в 2009 году, недавно был опубликован предварительный просмотр MVC 3. Я думаю, что MS делает все правильно с ASP.NET MVC Framework.

ysolik
источник
1
MVC великолепен, и если вы читаете мои SO-посты, вы знаете, что я фанат, но прямо из коробки это не так быстро, как Rails, чтобы запустить сайт, управляемый БД, с нуля. Я думаю, что MVC вполне может быть лучшим выбором, чем Rails, в долгосрочной перспективе (в зависимости от ваших потребностей), но следует отдать должное, когда это необходимо: Rails лучше справляется с готовой работой.
Крейг Штунц
@Craig: Из чистого интереса и желания узнать что-то новое, я испытываю желание выбрать небольшой проект и запустить его в MVC и Rails, чтобы увидеть, как они сравниваются.
ysolik
Чтение этого в 2012 году действительно принесло мне слезу. Я помню, как начал использовать asp.net mvc, когда он только что вышел, и увидеть его таким мощным в наши дни просто потрясающе. Сделал меня фанатом веб-разработки и позволил мне легко освоить CakePHP и Ruby on Rails.
sergserg
1

Я не использовал все, но Rails чертовски быстр. Я ожидаю, что Grails тоже, поскольку он воплощает философию DRY довольно хорошо. Я не знаю достаточно о других динамических языковых структурах, чтобы сказать.

Даже с хорошими стратегиями генерации кода мой ASP.NET (веб-формы) не кажется таким эффективным.

Джереми
источник
1

Я баловался с Django и Rails и нашел Rails по своему вкусу. При этом я предпочитаю ASP.Net MVC 2 намного лучше, чем Rails. Я гораздо быстрее в MVC (или даже просто в веб-формах), чем в Rails, просто потому, что мой ум «лучше работает» с C #.

Для меня все сводится к тому, что вы знаете и что вам нравится. Я слышал от многих людей, что Руби - это весело, не для меня это не так. C # это весело! Хаскель это весело! Если вам не нравится язык / фреймворк, то вы не будете так быстро, как «медленный» фреймворк, который вам нравится.

Jetti
источник
Я обнаружил, что для настройки Django требуется время, особенно когда вам приходится возиться с Apache
пользователь