www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - What's the real support that D offers for web development?

reply nbro <blah gfail.com> writes:
I was wondering if D is a good language for web development. 
Which serious with an active community web frameworks are there?

I have heard about vibe.d, but I am not convinced. I think that 
many people do not start using D because it lacks of many serious 
tools for real life applications development.
Jan 24 2016
next sibling parent reply WebFreak001 <janju007 web.de> writes:
On Sunday, 24 January 2016 at 12:20:44 UTC, nbro wrote:
 I have heard about vibe.d, but I am not convinced. I think that 
 many people do not start using D because it lacks of many 
 serious tools for real life applications development.
vibe.d is a really good one. In my opinion its basically a replacement of express for nodejs, just for D. Also considering that you could use any C library in D you could use anything which is written in C which gives much more possibilities.
Jan 24 2016
parent reply nbro <blah gfail.com> writes:
On Sunday, 24 January 2016 at 12:27:57 UTC, WebFreak001 wrote:
 On Sunday, 24 January 2016 at 12:20:44 UTC, nbro wrote:
 I have heard about vibe.d, but I am not convinced. I think 
 that many people do not start using D because it lacks of many 
 serious tools for real life applications development.
vibe.d is a really good one. In my opinion its basically a replacement of express for nodejs, just for D. Also considering that you could use any C library in D you could use anything which is written in C which gives much more possibilities.
Ok, but I would like to see concrete real world examples created with vide.d. Are there any?
Jan 24 2016
next sibling parent WebFreak001 <janju007 web.de> writes:
On Sunday, 24 January 2016 at 12:32:16 UTC, nbro wrote:
 Ok, but I would like to see concrete real world examples 
 created with vide.d. Are there any?
Its really difficult to find projects using vibe.d randomly. I have seen a few sites where it said in the footer that the website is powered by D, but I cant remember those. If you want to see which notable companies use D for their projects in general (not only vibe.d): http://wiki.dlang.org/Current_D_Use
Jan 24 2016
prev sibling parent =?UTF-8?Q?S=c3=b6nke_Ludwig?= <sludwig outerproduct.org> writes:
Am 24.01.2016 um 13:32 schrieb nbro:
 On Sunday, 24 January 2016 at 12:27:57 UTC, WebFreak001 wrote:
 On Sunday, 24 January 2016 at 12:20:44 UTC, nbro wrote:
 I have heard about vibe.d, but I am not convinced. I think that many
 people do not start using D because it lacks of many serious tools
 for real life applications development.
vibe.d is a really good one. In my opinion its basically a replacement of express for nodejs, just for D. Also considering that you could use any C library in D you could use anything which is written in C which gives much more possibilities.
Ok, but I would like to see concrete real world examples created with vide.d. Are there any?
I still need to collect a proper list of sites some day, but there are some examples in the D eco system: https://vibed.org https://forum.rejectedsoftware.com/ https://code.dlang.org/ https://sdlang.org/ You could do a search for "vibe.d" on shodan to get a (very incomplete due to proxies and missing forward DNS host names) list of public servers running vibe.d.
Jan 24 2016
prev sibling parent reply krzaq <dlangmailinglist krzaq.cc> writes:
On Sunday, 24 January 2016 at 12:20:44 UTC, nbro wrote:
 I was wondering if D is a good language for web development. 
 Which serious with an active community web frameworks are there?

 I have heard about vibe.d, but I am not convinced. I think that 
 many people do not start using D because it lacks of many 
 serious tools for real life applications development.
I'm afraid not, not for anything serious at least. The documentation is okay, but not great; greatly lacking examples. There is no built-in support for any real database engines and if you try to use something not built with vibe.d's fiber architecture in mind (even things from the standard library, like std.process) you're in for a world of random locks. I don't have pretty much any experience in webdev, but I tried RoR, node.js and vibe.d. Let me say, the experience was not in the vibe.d's favour.
Jan 24 2016
next sibling parent karabuta <karabutaworld gmail.com> writes:
On Sunday, 24 January 2016 at 13:57:35 UTC, krzaq wrote:
 On Sunday, 24 January 2016 at 12:20:44 UTC, nbro wrote:
 [...]
I'm afraid not, not for anything serious at least. The documentation is okay, but not great; greatly lacking examples. There is no built-in support for any real database engines and if you try to use something not built with vibe.d's fiber architecture in mind (even things from the standard library, like std.process) you're in for a world of random locks. I don't have pretty much any experience in webdev, but I tried RoR, node.js and vibe.d. Let me say, the experience was not in the vibe.d's favour.
What examples do you want, please?
Jan 24 2016
prev sibling parent reply =?UTF-8?Q?S=c3=b6nke_Ludwig?= <sludwig outerproduct.org> writes:
Am 24.01.2016 um 14:57 schrieb krzaq:
 On Sunday, 24 January 2016 at 12:20:44 UTC, nbro wrote:
 I was wondering if D is a good language for web development. Which
 serious with an active community web frameworks are there?

 I have heard about vibe.d, but I am not convinced. I think that many
 people do not start using D because it lacks of many serious tools for
 real life applications development.
I'm afraid not, not for anything serious at least. The documentation is okay, but not great; greatly lacking examples.
Have you seen the example projects? https://github.com/rejectedsoftware/vibe.d/tree/master/examples
 There is no built-in
 support for any real database engines and if you try to use something
 not built with vibe.d's fiber architecture in mind (even things from the
 standard library, like std.process) you're in for a world of random locks.
I don't know which database engines are "real", but there are fully vibe.d compatible drivers for at least MySQL, Postgres and Cassandra. Built-in solutions are requested from time to time, but the plan is actually to go into the opposite direction and make the MongoDB and Redis clients separate libraries. There are several means to integrate traditional I/O code: http://vibed.org/api/vibe.core.core/createFileDescriptorEvent http://vibed.org/api/vibe.stream.stdio/ https://gist.github.com/s-ludwig/8434299 But this is a general issue with asynchronous I/O. You either need to use it throughout the application, or offload blocking I/O into a separate thread. Whether those difficulties are worth the trade-off in comparison to the performance gains is of course a decision you have to make personally/per project.
 I don't have pretty much any experience in webdev, but I tried RoR,
 node.js and vibe.d. Let me say, the experience was not in the vibe.d's
 favour.
Jan 24 2016
parent Jacob Carlborg <doob me.com> writes:
On 2016-01-24 15:22, Sönke Ludwig wrote:

 I don't know which database engines are "real", but there are fully
 vibe.d compatible drivers for at least MySQL, Postgres and Cassandra.
I had some bad experience with the Postgres driver (ddb [1], not sure if that's the one you're referring to). Mostly issues with how it handled Nullable and Variant and how it interacted with Phobos.
 Built-in solutions are requested from time to time, but the plan is
 actually to go into the opposite direction and make the MongoDB and
 Redis clients separate libraries.
That make sense. But they could still be official supported. The same happens with Rails, but you still get everything you need when generating a new Rails application. Either installed automatically or in comments. "Add this gem to access SQLite, add that gem to access Postgres" and so on. [1] https://github.com/pszturmaj/ddb -- /Jacob Carlborg
Jan 25 2016