Now that AeroGear.js 1.0.0.Alpha is out, I want to get people's thoughts both on what
they think of the library so far, and where they would like to see it go in the future.
Please take a look at
http://staging-aerogear.rhcloud.com/docs/planning/1.0.0/AeroGearJS/
and provide any feedback on the current roadmap that you may have.
Also, and more to the subject of this e-mail, I want to discuss the separation of concerns
between the different pieces of AeroGear.js and what should be handled where. I bring this
up because as I move forward with Pipeline and the other components of the library, I find
myself implementing things where they may not belong. Specifically, I have started
creating a filter method in the REST adapter for pipeline. I have started to think that
this is not where that method belongs and in fact, the storage of data in the pipeline
object at all I think was a mistake. I think Pipeline should be just that, a pipeline for
data to move between the client and server and should not be a place where data is managed
or manipulated.
This is where some sort of data management piece of the lib comes in - no clever name yet
:). I would like to see Pipeline handle the transport of data, whether that be with REST,
websockets or what ever, but then just hand the data off to the app to do what it wants.
Then, we can support a connection between Pipeline and this data management piece so that
if the user wants help with data management including storage in memory, session storage,
local storage, web sql, IndexedDB, files, etc. they could pass an instance of the data
manager to Pipeline and say put the data here when you get it or take it from here when
you send it, etc.
I hope this novel I just wrote makes sense but please feel free to ask questions, make
comments and suggestions, tell me I'm an idiot, what ever. If people seem on board
with this, I would like to get a basic memory based storage system similar to what is in
Pipeline now, moved out into it's on section of the library in conjunction with
working on aerogear-auth.js for M6.
Thanks,
Kris