We'll respond shortly.
Ruby web development came of age with MVC and Rails. Later, people who didn’t need a full MVC invented Sinatra and other frameworkes. Which brings us to today, and …
Waves can do simple apps in just a few lines of code. And by using “foundations”, developers can build more advanced apps with MVC-like functionality. You can build your own foundation for whatever web framework you envision (there are several for MVC and REST).
Waves supports rack::cache and JRuby. It’s Actually In Production(tm)!
As more rich browser apps use AJAX and COMET, server-side APIs are becoming more important. This is where REST shines.
“HTTP isn’t MVC, but our frameworks think in MVC.”
“REST” shouldn’t be applied to things that are “REST-influenced” (just ask Roy). Dan likes to use “Resource-Oriented” for these situations.
HTTP-based ROA uses the existing infrastructure, and has proven scalability. HTTP defines a protocol for a distributed hash table:
Q: “What about post?” A: “Post is for ‘everything else’.” Some things aren’t clearly RESTful, and post is the catch-all for other operations.
What’s in the hash? Resources, and keys are the URIs.
What’s the point? Platform-neutral distributed objects! RDF can be used to describe discoverable resources.
ROA in action:
rss/atom. It’s one link to a resource describing your blog. “Boom! Podcasts for free.” Dan describes this as the law of “unintended consequences,” in a good way.
Edge caching is another big win for HTTP-based ROA.
Waves makes it easier to write resourceful applications like this today. New foundations will make it even easier going forward.
You can check out Waves at http://rubywaves.com, and on their Google Group.