iOS webapp performance safari vs home screen start - ios

I read an article recently which states that web apps on iOS launched from the home screen running in full screen mode have slower performance than webapps running inside safari.
Then I found a followup article to it which seems to sugguest that the issue above is fixed.
Does anyone know if this is confirmed?

According to information from appleinsider, ios5 beta fixes that problem and now Nitro JavaScript engine enabled on Web.app.
I've iOS 5 installed on my iphone4 and updated SunSpider JavaScript testing framework 0.9.1 (to be able to start as fullscreen web application under ios). And I've started subspider several times in fullscreen webapp mode and in Safari mobile. So, see my results below (images are clickable):
May be something was fixed (apple insider provides 4 vs 10 seconds difference), but I can't say that performance is equals in both cases (3756.5ms vs 5243.8ms for those who can't see images).
UPD
Small interesting note about UIWebView, it is impossible to use Nitro-enabled JavaScript engine in native applications (I mean applications designed in Xcode and posted to AppStore) because Nitro JIT requires to be able to use dynamic code signing.
UPD
Look at iOS 5 Top 10 Browser Performance Changes on blaze.io, Seems Apple enabled Nitro for Fullscreen WebApps in iOS5 (nice statistics in article).

Related

webRTC-enabled browser for iOS?

Preface: there are questions (some good, some bad) already in existance on StackOverflow about webRTC support on various browsers and platforms, including iOS. However I couldn't find anything definitive that was more recent than ~2012, and this is a rapidly-changing field.
I'm working on a browser-based webapp that uses webRTC for minimal-latency peer-to-peer data transfer (not for audio/video, unlike most applications it would seem - all I need is DataChannel).
I hit a snag when I started testing the data-transfer part of the project and discovered that iOS devices still don't natively support this in their built-in browsers (despite some recent rumors).
Bowser is a free open-source browser App for iOS that purports to support webRTC on iOS. The problem is that when I try to open the app, it simply crashes and closes. I've tested this on an iPhone 5 and 5s. Googling has failed to turn up alternatives - even Chrome for iOS doesn't currently support webRTC it seems.
My questions:
1) Are there alternative browsers (even iOS-version restricted) that are currently supporting webRTC, or is there anything promising coming down the pipeline?
2) Does Bowser actually work (webRTC) on iOS devices where it doesn't crash immediately upon launch?
3) What strategies have other people used to work around this limitation?
As of iOS 11, WebRTC is now supported in Safari: https://developer.apple.com/library/archive/releasenotes/General/WhatsNewInSafari/Articles/Safari_11_0.html#//apple_ref/doc/uid/TP40014305-CH13-SW1
Check out crosswalk project ( https://crosswalk-project.org )
This Provides runtime of Chromium engine for native support in older devices.
1) Are there alternative browsers (even iOS-version restricted) that are currently supporting webRTC, or is there anything promising coming down the pipeline?
Answer:
There is a Browser called Bowser that supports webRTC.
2) Does Bowser actually work (webRTC) on iOS devices where it doesn't crash immediately upon launch?
Answer:
It's not crashing as of now.But I couldn't successfully test with anything so far.I have raised an issue about it
3) What strategies have other people used to work around this limitation?
Answer:
Apple is yet to support WebRTC in Webkit so as of now the only way would be develop a native or Hybrid app that would support the unsupported WebRTC APIs.
You can develop a hybrid app powered by OpenWebRTC or cordova-plugin-iosrtc

Slow initial loadingscreen iOS web app

I am working with a web app built for webkit browsers that is quite javascript-heavy. The app runs rather smooth in the safari browser and the initial loading is about 1,5-2 sec (iPhone 4s iOS 6) on my 3g net. However, when I launch the app from my homescreen, the splashscreen will stay for 5-6 seconds, sometimes even longer (Have gotten reports it can stay for around 10 seconds).
I am wondering how the difference can be so big? What can be done to reduce this loading?
Any help is appreciated.
If you are using a UIWebView where you load your WebApp, you are using a version of WebKit that does not support JIT optimizations for JS (source)
I'll break the app in smaller pieces and try to show something to the user ASAP, then continue loading your JS in the background. I know this is not good, but if your problem is a heavy JS App, you are stuck with non-JIT WebKit engine (AKA UIWebView)
Have a look at WWDC 2012 Session 601: Optimizing Web Content in UIWebViews and Websites on iOS (you need to be a registered iOS developer), and hear this episode of Cocoanetics podcast
Would love to know some optimizations, though.
Web apps launched from the homescreen are slower than those launched from inside Safari, due to the home screen ones not taking advantage of Safari's Nitro Javascript engine.
Source: http://thenextweb.com/apple/2011/03/17/apple-admits-to-slower-performance-in-ios-web-apps/
Yes, the article is a bit dated, but I cannot find any information stating that this is no longer the case.

