People don't seem to really understand the difference: a web app sits on a server. A native app is on the device. A web app will ALWAYS have a round trip time - the web is not instantaneous. So it will ALWAYS be slower than a locally run app, by its very definition.
Furthermore, a browser imposes buttons and bars on the application that it does not need. In a mobile app, space is at an extreme premium, and the space used up by the browser elements are needed.
If we solve these two problems, by making all web based apps download their logic to the client, and by disappearing the browser entirely, then that's a native app. It's running locally and it's independent of the browser.
If we solve these two problems, by making all web based apps download their logic to the client, and by disappearing the browser entirely, then that's a native app. It's running locally and it's independent of the browser.
I agree with you on this, although the one quibble I can see is that part of the appeal of web apps has been the idea that you (the user) don't have to update them, because that all happens on the server side. This can be solved trivially of course by just having the client side app check it's origin server for updates whenever the user accesses it, but there's a possibility of that that could end up rather messy unless update management was a centralized part of the OS, rather than a free-for-all (Java Updater and Acrobat Updater, I'm looking at you!).
Right, Chrome is basically the only program that auto-updates correctly. But in the context of the myriad other programs that try to auto-update and fail miserably, or worse, I think my point stands.
Isn't Titanium really just an interpreter taking Javascript to render native UI? While using Titanium allows you to use your experience in Javascript, and avoid Objective C or Java, in the end you still have an app on the phone.
Furthermore, a browser imposes buttons and bars on the application that it does not need. In a mobile app, space is at an extreme premium, and the space used up by the browser elements are needed.
If we solve these two problems, by making all web based apps download their logic to the client, and by disappearing the browser entirely, then that's a native app. It's running locally and it's independent of the browser.