
JQuery Mobile 1.0 - johnbender
http://jquerymobile.com/blog/2011/11/16/announcing-jquery-mobile-1-0/
======
ashamedlion
I hate to say it, since I was looking forward to this, but on iPhone/iPod
touch, this feels like crap to use. It jumps around, feels really slow and has
some troubles responding to my taps. I really wanted to like it, but I much
prefer simple mobile sites to ones that use JQuery Mobile.

~~~
jsdalton
I think I wrote up something very similar the last time jQuery Mobile was
posted here, but I'm afraid it hasn't improved much since then. This is
exactly what happens when I touch a menu item using my iPhone:

1\. The Safari address bar momentarily drops down from the top and then back
up again.

2\. A loading modal appears for a few seconds and then disappears.

3\. The page I'm currently on jumps to the top.

4\. The new page slides in from the right and the old one slides out to the
left.

Steps 1, 2 and 3 are extremely jarring and, in my opinion, totally
unnecessary. (I mean unnecessary from user perspective; I understand that the
behavior is probably difficult for the framework developers to control cross
platform.) I guess there's an argument for #2, but does the user really need
such an obnoxious cue that content is being loaded?

Anyhow, I'm a huge fan of the idea behind this and I'm really rooting for this
framework to succeed. But I could not at this point in good conscience
implement it for any projects I'm working on, sadly.

~~~
kalid
The loading modal was a huge turnoff. Why would you ever show that to a user?
After clicking a link, when is your browser _not_ loading the next page?

I see that modal when browsing the docs (<http://jquerymobile.com/demos/1.0/>)
in Chrome on a broadband connection ("I canna go any faster captain!"). The
presence of that modal made me question other design decisions (yes, I get it,
you have a sleek pop-up experience... now why are you showing it to me on
every page load?).

~~~
hornbaker
> The loading modal was a huge turnoff. Why would you ever show that to a
> user?

IMO, with ajax page loads you need to show the user _something_ that indicates
their click was received. All browsers have a spinner or message somewhere to
indicate "they're working" on pulling down the next page of content. If you
take that visual clue away from users when loading content via ajax, what
you'll end up with is frustrated users who click multiple times on the link
since they think it's not working.

Whether the big obnoxious "loading" popup with ugly spinner is the right
design choice is another matter, but fortunately the styling and location of
that is easily changed.

~~~
kalid
I should have clarified -- it's not that a loading message is unnecessary,
it's how it was implemented. The fact that a giant overlay modal appears on
every page in their public docs calls into question other UI decisions. This
isn't the padding on some button, it's an in your face element.

Sure, we can tweak it to have a small transparent spinner in the lower
right... but what other changes are needed too? I want a framework where the
authors already fixed these obvious things.

------
lazerwalker
I'm still confused why they're calling this 'JQuery Mobile' when it's really
JQuery UI Mobile, conceptually speaking.

All I want is a library that gives me JQuery-like functionality with optimized
mobile performance, decent compatibility with the Android browser's nasty
quirks, a reduced footprint (easily doable without needing to support IE and
legacy browsers), and a few wrapper functions around mobile-specific
functionality like touch events. Is that too much to ask?

~~~
armandososa
you are thinking in <http://zeptojs.com/>

~~~
lazerwalker
The last time I looked into Zepto (which, in full disclosure, was about a year
ago), there was a gigantic HN thread with many people (including John Resig)
complaining that it being "JQuery-compatible" was more about syntactic sugar
(functions whose signatures look like those in JQuery, but don't behave the
same) and marketing buzzwords (comparing it to JQuery obviously attracts
attention) than actual feature parity. Has it improved at all?

~~~
fooandbarify
I've been using zepto in a project for a couple of months and so far it's been
pretty solid. It's true that it does not achieve feature parity with jQuery,
but it doesn't pretend to (and I don't think it ever did). It _does_
successfully mimic much of jQuery's core functionality on Webkit browsers at a
fraction of the file-size.

