

JQuery 1.8b1: what’s new? - robin_reala
http://blog.jquery.com/2012/06/22/jquery-1-8-beta-1-see-whats-coming-and-going/

======
mkmcdonald
What the jQuery team either perceives or peddles as "modules" are simply split
files; there's no encapsulation. All that's new is a shiny node.js builder.

I am interested, though, that the team has finally noticed that optional code
should be the norm. Resig himself has been quoted as wanting nothing to do
with it[0].

However, omitting every single "module" only truncates 2484 lines, which
leaves the 1.8.1b source at a staggering 6763 lines of code. There is still a
great deal of work to be done before "modular" is a fair term to apply to the
API.

[0]: <http://i.imgur.com/Ta223.png>

~~~
moonboots
There has been recent work to make jquery compatible with Google closure's
advanced compilation[1]. As mentioned in John Resig's reddit comment you
referenced, this would allow the compiler to automatically remove unused
components in jquery and perform whole program optimizations. Unfortunately,
this approach requires large rewrites to jquery to conform to the strict
conventions required by the closure compiler.

[1] [https://groups.google.com/forum/#!topic/jquery-bugs-
team/2zb...](https://groups.google.com/forum/#!topic/jquery-bugs-
team/2zb5qqKiubU)

------
csomar
_VENDOR-PREFIXED CSS PROPERTIES_

So there are CSS properties with vendor specific implementation, how are they
going to handle that? Also what if the browser (like Chrome) changes its
spec.? This could break your current code.

~~~
gnarf
Vendor specific cssHooks are always executed when defined, allowing you to
deal with specifics of implementation in your own code.

How exactly do you handle the "change in spec" case in your code right now?

------
jdavid
Global ajax events: ( are being removed )

    
    
        Events such as ajaxStart fired by $.ajax 
        can currently be attached to any element–even
        to elements that are not in a document at all!
        This creates an inefficient special case, 
        so we will eventually remove that ability 
        and fire ajax events only on document.
    

I need to look into this. If you are using jQuery outside of a standard
browser environment this might be problematic.

~~~
dmethvin
Wouldn't you be using the callback or Promise for those cases?

~~~
gnarf
Or prefilter if you need to track global requests.

------
theallan
I must admit that I'm surprised $.browser is going to disappear in 1.9, not
because removing it is a bad thing, but because of the number of scripts that
is going to break. Current jQuery UI, Bootstrap etc all use $.browser. There
is presumably plenty of time before 1.9 for library authors to address this,
but I can certainly see a lot of breakage coming.

~~~
theallan
Replying to myself - but thinking about it further, there is something a
little ironic about the result of removing $.browser in that testing for
certain behaviour can in fact increase code size in libraries. For example
testing the rendering behaviour of how scrollbar width is added to containers
(simplifying the problem somewhat) is something we know happens in IE6/7,
which is a nice easy line of jQuery at the moment, but actually testing for it
will introduce more code into libraries which can no longer use these
properties.

I still don't think it is a bad thing to remove $.browser since it does
encourage good code practice, but there is a lovely irony that to decrease
code size in jQuery core, plug-ins will likely need to have increase their
size.

------
justindocanto
"jQuery is now powering about one-half of all the major web sites on the
Internet"

Anybody have any data on this?

~~~
laserDinosaur
It sounds nicely ambiguous. What's a 'major' website?

~~~
pacomerh
I would just guess that most major websites are using it.

------
calvin
A lot of good changes in here. The modularity will improve usability --
particularly for sites who want the core jQuery features without all the
extras. My hope is this will make it easier to use jQuery on mobile -- and
more comparable to Zepto in terms of size.

I remember reading somewhere that 1.8 would drop support for quirks mode in
IE. Anybody know if this ended up happening? I didn't see any mention in this
post.

~~~
MatthewPhillips
I can't imagine why you'd need jQuery on mobile in the first place? What
exactly are these core features that the standard DOM apis don't give you?

~~~
agildehaus
I suppose you write all your code in assembly too? There's no room for going
higher-level than the APIs exposed by the browser?

~~~
mkmcdonald
The DOM API is clear enough that silly abstractions like "selector engines"
are unnecessary.

The C vs. Assembly argument is such a silly non-point; apples and artichokes.

~~~
nilliams
Selector engines are clearly not silly abstractions otherwise all major
browsers would not have implemented querySelectorAll.

~~~
MatthewPhillips
But since they did, why use jQuery on mobile when 100% of mobile browsers
support querySelectorAll?

------
mark_story
I'm so happy that the global ajax events are going, they were a big weirdness
for me, especially in light of the custom events that were added in recent
releases.

