How about thinking about a DDP Stack?


#1

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?


#2

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.


#3

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


#4

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


#5

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


#6

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?


#7

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


#8

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


#9

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


#10

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


#11

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


#12

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


#13

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.


#14

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.


#15

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


#16

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 ;)).


#17

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.


#18

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.


#19

@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.


#20

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