Наткнулся на замечательный микрофреймворк fab, который позволяет легко создавать простые серверные приложения на языке javascript, для веб-сервера nodejs.
Fab очень похож на ruby-фреймворк Sinatra, который является довольно популярной штукой в среде ruby-девелоперов, так как позволяет сделать легкое приложение, без использования тяжеловесов, таких, как Rails.
Например, так выглядит простейшее приложение в Sinatra:
require 'rubygems'
require 'sinatra'
get '/' do
'Hello world!'
end
А вот так выглядит точно такое же приложение в fab:
fab = require( "./fab" ).fab;
( fab )
( "/", function(){ return 'Hello world!' })
.deploy();
Многословнее, но всё равно круто, да? Единственное там пока нету разделения запросов по REQUEST_METHOD, первой нужнейшей штуки для удобной реализации REST-сервиса.
Also interesting
Tags: fab, javascript, nodejs, rails, sinatra
Здорово. Правда синтаксис chaining functions в примере выглядит как то необычно и непривычно. Понятно что это валидный JS, но тем не менее…
Ага, очень необычный синтаксис, до сего момента я вообще не встречал подобного :) Даже захотелось залезть в исходники, посмотреть как сделано, а то так сразу не могу понять.
Он возвращает функцию и сразу её вызывает. Поэтому chaining functions.
Т.е. fab это основная функция, (fab)(…) - её вызов, (fab)(…)(…) - вызов результата `(fab)(…)`.
А, теперь понятно, за одним исключением. Зачем fab пишут в скобках?
А варп его знает. По идее и без них должно работать. Может для красоты?