Ответ 1
Посмотрите Sinatra. Это каркас, но не такой тяжелый.
По причинам, не зависящим от меня, мне поручено работать с веб-разработкой Ruby, которая НЕ использует Rails или действительно какую-либо другую тяжеловесную структуру, такую как Merb. Мне интересно, если кто-то еще столкнулся с этим и может рекомендовать лучшие практики или ресурсы, которые описывают лучшие практики для такой проблемы. Я бы хотел избежать страшного
out.print('<td class="foo">'+some_data+'</td>')
стиль веб-разработки. Сотрудник предложил Rack в качестве легкой структуры, но документация является отрывочной и кажется недоказанной на рынке.
Посмотрите Sinatra. Это каркас, но не такой тяжелый.
Посмотрите Rack и Sinatra или Waves. Стойка не доказана на рынке. В наши дни Rails построен поверх стойки! Он также не является каркасом, он позволяет фреймворкам сосредоточиться на своем дифференциаторе, а не на низкоуровневой работе.
Вы также можете использовать jruby и java-сервлет api напрямую. Кстати, все фреймворки на стойке можно легко запустить на jruby.
Стойка не является платформой приложений, а не интерфейсом сервера. Вероятно, вы захотите использовать его для этого проекта, но он не решит вашу проблему отсутствия рамки без использования фреймворка. Во всяком случае, если вы хотите "избежать страшного out.print('<td class="foo">'+some_data+'</td>')
", вам придется использовать систему шаблонов, по крайней мере. Есть много доступных, таких как ERb (которые Rails использует по умолчанию) и Haml.
Иди с Рамазе. Я использую его в производстве, работая на JRuby и Glassfish.
Простота развития, солидная поддержка сообщества. Нет крути. Как и Ruby, он убирается с вашего пути.
Я могу присоединиться к всем, кто рекомендует Sinatra. Он компактен, с радостью компилируется и развертывается на Rack, что означает, что вы действительно запускаете его в любом стеке, которое вам больше всего нравится (Mongrel, FCGI, Thin, Passenger и т.д.)
Я попробовал Sinatra, когда мне нужно было быстро создать проект, и он масштабировался и работал так хорошо, что я все еще использую его сегодня для обработки более 80 000 тяжелых запросов в день.
Как всегда хороший ol < cgi.rb.
Вы посмотрели Sinatra? Это структура, но не такая тяжелая, как Rails. Я сам не тестировал его, но с ним очень легко работать.
Кроме того, Ramaze кажется приятным и модульным, не уверен, что это то, что вы ищете.
Я не знаю, как легко использовать Ruby непосредственно как cgi, но вполне возможно также отделить макет от кода с этим. Существует немало драгоценных камней, которые могут сделать это без использования фреймворка.
Мой личный выбор и рекомендации Ramaze - это как можно проще, но не проще. Чистый и лаконичный, не жертвуя силой. Танцы хорошо с вашим выбором JS lib (jQuery, Prototype, Mootools) или ORM (Sequel, Datamapper, M4DBI) или шаблоном. Кроме того, не забывайте о статических генераторах, таких как nanoc.
Это очень возможно, весь мой сайт работает на чистом рубине.
Я не сталкивался с какой-либо проблемой. Я начинаю свое приложение с
require "mysql" # module | mysql
require "cgi" # module | cgi
require "date"