[aerogear-dev] AeroGear.js
Lucas Holmquist
lholmqui at redhat.com
Tue Feb 24 13:26:32 EST 2015
> On Feb 24, 2015, at 1:11 PM, Bruno Oliveira <bruno at abstractj.org> wrote:
>
> On 2015-02-24, Lucas Holmquist wrote:
>> While i was getting things together for the 2.1.0 release, I started to think about the structure of AeroGear.js.
>>
>> Lets take DataManager as an example.
>>
>> var dataManager = new AeroGear.DataManager();
>> Basically, the resulting datamanger object is a fancy array. We can add new stores to it:
>>
>> dataManager.add('memoryStoreThing');
>>
>> dataManager.add({{
>> name: "indexDBStore",
>> type: "IndexedDB"
>> }});
>> I'm not sure what the reason for this was historically. I think this concept was initally created when we were doing Pipeline.
>>
>> But sticking to this example, i'm wondering if it adds any value though. would someone create a Datamanager that has more than one store in it? It's possible i guess if someone wanted to store the same info in a IndexedDB and WebSQL database at the same, for example, but there is currently no way to sync data between the two
>>
>> With the next release, 2.1.0, we will be deprecating Notifier, which uses this pattern.
>
> Agreed with you, it doesn't make sense to me either.
>
>>
>> So Datamanager and Sync would be the only things using this pattern. Which i'm not sure makes sense anymore.
>>
>> The remaining parts of the Library, Crypto, UnifiedPush, and to some extent SimplePush(currenlty coupled with Notifier) don't do this.
>>
>> I am leaning toward proposing we get rid of this pattern and just make a DataManager object hold 1 store/adapter( sync woud follow suit )
>
> +1 go ahead
>
>>
>> This change though would be a 3.0 thing since it would be changing the way the API works.
>>
>> I'm also wondering if it would make sense to separate the differnt parts of the library into different repo's.
>
> Do you mean separate all the libraries? How our libraries would make use
> of AeroGear.Core? Bower?
I think AeroGear.Core would essentially go away since it is only providing, the “add” and “remove” methods for the “Fancy Arrays”, if we stop doing that pattern, then i don’t think this would be needed.
Thinking a little bit more, we don’t need separte repo’s for each feature. Thats what we can use AeroGear-Components thingy to distribute via bower. We can script that shizzell, to create custom feature builds
>
>>
>> I think one of the main reasons this wasn't done in the past was because AeroGear.Core was shared across many pieces of the library and it would be a lot of code duplication.
>>
>> But something like the UnifiedPush Client SDK, might make sense in a separate repo.
>
> I couldn't see the real need of a separated repo, but probably I'm
> missing the context.
>>
>> For distribution, i've actually created a AeroGear Component GH organization, that has pieces of the library, https://github.com/orgs/AeroGear-Components/dashboard <https://github.com/orgs/AeroGear-Components/dashboard> <https://github.com/orgs/AeroGear-Components/dashboard <https://github.com/orgs/AeroGear-Components/dashboard>>
>> I think i've started to ramble, so i'll stop here and look for comments
>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org <mailto:aerogear-dev at lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev <https://lists.jboss.org/mailman/listinfo/aerogear-dev>
>
>
> --
>
> abstractj
> PGP: 0x84DC9914
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org <mailto:aerogear-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/aerogear-dev <https://lists.jboss.org/mailman/listinfo/aerogear-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20150224/f4cb5eb9/attachment.html
More information about the aerogear-dev
mailing list