Those are all great points - the eventstream support is a particular sticking point to me. It feels like a standard which aught to be easily implemented - even through rack! but I've yet to see any web frameworks where eventstream doesn't seem like a total hack - except perhaps for Node.JS where the http server class is so low level anything seems equally easy. I'm not yet convinced WebSocket is useful for very much - it's not well supported in http servers and reverse http proxies, and it's full-duplex nature seems unnecessary when ajax is good enough for responding in most situations. On the other hand, websockets doesn't even pretend to be anything like a http request aside from setup negotiation, so there's no implication that a web framework designed for serving pages should really have anything to do with websocket - much of the websocket standards specify outputting strings which look like http, but not really parsing http headers properly or anything.
I'd love to see some inventive solutions to long polling and event stream. Rack does seem to be increasingly a source of pain. The guardians of the rack spec haven't done a good job keeping up with new tech. All your other points, I totally agree. Especially regexp routes. I feel like the camping feature for generating routes from controller names is not as good as just having a friendly route language. One thing I never liked about rails was having routes in a separate file somewhere, then just some controllers named whatever files. I wonder if the controller routes couldn't also be the controller's filenames? I guess some operating systems wouldn't much like filenames with forward slashes in them though (windows..) — Jenna On Wednesday, 18 April 2012 at 6:15 AM, Magnus Holm wrote: > On Mon, Apr 16, 2012 at 22:27, Nokan Emiro <[email protected] > (mailto:[email protected])> wrote: > > > > > > For now I'm feeling like a pretty bad "maintainer". I'm not using > > > Camping enough to see where things need to be fixed, I'm crappy at > > > actually shipping stuff, and I'm not sure if I believe that Camping is > > > a correct starting point for a new framework. > > > > > > > > > Like so many times before, I have a few silly questions again: > > There's no silly questions; just puzzled people who don't dare to ask :-) > > > - Why do you think so that Camping isn't a good starting point? > > I like centralized routing (config/routes.rb vs having routes in the > controllers). It's also easier to combine a Sinatra-style-framework > with centralized routing: just allow routing to a block, and `get "/" > do … end` is as natural as `routes.get "/", :to => "home#index"`. > > I prefer Sinatra-style routes over regexps. > > Camping's module magic is just plain bad style. Inheritance is easier > to work with. > > Mapping one URL to one class is a little too verbose for me; I end up > with tons of classes and it's hard to see which classes that actually > work on the same type of data. For controller classes, Rails-style is > more pragmatic. > > It's just 4k; that's hardly any starting point at all :-) > > > - What is the problem with Camping in your opinion? > > There's not a "problem" with Camping. It's an elegant piece of code; > it solves HTTP in a surprisingly "correct" way, although it's not > always so pragmatic/practical. > > > - What does a good framework provide for you? > > > > ...and the most stupid one: > > > > - Why are you talking about a "new framework"? Why don't we > > rewrite Sinatra, Ramaze or whatever over Camping? They have > > an interface that's used by others... > > > > > I just feel like the whole Ruby framework community stagnated a few > years after we got Rack. The moment Rack became properly implemented > everywhere it lacked any kind of > EventStream/WebSocket/long-polling-support. Everything since then has > been hacked on top. > > Rails provides ActiveRecord for database access, but more and more > stuff these days are using HTTP. I believe that a true *web* framework > should provide a HTTP client/user-agent too. Net::HTTP doesn't cut it > (no persistant connection support in stdlib; rather > verbose/inconsistent and no cookie-jar). There are other libraries, > but these have their own conventions and limitations. > _______________________________________________ > Camping-list mailing list > [email protected] (mailto:[email protected]) > http://rubyforge.org/mailman/listinfo/camping-list > >
_______________________________________________ Camping-list mailing list [email protected] http://rubyforge.org/mailman/listinfo/camping-list

