How about thinking about a DDP Stack?

There seems to have a lot of talks around DDP.

  • David Burls in working on a DDP Server on Django
  • There was a one in Ruby in the mailing list
  • Tarang Patel is working on a pure Node DDP Server
  • We are working on Go DDP Server + Client

And a lot of clients, specially.

So, why don’t we bring all these together?
With that we can reach into a new market.

For an example, Asteroid can be used to allow to use Meteor as a backend for existing static apps.

What do you guys think?

6 Likes

I think it would be awesome if DDP became a standard like REST - basically you can expose your live stream of data over DDP with any of the server implementations and a variety of clients can consume it.

2 Likes

Yeah! That can be possible too. For that we need add binary WS support. (Not sure, how it fits into the DDP protocol)

Justin built a Go DDP server, too. Maybe he should make it public earlier so folks like Arunoda don’t rebuild it from scratch.

Why is binary a requirement for this? There’s no binary REST as far as I know.

Yeah I think this is a place where MDG could exercise some direction to focus development on a single best server/client implementation for each language?

Did you guys see this? http://crater.io/posts/4q3EyQhde7QSnjCYk

Ha ha. Actually, we build almost most of it. And we are using it on production with 2000 method-calls/per sec.

I think binary protocols are good for minimizing the size of network messages.

yeah josh. That’s an interesting idea.
I’d love to see it’s building up.

I think it’s not MDG, Meteor Community :smiley:

Exactly. I meant to use binary for the video streaming kind of stuff.

I don’t know if that was the initial intention of DDP, but I don’t like the idea of using DDP for everything (including binary streams of video or music).

DDP is good at synchronizing the state of JSON documents and executing RPCs. I am kinda sceptical of using DDP for everything.

3 Likes

I agree - I think it’s good as an update-pushing version of REST. I can see it replacing webhooks and similar stuff more than I can see it replacing binary data streams.

I agree too. I’d like to DDP over something like ZMQ (Just an idea)

1 Like

DDP clients can really help get more people on board. That way people can start porting their projects over :smile:

There’s a list of DDP clients on MeteorPedia.

I think it would be great if we came up with some app examples and do someone should do a talk at OTHER meetups like for Go (looking at you @arunoda ;)).

3 Likes

We tried to build a DDP server in Java once, and it proved kind of non-obvious because we realised the only way to infer how a DDP server would work is by looking at the client.

So it would be nice to have a document that helps someon who wants to write a DDP server get started. Then we could write a bunch of them for our use cases, and use Meteor for either the client or the server depending on the situation.

I think the #1 thing that would help people is a testing program - if you write a server and it passes the test, then it’s definitely a good DDP server.

5 Likes

@rahul we’ve started a test suite for DDP. Will share it soon.
It tests basic protocol usage from a browser. We can tune it later on.

2 Likes

Hey @sashko shall we’ve a new category for DDP?. I think we’ve a lot to talk.