On Tue, 25 Mar 2014 13:15:55 +0100
Lukáš Fryč <lukas.fryc(a)gmail.com> wrote:
Side note: getting integration with jQuery{ajax,promises} right was
one of
the pain points when integrating with AeroGear.js / Angular (uses q.js, and
custom http service).
We must be sure whatever we choose is compatible with frameworks out there
(at least it should not hard-nut to make it work). In terms of promises
implementation. In the end people may even end up using 2-3 promise
approaches in one project that makes code pretty disgusting.
So:
+1 getting rid of jQuery.ajax
+1 getting rid of jQuery promises (they are just wrong anyway ;-)
Btw in terms of polyfilling, I would suggest:
1) use whatever standard *is* as long as supported by majority of
mainstream browsers
2) use whatever standard *will be *and compile polyfill into aerogear.js
(as long as it's not too bloated; not necessary for bower users)
+1
I'd just add performance as additional criterion for polyfill selection.
Especially if we want to consider AGJS being used from Cordova apps.
Wdyt?
On Tue, Mar 25, 2014 at 12:26 PM, Karel Piwko <kpiwko(a)redhat.com> wrote:
> Given number of supported browsers is quite low -
>
http://caniuse.com/promises, I
> believe that polyfill will be needed even with version 2.0.
>
> On Mon, 24 Mar 2014 12:01:38 -0400
> Lucas Holmquist <lholmqui(a)redhat.com> wrote:
>
> >
> > On Mar 24, 2014, at 11:55 AM, Sebastien Blanc <scm.blanc(a)gmail.com>
> wrote:
> >
> > >
> > >
> > >
> > > On Mon, Mar 24, 2014 at 4:26 PM, Matthias Wessendorf <
> matzew(a)apache.org>
> > > wrote:
> > >
> > >
> > >
> > > On Mon, Mar 24, 2014 at 4:14 PM, Sebastien Blanc
<scm.blanc(a)gmail.com>
> > > wrote:
> > >
> > >
> > >
> > > On Mon, Mar 24, 2014 at 4:05 PM, Lucas Holmquist
<lholmqui(a)redhat.com>
> > > wrote:
> > >
> > > On Mar 24, 2014, at 10:10 AM, tolis emmanouilidis
<tolisemm(a)gmail.com>
> > > wrote:
> > >
> > >> 2014-03-24 15:39 GMT+02:00 Matthias Wessendorf
<matzew(a)apache.org>:
> > >>
> > >>
> > >>
> > >> On Mon, Mar 24, 2014 at 2:03 PM, Lucas Holmquist
<lholmqui(a)redhat.com
> >
> > >> wrote:
> > >>> I agree that it would be nice to implement AGJS-70 (Investigate
> removing
> > >>> jQuery requirement). Meanwhile, there is an open source project
on
> GitHub
> > >>> that claims to offer a custom builder for jQuery in order to
include
> only
> > >>> the modules needed [1] [2]. I haven't tried it yet but maybe
we could
> > >>> create a custom jQuery build which includes only the parts
currently
> > >>> needed in AeroGear. This would mean a smaller size of the jQuery
> > >>> dependency.
> > >>
> > >> The AG lib depends on a few parts of jQuery, the biggest being
> jQuery.Ajax
> > >> and the promise implementation.
> > >>
> > >> i know we can make custom builds of jQuery pretty easily( building
> from
> > >> source ), but i don't really want to bundle it within our lib.
> > >>
> > >> and i don't think with bower we can do this easily. although they
did
> just
> > >> add a post install hook, so perhaps that could be something to look
> at.
> > >>
> > >> Datamanager only uses the promise implementation of jQuery( and some
> > >> random thing for the filter method, which could probably be updated
> ).
> > >>
> > >>
> > >> Promises are starting to become available natively in browsers and
> jQuery
> > >> doesn't use the Promise/A+ spec, so it could be harder to
fallback
> > >> without a shim of some kind
> > >>
> > >> Good to know. Thanks for providing this info.
> > >>
> > >>
> > >> sounds reasonable to 'wait' on the promise side of things, and
use
> that
> > >> bit in the datamanager
> > >>
> > >> +1
> > >
> > > there are other promise implementations that we could use, that are to
> > > spec, such as Q and RSVP, here is the link to the HTML5 rocks article
> > >
http://www.html5rocks.com/en/tutorials/es6/promises/
> > >
> > > These last days I have been playing with the library When provided by
> Cujo,
> > > it's maybe also worth looking
https://github.com/cujojs/when
> > >
> > > not sure I see value in using a different library as a temporary thing.
> > > Once the API is part of the browser platform, the need for [yet
> another js
> > > lib] goes away. I know but I'm more concerned about "Once the
API is
> part
> > > of the browser platform" When will that happen and does it match
with
> our
> > > roadmap ? Was also to offer a polyfill for older browser if we want to
> keep
> > > supporting them.
> > >
> > i will have to update the roadmap.
> >
> > 2.0 would be a nice time to "fully" switch, but we can start
> experimenting
> > now and maybe for 1.5 can have some implemenation for data manager only.
> >
> > Current Chrome has Promise's enable by default and it looks like FireFox
> > 29( next version ) will too. Safari and IE are in dev i believe
> >
> > for fallback we can still make use of jQuery i think because of this
> method
> > here "Promise.cast", although the closest lib to the spec is RSVP(
> maybe
> > this could be the 2.0 fallback if we remove jQuery from the whole lib )
> >
> >
> >
> > >
> > >
> > >
> > >
> > >>
> > >>
> > >>
> > >> while i don't really want to reinvent the wheel in terms of Ajax,
it
> > >> might be interesting to take a look.
> > >>http://postimg.org/image/6mbqdbvkv/
> > >> Yeah, IMO worth to look there, for reducing dependencies
> > >>
> > >> -M
> > >>
> > >>
> > >>
> > >>
> > >> I think in a previous ML thread about what 2.0 looked like, that
> > >> Pipeline would maybe just be a JSON only thing, with exception for
> > >> multipart
> > >>
> > >>
> > >>
> > >> @Lucas Thanks for making things clear
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> _______________________________________________
> > >> aerogear-dev mailing list
> > >> aerogear-dev(a)lists.jboss.org
> > >>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
> > >>
> > >>
> > >>
> > >> --
> > >> Matthias Wessendorf
> > >>
> > >> blog:
http://matthiaswessendorf.wordpress.com/
> > >> sessions:
http://www.slideshare.net/mwessendorf
> > >> twitter:
http://twitter.com/mwessendorf
> > >>
> > >> _______________________________________________
> > >> aerogear-dev mailing list
> > >> aerogear-dev(a)lists.jboss.org
> > >>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
> > >>
> > >> _______________________________________________
> > >> aerogear-dev mailing list
> > >> aerogear-dev(a)lists.jboss.org
> > >>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
> > >
> > >
> > > _______________________________________________
> > > aerogear-dev mailing list
> > > aerogear-dev(a)lists.jboss.org
> > >
https://lists.jboss.org/mailman/listinfo/aerogear-dev
> > >
> > >
> > > _______________________________________________
> > > aerogear-dev mailing list
> > > aerogear-dev(a)lists.jboss.org
> > >
https://lists.jboss.org/mailman/listinfo/aerogear-dev
> > >
> > >
> > >
> > > --
> > > Matthias Wessendorf
> > >
> > > blog:
http://matthiaswessendorf.wordpress.com/
> > > sessions:
http://www.slideshare.net/mwessendorf
> > > twitter:
http://twitter.com/mwessendorf
> > >
> > > _______________________________________________
> > > aerogear-dev mailing list
> > > aerogear-dev(a)lists.jboss.org
> > >
https://lists.jboss.org/mailman/listinfo/aerogear-dev
> > >
> > > _______________________________________________
> > > aerogear-dev mailing list
> > > aerogear-dev(a)lists.jboss.org
> > >
https://lists.jboss.org/mailman/listinfo/aerogear-dev
> >
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>