What options for web site development for iPad are available?

I'm developing a site one of the targets of which is iPad.
What options do I have to debug client side (DOM inspector, style viewer/editor, javascript console, network analyzer - all thing every major desktop browser has) when viewing the site from iPad?
I'm not looking for some kind firebug lite, or anything that makes me to debug site from iPad itself. (This would be too tedious.) Instead, what I'm after is some sort of remote debugger for mobile Safary, allowing me to work with sites opened on iPad from a desktop machine, or an iPad emulator with same capabilities. I know there is the emulator that comes in bundle with official SDK, but does it have such means?
It's the first time I'm facing the problem, so not to blame!
This is what I'm aware of:
weinre (But does it really work?)
Check out BugSense and their HTML5 (javascript) installation

How to test a web application on an iPad and other tablets without buying them?

Is there a trustworthy way to test iPad compatibility of a web application without buying the device itself? What about other tablets, do they provide any emulators?
If you have a Mac, just register with Apple (for free) and download the iOS SDK. It includes a program called 'iOS Simulator', which you can launch directly without knowing anything about Xcode/etc and includes Mobile Safari just like a real iPad. Since WebKit is exposed to iPad programmers for use in their programs, I'd expect the simulation to render identically to the real thing and, in practise, have never noticed any differences.
The iOS Developer Centre is here. Sadly, I have no experience of other tablets.
This is past mid-2012, now there are plugins or settings for User-Agent that "emulate" the connections for ipad (ios4 & ios5). Well it tricks the server into thinking that it is a different device.
For example, using Chrome, press F12 and click on settings (bottom right) and one of the tabs allows you to emulate the different devices.
safari - http://www.dummies.com/how-to/content/how-to-activate-user-agent-switcher-in-safari.html
FF needs plugin: https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/
IE8 - http://www.howtogeek.com/howto/18450/change-the-user-agent-string-in-internet-explorer-8/
IE9/10 - anyone can help?

Will Phonegap current version work on BlackBerry OS version 5?

I am new to mobile development and I was wondering if the applications I develop using phonegap will work correctly on Blackberry OS 5 since they don't support it yet. I won't need any fancy features in my app and wanted to use phonegap to develop for Android, IPhone and Blackberry. But of course I am having problems with the different versions of Blackberry OS just like everyone else.
Thanx.
I had a chance to test this once. I have put my Phonegap application on 5.0 and observed how it behaves. Application has launched properly. But i Observed following issues.
HTML5 is supported but localStorage and sessionStorage is not supported.You need to find an alternative.
HTML Page transition is too slow. End used will certainly not accept the performance.
Few jQueryMobile API's don't work.
You cannot be sure that page will be viewed same as you see in 6.0+. Few elements get distorted.
You need to test each and every UI element and see if it is working proper.For example datepicker displays date on right side of the page instead of left
Few PhoneGap API's don't work or they crash.For example API to launch camera crashes.
After observing above issues i felt that even if phonegap is supported in 5.0 it doesn't make big sense.
Yes, but to run on OS version 4.x you have to target the PhoneGap BlackBerry application, while to run on OS version 5 or 6 you need to target BlackBerry Widgets / WebWorks -- the same application may work on both if you use compatible features, but you'll need two different builds, as though they were two different kinds of phone.
Now the support for earlier versions of BlackBerry has been withdrawn from Cordova 3.0 onwards, which in turn supports BlackBerry 10 only. Refer the following link for more details.
PhoneGap - BlackBerry Support
Thanks,
prodeveloper

Resources