веб-разработка с рубином без рельсов? - PullRequest
10 голосов
/ 30 мая 2009

По независящим от меня причинам мне поручено заниматься веб-разработкой на Ruby, которая НЕ использует Rails или какие-либо другие мощные фреймворки, такие как Merb. Мне интересно, сталкивался ли кто-нибудь еще с этим и может ли рекомендовать лучшие практики или ресурсы, которые описывают лучшие практики для такой проблемы. Я хотел бы избежать страшных

 out.print('<td class="foo">'+some_data+'</td>')

стиль веб-разработки. Коллега предложил Rack в качестве легкого каркаса, но документация отрывочна и на рынке кажется недоказанной.

Ответы [ 9 ]

17 голосов
/ 30 мая 2009

Взгляните на Синатра . Это каркас, но не такой тяжелый.

7 голосов
/ 30 мая 2009

Посмотрите на Стойка и Синатра или Волны . Стойка не бездоказательна на рынке. В эти дни рельсы построены на верхней части стойки! Он также не является фреймворком, он позволяет фреймворкам сосредоточиться на их отличительной особенности, а не на низкоуровневой занятой работе.

Вы также можете напрямую использовать jruby и java servlet api. Кстати, все фреймворки, основанные на стойке, могут быть легко запущены на jruby.

3 голосов
/ 30 мая 2009

Rack - это не столько среда приложения, сколько интерфейс сервера. Возможно, вы захотите использовать его для этого проекта, но это не решит вашу проблему с желанием иметь фреймворк без использования фреймворка. В любом случае, если вы хотите «избежать страшных out.print('<td class="foo">'+some_data+'</td>')», вам, как минимум, придется использовать систему шаблонов. Есть много доступных, таких как ERb (который Rails использует по умолчанию) и Haml.

2 голосов
/ 30 мая 2009

Я могу присоединиться ко всем, кто рекомендует Синатра . Он компактен, с ним приятно работать, и он развертывается на Rack , что означает, что вы действительно запускаете его в любом стеке, который вам больше нравится (Mongrel, FCGI, Thin, Passenger и т.

Я опробовал Sinatra, когда мне нужно было быстро запустить проект, и он масштабирован и работает настолько хорошо, что я до сих пор использую его для обработки более 80 000 тяжелых запросов в день.

2 голосов
/ 30 мая 2009

Иди с Рамазе. Я использую его в производстве, работаю на JRuby и Glassfish.

Простота разработки, надежная поддержка сообщества. Никаких пустяков. Как и Руби, он убирается с твоего пути.

1 голос
/ 30 мая 2009

Как всегда, хороший старый cgi.rb доступен.

0 голосов
/ 04 февраля 2012

Это очень возможно, весь мой сайт работает на чистом рубине.

Я не столкнулся с какой-либо проблемой. Я начинаю свое заявление с

require "mysql"                               # module | mysql
require "cgi"                                 # module | cgi
require "date"
0 голосов
/ 30 мая 2009

Мой личный выбор и рекомендация: Ramaze - это максимально просто, но не проще. Чистота и лаконичность без ущерба для силы. Хорошо танцует с вашим выбором JS lib (jQuery, Prototype, Mootools) или ORM ( Sequel , Datamapper, M4DBI ) или шаблонизатором. Кроме того, не забывайте о статических генераторах, таких как nanoc .

0 голосов
/ 30 мая 2009

Вы смотрели на Синатра ? Это фреймворк, но не такой тяжелый, как Rails. Я не проверял это сам, но с ним очень легко работать.

Кроме того, Ramaze кажется хорошим и модульным, хотя не уверен, что это то, что вы ищете.

Я не знаю, насколько просто использовать Ruby напрямую в качестве cgi, но вполне возможно отделить макет от кода и с этим. Есть немало Gems, которые могут сделать это без использования фреймворка.

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