usually, the way this is done (at least on our sites) is that you have
separate mobile initiatives for separate devices. you pretty much
build up your model on the backend and simply feed it to a series of
templates, each optimized for a different device. i don't know of any
of "do-it-all" framework that would mimic various environments. mobile
browsers are, unfortunately, so distinct at the moment each of them is
its own use case.
on the desktop side, there is a plethora of JS frameworks that tackle
browser incompatibilities (mootools, prototype, dojo, YUI, etc). i'm
not sure to what extent they consider the mobile market though.
having said that, CiUI and iUI were made specifically for mobile
Safari. they will probably work fine on the Android-powered phones as
well. i can only speak for CiUI here and we're definitely not going to
support anything but mobile Safari (or any other Webkit-based
browser).
as far as various native iPhone GUI elements go, my thinking was that
people will not want to use the default graphics anyway, so why bother
creating them in the first place. every site wants to have a unique
look and feel, that is why i tried to accomplish customization in as
few steps as possible. if you look at the CSS required to run CiUI
you'll see it's very short. that was one my personal requirements to
make it that way.
all of these frameworks accomplish pretty much the same thing, we just
do it differently. i haven't looked at the WebApp code yet but it
seems like it includes a pretty comprehensive library of elements,
which means it's probably a lot heavier than CiUI. there is nothing
wrong with that, we just try to accomplish different things.