iOS 5 will be featuring a few new features that enable a better user-experience for web applications. Great news for those rooting for mobile web apps. Matteo Spinelli (creator of iScroll) even claims that web apps are now completely ready to replace native apps on iOS:
The real revolution might be iOS5. In the first beta they revealed overflow:scroll and position:fixed, while the second beta seems to unleash the devastatingly cool
-webkit-overflow-scrolling:touch CSS property.
-webkit-overflow-scrolling:touch you can finally have native scrollview inside your web app and together with webGL there’s no reason on Earth to go Object-C (I’m over-exaggerating, don’t flame).
As it is already happening for Mac Apps you may decide to publish your future iOS apps on the Apple Store, or release them on your website, or take advantage of the two worlds and follow both paths.
I envision a future where 90% of the native apps are just webview wrappers (as it is already happening thanks to Phonegap).
Although clearly iOS is moving in the right direction, it is not there yet. Beside the issues of still-limited access to device APIs and somewhat worse performance, there are some subtle issues (even in iOS5). For instance, web apps added to the home screen do not support multi-tasking. When switching between applications and switching back to a web app, the app completely reloads.
Still, iOS is doing way better than its main competitor Android.
It’s ironic that iOS is far ahead of Android when it comes to mobile web app support, given the fact that Android comes from this company called Google, that is all about the web, or so they claim. Apple, on the other hand embraces the web, but mostly as a transport mechanism and utility. Apple’s vision of the future is native apps, mixed with pragmatic use of web views.
As a case in point: iOS allows users to add web apps to the home screen, appearing like any other locally installed application — runnable without any browser chrome (no back and forward buttons), you can set the top bar color and the icon to be used on the home screen. Android offers no such feature. You can create a bookmark on the desktop, but it really looks like a bookmark, and when tapped simply switches to the browser and displays the page like any other website you visit.
It gets better, though. Consider Google’s own web version of maps for mobile. While on iOS you can use pinch-to-zoom, the Android version does not support this feature and requires the user to use zoom in/out buttons. Why? Android does not implement the required HTML5 features to implement this, as became painfully obvious when asked during a Q&A session at Google IO.
When someone asked about the lack of effective zoom feature on Android browser. Susannah said the pinch-and-zoom feature is supported by iOS, because iOS has a meta data setting used to specify that this map should be displayed full-screen and should not be resizable by the user.
Chuang observes another problem:
Android never reads W3C papers written by other Google employees. Andrei Popescu and Steve Block at Google W3C team has written a paper about DeviceOrientation, again, ironically, a draft initiated by Google’s employee is implemented by its rival Apple iOS, but nowhere to be seen on an Android device.
Although Android’s browser is a great browser to browse the “desktop” web — arguably as good or better than iOS — it does not seem to take the web as a web application platform seriously enough. Which is ironic — you know — because it’s Google.