~~~
wiradikusuma
Have you tried XUI (<http://xuijs.com>)?

------
iamwil
JQuery Mobile is great as long as you stay within the confines of how they
think you might want to layout and setup your page. But once you start needing
something a bit more specialized, it felt like I was fighting it.

I'm glad to see that, at least in the docs, they got rid of the back button.
There's already a back button in web browsers, even on mobile browsers. We
don't need another one in the actual page.

I've come to believe that mobile web shouldn't try to emulate the fancy
transitions of native apps for the request/response cycle, it should just be
fast. If you're opting for client side async altogether, that's a different
story.

------
clarkmoody
I'm excited about this library since I've already been using jQuery
extensively for my desktop-web development and I wasn't thrilled about
learning something new like Sencha Touch.

The new Theme Roller has a very nice interface as well, with a direct
connection to Adobe Kuler, which I appreciate very much.

------
forgotusername
Demo has unbearably slow scrolling on my (stock) Nexus One. Feels like a
rebranded jQuery UI, inheriting its bad traits (bloat)

~~~
untog
The Nexus One/Android is largely to blame for that, to be honest. Android's
lack of hardware acceleration means that CSS3 animations are awful-slow.

------
daleharvey
I built a mobile webapp recently and found jquery mobile lacking, although it
follow a lot of the same idioms I was used to, the ui was just too jerky, I
found hand rolling the same code reasonably easy to do to get a much smoother
ui, alought I am still running against issues that I am not entire sure are
solvable

------
pingswept
I don't know how this performs, but at first appearances, it looks pretty
good. Does anyone know what the major competitors are for mobile UI libraries?

I played around with an early version of Sencha Touch, but that's all I'm
familiar with.

~~~
drewda
Here are a few others:

Sencha Touch: <http://www.sencha.com/products/touch/>

jQTouch: <http://www.jqtouch.com/>

iui: <http://www.iui-js.org/>

Jo: <http://joapp.com/>

~~~
maccman
And Spine Mobile: <http://spinejs.com/mobile>

(disclaimer - I'm the author)

~~~
zmmmmm
Can you clarify if Spine is actually cross platform (at least to Android if
not elsewhere)? A statement of such is conspicuously lacking from the web
site, leading me in combination with the giant oversized iPhone pic to believe
it is probably not. If it is, you could do yourself a favor and make it more
clear.

------
niklas_a
To anyone that thinks this means it is ready for production: think again.

All release candidates have been buggy and slow. It MIGHT work on an iPhone 4S
or the latest quad core Android phone but anything other than that it feels
slow.

------
exterm
They say they're cross-browser, but their examples extensively use -webkit-
css properties without the corresponding -moz-, -o- or the "vanilla" versions.
None of the page transition examples work in opera.

~~~
lachenmayer
Well, seeing as most (I'm guessing >90%?) mobile browsers currently used are
based on WebKit, it makes sense to only include the -webkit-prefixed selectors

~~~
exterm
even if that was the case, this doesn't make sense. Write a script that adds
-o-transform and -moz-transform after every -webkit-transform in your css and
you have a good chance that it works.

Regarding mobile browser market share: It is a common misconception that
mobile browsers not based on webkit have a negligible market share. Look at
this. [http://gs.statcounter.com/#mobile_browser-ww-
monthly-201010-...](http://gs.statcounter.com/#mobile_browser-ww-
monthly-201010-201110-bar)

------
scdc
Anyone know of existing jQueryUI sites that have been converted to jQuery
Mobile? It seems well documented for how to build new stuff, but if I've got
an existing app with jQuery UI Sliders or jQueryUI draggables, if/how best can
I convert/update it to get better touch support and/or support for more
devices?

------
mattparlane
There's something wrong if you're getting a 30-50% performance boost between
RC2 and RC3.

------
clemesha
I'd love to ask the hundreds of people on Twitter, and elsewhere, exclaiming
"Awesome, jQuery Mobile 1.0 is out!", this one question:

Which app, that you use, built with jQuery Mobile, is excellent?

~~~
nreece
Have you looked at <http://www.jqmgallery.com>

------
codebungl
Just created a new app and found the performance was both fast and sluggish at
times. Anyone else with me on this? What are you doing about it?

------
RobertKohr
I built <http://constantsail.com> with it.

------
iusable
jQuery Mobile is certainly one the most (if not The most) optimized platform
to build on right now. It offers 'depth' & 'breadth' in almost all the core
areas one might expect. I have been building on it since it was in Alpha and
have personally experienced the team roll out fixes upon fixes, which leave
the competition in the dust.

Kudos!

~~~
jbail
What do you mean by "optimized platform"?

Discussions of what is the best platform are futile. The answer to that debate
is always: it depends.

For example, looking at mobile web page transitions, jQuery Mobile is way
behind the competition in terms of optimization. The slide transitions in
Sencha Touch 2 are _way_ smoother than jQuery Mobile. I recently had lunch
with one of the Sencha Touch developers and learned that they optimized this
by not using CSS3 transitions at all and instead use a different approach with
much better results.

To pick the best mobile web framework for you, you really need to evaluate
what you're looking to get out of it. Then go with the one that has optimized
those things which you care about most.

I've used both jQuery Mobile and Sench Touch and ultimately I decided I value
a small framework codebase and full control of the framework most. Thus, I use
a handrolled solution and it's been a great decision for me.

~~~
mikeklaas
Any details on the approach they used? In my experience, it's impossible to
beat css3 transitions on a platform that hardware-accerelates them (i.e., only
iOS as of this writing)

~~~
rimantas
I guess the difference comes from using -webkit-translate3d which kicks in
hardware acceleration instead of -webkit-translateX or simple -webkit-
transition.

~~~
mikeklaas
Those are css transitions, i.e.:

    
    
        -webkit-transition: -webkit-translate3d(X,Y,Z) …

------
andrewfelix
I've built web apps in the past using JQTouch. Should I use this instead?

------
andyl
I tried to use JQM with backbone.js. Problem arose that JQM couldn't handle
query params (like <http://site.com/page?key=value>), so I couldn't build
dynamic pages that are bookmarkable. JQM devs were aware of the issue but said
that dynamic pages were out of scope for JQM.

I dropped JQM and went with zepto, backbone.js and custom CSS. And wow, the
performance gain was eye opening.

I think JQM is a nice tool to build prototypes and to learn about building
single page apps. But no way would I consider using JQM for a production app.

~~~
akavlie
What did you use for all the UI and widgets that JQUI gives you? Did you find
that a tough gap to fill in when you dropped JQUI?

------
pablospr
I have a simple question - Since it is mobile, why not do away with the
animations and transitions? So why prefer jQuery mobile at all. What
alternatives if I am targeting Blackberry, Windows, Palm, Kindle, etc?

