Представлен (http://groups.google.com/group/prestorb/browse_thread/thread...) проект Presto (http://prestorb.github.com/), в рамках которого развивается новый фреймворк для разработки web-приложений на языке Ruby. Код проекта распространяется (https://github.com/slivu/presto) под лицензией BSD.
Ключевые особенности:
- Высокая скорость обработки запросов;
- Встроенный модуль аутентификации (basic, digest, html);
- Встроенная поддержка кэширования;
- Встроенный компилер для темплэйтов;
- Возможность ограничения доступа к функциям API redirect, halt, pass, session, cookies, env на уровне фреймворка. Например, можно запретить людям, имеющим право редактирования шаблонов, читать содержимое сессий, cookie и переменных окружения;
- Сессии и cookie могут быть переведены в режим только для чтения;
- Предельная простота разработки (три класса http, view и
node).
Presto разрабатывался как тонкий враппер вокруг Rack.
Тонкость в том, чтобы добавить утили...URL: http://groups.google.com/group/prestorb/browse_thread/thread...
Новость: http://www.opennet.me/opennews/art.shtml?num=32599
Еще один Синатра... Для больших нагрузок есть Sinatra::Synchrony.
Для больших нагрузок есть node.js
А как node.js относится к фреймворкам на Руби?
>А как node.js относится к фреймворкам на Руби?node.js относится к фреймворкам на Руби относится снисходительно.
Наверное так же как Misultin или Cowboy к node.js.
> Наверное так же как Misultin или Cowboy к node.js.А что разве они уже могут работать без ErlangVM?
А что, node.js может уже работать без V8?
> А что, node.js может уже работать без V8?Вы конечно извините, но v8 не пытается на пустом месте скушать под 3Gb памяти.
И не открывает порты если программа не использует сеть.
Вообще не понял о чем вы.
>node.js относится к фреймворкам на Руби относится снисходительно.node.js к фреймворкам на Руби относится снисходительно.
как и сказано в тексте анонса, возможностей, хаков и трюков есть множество,
а фрамеворка который из коробки работает на высоких скоростях - нету.
Надеюсь, что это действительно так. Сейчас погоняю его немного.
Синатра - надстройка над Rack. А Presto как я понял только начинался как надстройка...
> Синатра - надстройка над Rack. А Presto как я понял только начинался
> как надстройка...Presto тоже надстройка, в том смысле что Presto общается с браузером через Rack.
Я просто добавил все необходимые утилиты не добавив при этом значительных расходов.
Получилось красиво - все инструменты на месте и overhead составляет всего-лишь около 30%
Здесь простой тест, можете запустить у себя на сервере, проверить сколько обрабатывает Rack и сколько Presto
https://github.com/slivu/presto/tree/master/test/performance...У меня получается вот что:
scidev:performance-test slivu$ ruby test.rb ~/bin/ab
Requests per second:
rack: 6109.07
presto: 4434.28
Presto Overhead: 27%
Opera/9.80 (Windows NT 6.1; U; en) Presto/2.10.229 Version/11.60Тут какая-то хрень в названии фреймворка
Я только что хотел это написать :D Теперь будет неразбериха по поводу того, что есть presto.
presto - есть быстро :)