14 aug. 2010

“jQuery’s Mobile Strategy”

Great news! jQuery is updating for mobile platforms, I’ll finally be able to use it everywhere again! Oh, wait…

Note that we’re not releasing a separate “mobile only” build of jQuery. The bug fixes and workarounds that we develop will be included directly in mainline jQuery. You will be able to continue using the single script file containing jQuery and get all the benefits of working across all the new mobile browsers. Thus far these changes are only yielding a minimal increase in file size (no more than a couple hundred bytes) and no appreciable change in performance.

Well, that’s great, isn’t it — because jQuery is already too big to fit in most iPhones’ web cache* (meaning it has to be reloaded with every page, meaning page loads are slow, meaning you just can’t use it on an iPhone site**), so bigger is… better than… a mobile-only version… that would have been smaller… and would have worked.

I used to think that jQuery was the work of geniuses. But it seems that no open-source project can ever escape entropy. (It would be so simple to selectively load a different javascript file depending on the platform you’re running on — you know, if you intended to actually optimize for mobile browsers and mobile networks.)

 

* In case you want to tell me that jQuery is 24KB when gzipped: The object size limitation in Safari is based on the decompressed file. I just downloaded the latest minified jQuery, and it’s 70KB, so it would be cached on no iOS device except the iPhone 4.

** Unless you make it one single page that loads everything in Ajax, which is… well, I think it’s more acceptable on the mobile web than on the desktop, but it’s still poor form. And if you’re doing a full-on web-app, people want App Store apps instead anyway.

 

Archives

2001   01   02   03   04   05   06   07   08   09   10   11   12  

2002   01   02   03   04   05   06   07   08   09   10   11   12  

2003   01   02   03   04   05   06   07   08   09   10   11   12  

2004   01   02   03   04   05   06   07   08   09   10   11   12  

2005   01   02   03   04   05   06   07   08   09   10   11   12  

2006   01   02   03   04   05   06   07   08   09   10   11   12  

2007   01   02   03   04   05   06   07   08   09   10   11   12  

2008   01   02   03   04   05   06   07   08   09   10   11   12  

2009   01   02   03   04   05   06   07   08   09   10   11   12  

2010   01   02   03   04   05   06   07   08   09   10   11   12  

2011   01   02   03   04   05   06   07   08   09   10   11   12  

2012   01   02   03   04   05   06   07   08   09   10   11   12  

2013   01   02   03   04   05   06   07   08   09   10   11   12  

2014   01   02   03   04   05   06   07   08   09   10   11   12