> I've been thinking about creating multiple uiwebviews inside of the
> view controllers for each individual tab. Yes, there is some
> additional memory overhead, but my initial tests haven't suffered
> much ... and in fact the huge performance boost of not having to load
> the different pages when specific tabs are selected is very much worth
> the extra memory usage.
Aren't there more web-oriented ways of keeping multiple pages in
memory at once? Hidden DIV stuff? That's how IUI works for example.
> ...
> Is this something that other people want too, or is it just me?
I've never understood myself exactly what people are aiming to
achieve. If it is just pre-caching of pages, then maybe hidden DIV
tricks could be incorporated into xui or magic framework. One benefit
of doing it that way is that your application state can be stored in
Javascript global variables.
Paul Prescod
Sure, I agree. I wasn't asking "why do you want apps that look like
native apps" but rather "what limitations of HTML/Javasript prevent
you from using HTML/Javascript techniques to achieve that goal." I'm
going down the same path so I'm trying to learn from your experience.
I have heard mixed messages about whether it is effective to emulate
the native navigation controls in HTML/Javascript.
> Of course we use divs to have many pages loaded at once, but there are
> hard limits to that, and even though we can certainly async load more
> divs, there are often clear separation of functions across tabs.
Can you talk a bit more about the hard limits and performance
problems? Do you find that there is a noticeable lag when you hide and
show DIVs corresponding to tabs?
> ... Add in dynamic tab bar
> creation (which I've also implemented in a POC), and you can
> essentially develop web apps which are virtually indistinguishable
> from native apps, because they dynamically use the native controls for
> high-performance navigation. ...
We all agree with the overall goal. My understanding was that it is
*already* possible to make apps that are virtually indistinguishable
from native apps. So I'm trying to clarify the limitations of the
current Phonegap/HTML/Javascript platform. Am I going to have to
develop a native component-based framework like yours to get native
seeming behaviour or do I just need more sophisticated HTML/Javascript
tricks?
Also, when you have multiple UIWebViews, how are you communicating
application state between them?
Paul Prescod
I feel like different solutions to different problems may be
appropriate. If Brian still believes that one can make a basic tabbar
that feels 100% native then I'd like to see that and would prefer
that to a platform-specific solution that loads multiple instances of
the Javascript app. The techniques would certainly be useful for other
kinds of headers and footers.
On the other hand, it seems unlikely that there is any pure-web
solution to the problem that mobile webkit does weird things with
iFrames. So working around that will probably take some objective-C
coding. :( David, if you have an HTML/CSS/JS solution then please
share it.
Here's the description of the problem:
"Multiple UIWebViews" is a solution can solve several problems. Some
may have other solutions (which should also be explored) and some
probably do not.
Paul Prescod
If Brian still believes that one can make a basic tabbar that feels 100% I'd like to see that...
Finally, I need a native experience. Not a native-like experience
Again, and I'll say it again, it's not a question of whether this will be built. The only question is whether PhoneGap will be the project that it is based on or not.
On Tue, Mar 3, 2009 at 1:33 PM, Brock Whitten <brock....@nitobi.com> wrote:
>
>> If Brian still believes that one can make a basic tabbar that feels
>> 100% I'd like to see that...
>
> IMHO this is the wrong way to look at it. Does gmail look 100% like a native
> email client on OSX or Windows? NO! who fucking cares.
I would say that gmail gets a pass because it offers extra features to
the end-user. Not the developer. The end-user. If I could say that my
PhoneGap app did X or Y that an Objective-C app did not then my
end-users would overlook quirks. In fact, if I deliver a "native-like"
performance through Safari then I'll be a rock star. But if I put a
"native-like" app into the app store then people will complain that it
doesn't feel right. That's just how people are....once its in the app
store it isn't perceived as a web app. Look at the abuse Swing apps
have taken over the years. ;)
> http://github.com/sintaxi/phonegap-examples/tree/master
> The first example (address-list) is based on some great work that I found on
> cubiq.org. It has a fixed header and footer. check it out. Will it convince
> you that it its 100% native? I expect not. my response to that is, it
> shouldn't matter :)
As I said, that example is already very valuable to me, so thank you
for that. Actually, it feels damn close to a native app to me. There
is something buggy about the letters on the right side but that could
as easily be an Objective-C bug as a Javascript one.
Could I suggest that the examples be in a single "www" tree rather
than multiple? It's much easier to navigate around a single app with
multiple examples linked by hyperlinks than to build a bunch of
examples one at a time.
Paul Prescod