JQ.Mobi Is A Mobile-Optimized HTML5 Rewrite Of the JQuery Framework
readwriteweb.com
readwriteweb.com
The graphs that depict size are misleading. The initial release (today) is already at v0.9 and the site (opened 1 week ago?) says it's "fully ready to use in production" The video aims to enumerate and demonstrate a number of issues with jQuery UI and Sencha touch ("we can't get anything to work..."). "Zepto is slow", Zepto objects are big and have "large footprints". "We polled a large group of developers...".
This is OSS. Why is the trashing of other developer's work necessary in promoting your own?
On the other hand I do appreciate that someone has delved into mobile issues and is trying to address them. But why market it like this? Why tack on "an HTML5-ready jQuery" for no (apparent) reason. CSS3 transitions aren't html5. querySelectorAll is not html5. Those other libraries don't have their problems because they are not "HTML5".
I don't know, it doesn't sit right.
Zepto Closest Implementation: https://github.com/madrobby/zepto/blob/master/src/zepto.js#L...
JQ.Mobi: https://github.com/appMobi/jQ.Mobi/blob/master/jq.mobi.js#L3...
Zepto End Implementation: https://github.com/madrobby/zepto/blob/master/src/zepto.js#L...
JQ.Mobi: https://github.com/appMobi/jQ.Mobi/blob/master/jq.mobi.js#L4...
That said, it's all open source and there are only so many ways to write these functions succinctly.
Skip.
Also, showing benchmark for only one test doesn't follow the scientific approach.
I left a comment on the page with these two points and it has vanished...
When people like 37signals promote it as a tactic, people start to copy: http://gettingreal.37signals.com/ch02_Have_an_Enemy.php
Of relevance:
One bonus you get from having an enemy is a very clear marketing message. People are stoked by conflict. And they also understand a product by comparing it to others. With a chosen enemy, you're feeding people a story they want to hear. Not only will they understand your product better and faster, they'll take sides. And that's a sure-fire way to get attention and ignite passion.
The semantics of the subset vary significantly from jQuery as well. Take for example the show/hide implementation. `.show()` blindly sets the display to block. jQuery remembers the value it had when you hid it (block, inline-block, table-cell, etc.) and restores that setting.
Funny how both rewrites are missing this level of detail, or it could just be further evidence of how much JQ.Mobi "derives" from Zepto
See also: “Those who cannot remember the past are condemned to repeat it.”
Edit: to downvoters, I’m not being cranky: I specifically wouldn’t use this because of this lack of compatibility and would advise against using it for the same reason (especially seeing as the couple of people I’ve pointed this out to hadn’t realised). Can you explain why you think I’m not adding to the conversation?
Firefox I know at the moment is a very minor browser on mobile, but it has the potential to grow its install base. Opera is massive outside the US (StatCounter suggests it’s leading worldwide [1]) and doesn’t use WebKit either. And Microsoft doesn’t embed WebKit as a default browser on Windows Phone 7.
It’s fine to make the choice that you only want to support WebKit but you’re cutting out potential users and that should be highlighted, not hidden away in the source code comments.
[1] http://gs.statcounter.com/#mobile_browser-ww-monthly-201012-...
I tried their site on my phone, and got a nice "jQ.Mobi requires a webkit browser" popup, with a site that didn't react to any input.
And yes, I use Opera on Android.
The shading and reflections suggest that the objects on the illustration are spheres, for which the volume ratio of jQuery to jQ.Mobi is about 500:1. If the objects are circles then the area ratio is still around 60:1.
One can argue that it's more or less OK for the radius ratio, but IMO the chart gives a falsy impression in general.
Did RWW even try it out before they wrote about it?
However, I'm up against a deadline, so I don't know if I'll have time to implement it, and I can't find any documentation or examples anywhere- are there any? That'll be key to working out if I can transition my code in time.
I mean, cool, mention where your product does something a competitor doesn't. But repeatedly go for the jugular (with incorrect facts) and it really reflects poorly on you.
Where's the video?
It doesn't seem to support .delegate() or .data() though, so you would probably have to shim these (and probably a couple of others that I forgot) yourself.
edit: Looks like JQ.Mobi does support .data() anyway: https://github.com/appMobi/jQ.Mobi/blob/master/jq.mobi.js#L3...
The developers are the ones who know what functionality is replicated and what isn't- going through myself and testing seems like a huge waste of time.
Not really, just run the Backbone test suite and substitute jQuery/Zepto with JQ.Mobi. It shouldn't pass straight away because I'm pretty sure that JQ.Mobi is missing a couple of the functions required by Backbone (see my post a couple of levels up) but it probably wouldn't be a huge deal to write them yourself.