On 9/07/2014 1:09 p.m., Puming wrote:
Vibe.d is more like a base library for async I/O, networking and
concurrency, a full stack WEB framework should be built on top of it
which focus on application development and ease of use for newcomers.
Sonke has said that too. Vibe.d should focus on performance, networking,
and other lowerlevel stuff that D should be really good at. Sonke is
already too busy doing his gorgeous work on vibe.d and dub. I think that
is what the guy on reddit was complaining, he thought vibe.d should
contain everything from a web framework, but didn't find them, thus
getting the impression that vibe.d was not complete. Actually vibe.d is
just an edge of a triangle in web frameworks. We are lacking the other
two pieces.

We need a MVC or whatever framework on top of it. Compared to Java
world, there is [Netty](http://netty.io) the networking library and Web
frameworks like playframework, vert.x built on top of it.

Currently the only work that is active IFAIK is Rikki's
[CMSED](https://github.com/rikkimax/Cmsed), which needs more love.

Yes, I do need more help, but really I need Dakka to be made first. Get me Dakka. I'll give you live reloading so to speak.

Same goes with my ASN.1 lib[0]. Give me BER unittests, I'll give you an LDAP client library hooked into Cmsed's authentication mechanism (I haven't been able to find them and its not so simply to go by spec). Give me a way to work with templates and traits better, I'll give you a fully working UML generator[1].

In [playframework](http://playframework.org), incoming request are send
to a cluster of actions in a [Akka](http://akka.io) cluster for
computing & business logic. The trio (play, netty & akka) has shown to
be very good combination for a web stack.

I have an evil idea on how to do this via Dakka actually, in fact I'm thinking that we could even use it for load balancing. Not to mention live updating during production!

We have actor models in std.concurrency but only with thread
granularity, vibe.d has got a fiber based concurrency model which I
think could go in to the standard library, or make its own library. That
front needs more manpower. Again, rikki has initiated a port from akka
-- [dakka](https://github.com/rikkimax/dakka). I think it is a right way
to go.

Dakka is less a port of Akka and more of a complete new framework while basing it on Akka (why reinvent the wheel, after all its extremely successful). I'm personally only using it for as an RPC mechanism, but by in large they will cover most of the bases. I could really use some help with threading, I am sure there is something that will cause deadlocks or something much much worse. My skills in this area are quite limited.
At worse, even commenting would be a help.

On Tuesday, 8 July 2014 at 20:39:23 UTC, Andrei Alexandrescu wrote:
There's been some discussion about vibe.d recently on reddit (e.g.
http://www.reddit.com/r/programming/comments/2a20h5/wired_magazine_discovers_d/cir9443)
and I was wondering to what extent that's meaningful:

"has anyone ever tied a real webservice to vibe.d? I actually tried.
its nowhere near complete in any sense. you simply cannot compare it
with go's standard http lib, sorry, I tried."

If there's sheer work needed for completing vibe.d, I think it would
be great if the domain-savvy part of the community would rally around
it. Serving dlang.org and dconf.org off of vibe.d would be awesome
dogfooding.


Andrei

There is so many projects I want to work on to extend Cmsed's capabilities. From OAuth2 to PDF generation. But I can't do them (time wise). So if anybody would be interested in these sorts of projects:
* PDF creation
* Image manipulation and loading (we would need this anyway for e.g. Aurora)
* Barcode generation
* Qr code generation
* Skeleton generation (perhaps this could go into dub?)
* Something like GWT, not really possible right now nicely atleast the way I'd like it to work

Something I am very concerned about is documentation. While us in the D community are use to reading docs and at best examples. Most developers are not. They want simple examples with lots of information around it on websites, a little like how dlang's language specification is set up.

Even Vibe is pretty limited in this direction. This is also why I want a skeleton generator, Cmsed will have a complex directory setup in the future. Users shouldn't need to create that by hand.

[0] https://github.com/rikkimax/asn1
[1] https://github.com/rikkimax/Duml

Reply via email to