[aerogear-dev] Pipe spec

Douglas Campos qmx at qmx.me
Mon Apr 22 00:45:26 EDT 2013


On Fri, Apr 19, 2013 at 08:04:12AM -0400, Summers Pittman wrote:
> So I've gotten a draft of the Pipe document up.
> 
> https://github.com/aerogear/aerogear.org/blob/pipe_spec/docs/specs/aerogear-client-pipe/index.markdown
> 
> Some things I would like to call out and discuss include
> 
> 1 ) Pipe implementations should be thread safe.  Specifically calls to
> read, remove, and save should not change the internal state of a Pipe
> object.
+1

> 2 ) Pipeline.get is not guaranteed to always return the same instance
> of a Pipe.  This is something that came up with Android.  Loaders are
> 1:1 on the Activity or Fragment which references the Loader.
> Therefore if a Pipe is reused between multiple Activities each one is
> proxied  in a different Loader.
Why should we spec this? People counting on getting the same instance on
year 2013...

> 3 ) A Pipe may proxy or delegate to a handler and this handler can be
> exposed as a property.  This is an Androidism as well.  I think it can
> probably be dropped from the spec but I wanted to see what other
> people thought about it.
+1 on dropping, this just adds complexity, and complex specs == boring
read

> Some things which we may need to flesh out to make the spec more
> complete are
> 
> 1 ) Authorization and Authentication.  This is probably another
> document
We can probably just spec the Authentication/Authorization SPIs (very
thin API surface)

> 2 ) A callback spec/definition.  I am not sure whether this is a
> separate document or not.  Either way it should be short and sweet.
Wdym? Could you elaborate more?

> 3 ) Platform implementation docs.  A document with the code
> examples/comparisons and notes where they may diverge from each other.
> For instance in Android Callback is passed instances of the resource a
> pipe represents, but in iOS and Javascript the callback is passed a
> map of values.  I didn't explicitly define this behavior in the spec.
Isn't having the parallel usage examples enough? (kinda like we did on
the paging spec)

-- 
qmx


More information about the aerogear-dev mailing list