On Wednesday, 9 July 2014 at 15:17:03 UTC, Sean Kelly wrote:
Huh. I guess it depends what your goal is. For the kind of work I do, vibe.d is in the right ballpark. The services I create basically respond to AJAX calls (JSON-RPC is the best, though REST is okay too) and do other back-end work.
The JSON stuff may be nice, but I would prefer some more rigor (I am writing mostly c++ desktop apps, for the server side I am still open). My 'vision' is a stack with Vibe, Thrift and PostgreSQL. Everything plugged inside the vibe's async io and its own task/fiber concurrency. I think a good direction would be to dispatch the in-proc-service method calls with vibe's concurrency/task message passing. This would bring 'async' by default (a service would yield as is waits for database or other services) and it would guarantee that the requests are processed serially by a service (no concurrency or reentrancy problems). Bonus points if the services can be easily moved from in-process to other machines.
