ruby-on-rails frameworks erlang sinatra

ruby on rails - ¿Hay un marco web de estilo Sinatra para Erlang?



sinatra php (5)

Podrías lograr algo mínimo con mochiweb:

start() -> mochiweb_http:start([{''ip'', "127.0.0.1"}, {port, 6500}, {''loop'', fun ?MODULE:loop/1}]). % mochiweb will call loop function for each request loop(Req) -> RawPath = Req:get(raw_path), {Path, _, _} = mochiweb_util:urlsplit_path(RawPath), % get request path case Path of % respond based on path "/" -> respond(Req, <<"<p>Hello World!</p>">>); "/a" -> respond(Req, <<"<p>Page a</p>">>); ... _ -> respond(Req, <<"<p>Page not found!</p>">>) end. respond(Req, Content) -> Req:respond({200, [{<<"Content-Type">>, <<"text/html">>}], Content}).

Si necesita un enrutamiento avanzado, deberá usar expresiones regulares en lugar de una simple declaración de caso.

Programé en Ruby and Rails durante bastante tiempo, y luego me enamoré de la simplicidad del framework Sinatra que me permitió crear aplicaciones web de una página.

¿Hay un marco web como Sinatra disponible para Erlang? Intenté con Erlyweb, pero parece demasiado pesado.


Puede que le interese el marco de nitrógeno de Rusty Klophaus. Es realmente liviano y es ideal para sitios de una sola página realmente dinámicos.



Echa un vistazo a webmachine . Tiene un mecanismo de despacho muy simple pero poderoso. Simplemente tiene que escribir un módulo de recursos, señalar sus URI y su servicio cumple automáticamente con HTTP.


Es posible que desee echar un vistazo a Axiom (divulgación: es mi propio proyecto). Está inspirado en gran parte por Sinatra, construido sobre Cowboy y ofrece muchas de las características, Sinatra sí.

Un simple ejemplo:

-module(my_app). -export([start/0, handle/3]). start() -> axiom:start(?MODULE). handle(''GET'', [<<"hi">>], _Request) -> <<"Hello world!">>.

Esto maneja GET /hi y devuelve Hello World! .

Eche un vistazo al README para obtener una documentación de sus características.