Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 71475116A1 for ; Wed, 10 Sep 2014 08:12:12 +0000 (UTC) Received: (qmail 6882 invoked by uid 500); 10 Sep 2014 08:12:11 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 6839 invoked by uid 500); 10 Sep 2014 08:12:11 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 6821 invoked by uid 99); 10 Sep 2014 08:12:11 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Sep 2014 08:12:11 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of rgerbasi@gmail.com designates 209.85.219.49 as permitted sender) Received: from [209.85.219.49] (HELO mail-oa0-f49.google.com) (209.85.219.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Sep 2014 08:12:07 +0000 Received: by mail-oa0-f49.google.com with SMTP id m19so1536414oag.22 for ; Wed, 10 Sep 2014 01:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=CX4uVLRxcDebcdQ5jr2r+ruUEP/sfwDDaT9ceUsza6o=; b=A8jXHIWTthrls/oHP2By1uzHfB49h00CkOs6euW2KSF+15MdfNZgUrVbdZjftM41Na IZREXsMzK+onKvmh+I1T+IXi2WSITuN+qX+PEnyBXju9l4Jbnhdz4Z+B7hNmj0zpzWTA nv1qjJvtIvcseWoyxiIP72uDzKHelpSMhUWB/kp/zF0oBiFEBHYyK8vGSZ1ijpgXU4O6 lack1yiA1btE84EEu153D1fpPicY5YeYL6Wp1xbJP34j356bIHshkZMeUnXlpejyUfr7 Ve1RhjAThC2XFpH7rSx06Ay1E/CqfWF7wDAY00X02VGD06JD43sKA8uU7Qrk3lawPOQe vvMw== MIME-Version: 1.0 X-Received: by 10.182.60.232 with SMTP id k8mr42743240obr.54.1410336706519; Wed, 10 Sep 2014 01:11:46 -0700 (PDT) Received: by 10.202.48.15 with HTTP; Wed, 10 Sep 2014 01:11:46 -0700 (PDT) In-Reply-To: References: Date: Wed, 10 Sep 2014 03:11:46 -0500 Message-ID: Subject: Re: [iOS 8] Status of WKWebView work From: Ross Gerbasi To: dev Content-Type: multipart/alternative; boundary=001a11c1e6aa67eb2c0502b19ae4 X-Virus-Checked: Checked by ClamAV on apache.org --001a11c1e6aa67eb2c0502b19ae4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Here are the results of some tests on iOS8, hopefully they will be useful to someone! :) I need to do some more useful tests on DOM related stuff as it was mentioned here already JS speed is not usually the bottleneck in Cordova apps. Unless you're doing crazy crypto like some people :) *@Shazron:* I am not seeing IndexedDB support in UIWebView but maybe I am not enabling something I need to on the native side? For me HTML5 Test is only showing IndexedDB for Safari and WKWebView. As you can see I am getting a dramatic lower HTML5 Test score in UIWEbView vs WKWebView. *Tests run on an iPod Touch 5th Generation running iOS8 GA* iPod Touch iOS 8 *Safari* UserAgent - Mozilla/5.0 (iPod touch; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4 Sunspider - 1825ms Overall HMTL5 Test - 440/555 - Seamless iFrame - No - 2D Graphics Path Support - Yes - Web GL 3D Graphics - Yes - IndexedDB - Yes - Objectstore ArrayBuffer Support - Yes iPod Touch iOS 8 *HomeScreen* UserAgent - Mozilla/5.0 (iPod touch; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 SunSpider - 1801.0ms Overall HTML5 Test - 427/555 - Seamless iFrame - No - 2D Graphics Path Support - Yes - Web GL 3D Graphics - Yes - IndexedDB - No - Objectstore ArrayBuffer Support - No iPod Touch iOS 8 *WKWebView* UserAgent - Mozilla/5.0 (iPod touch; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 SunSpider - 1822.8ms Overall HTML5 Test - 438/555 - Seamless iFrame - No - 2D Graphics Path Support - Yes - Web GL 3D Graphics - Yes - IndexedDB - Yes - Objectstore ArrayBuffer Support - No iPod Touch iOS 8 *UIWebView* UserAgent - Mozilla/5.0 (iPod touch; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 SunSpider - 7114.6ms Overall HTML5 Test - 427/555 - Seamless iFrame - No - 2D Graphics Path Support - Yes - Web GL 3D Graphics - Yes - IndexedDB - No - Objectstore ArrayBuffer Support - No *iOS 8 Notes* - Seamless iFrame was removed compared to iOS 7.1.2 - IndexedDB is only supported in Safari & WKWebView App - Objectstore ArrayBuffer is only supported in Safari & WKWebView App - UIWebView is ~4x slower then WKWebView for JS (Sunspider results) - WKWebView cannot load local files (issue for Cordova/Phonegap/Offline Solutions) - No UserAgent difference between UIWebView and WKWebView. On Tue, Sep 9, 2014 at 7:41 PM, tommy-carlos williams wrote: > Generally speaking, JS performance is not a problem for most iOS Cordova > apps. Certainly I never had a problem until recently. > > Sadly, I now work with a JS privacy (crypto) lib called Crypton[1] that > works pretty damn good on Android, decently on BB10 and even pretty good = on > FxOS=E2=80=A6 but takes like 2 MINUTES just to log in on an iPhone 5 :( > > And that=E2=80=99s only using 1000 rounds of PBKDF2 for SRP authenticatio= n (less > than we would like). > > Luckily, my use case is not the norm=E2=80=A6 but it does mean I am makin= g apps > that are unusable on iOS, which makes me sad. > > 1. https://crypton.io > > On 10 September 2014 at 10:20:21, Andrew Grieve (agrieve@chromium.org) > wrote: > > That's great news. > > JS execution speed honestly hasn't really been a problem for Cordova > apps that I've heard of anyways. > > On Tue, Sep 9, 2014 at 7:01 PM, Shazron wrote: > > Some interesting findings - iOS UIWebView and WKWebView have the same > > user-agent value, and both score 440 on html5test.com. > > > > Which makes me think they use the same engine (renderer and js), but > > UIWebView has nitro turned off. WKWebView seems to be about 4x faster o= n > > the Sunspider benchmark. > > > > On Tue, Sep 9, 2014 at 3:58 PM, Shazron wrote: > > > >> UIWebView iOS 8 scores 440/555 points on html5test.com, and yes it > >> supports indexedDB > >> Full results: http://html5te.st/f16d892273bbe5bd > >> > >> On Tue, Sep 9, 2014 at 1:33 PM, Andrew Grieve > >> wrote: > >> > >>> :( > >>> > >>> Hopefully UIWebView will still get some updates though? E.g. IndexedD= b? > >>> > >>> On Tue, Sep 9, 2014 at 4:18 PM, Tommy Williams > >>> wrote: > >>> > That's pretty disappointing. > >>> > > >>> > Especially with not even a comment from apple. > >>> > On 10 Sep 2014 05:50, "Shazron" wrote: > >>> > > >>> >> Well, bad news. I just installed the iOS 8 GM firmware on an iPhon= e > 5 > >>> and > >>> >> used Xcode 6 GM, and the file:// url "bug" (assuming it is a bug a= nd > >>> not by > >>> >> design) is still there. > >>> >> > >>> >> http://www.openradar.me/radar?id=3D5839348817723392 > >>> >> > >>> >> On Fri, Sep 5, 2014 at 12:48 PM, Shazron wrote= : > >>> >> > >>> >> > Clarification: > >>> >> > When I said "The bridge works great, and plugins work great." th= is > >>> was > >>> >> > for loading a html page and plugins using the file:// protocol > using > >>> >> > WKWebView (as the title of the report implies). The bug I report= ed > >>> was on > >>> >> > Device (> iOS beta 4), on Simulator it is *fine* (this info was = in > >>> the > >>> >> bug > >>> >> > report as well). > >>> >> > > >>> >> > *Nothing* has been done using the local web server and proxy (at > >>> least > >>> >> > nothing checked in). An implementation on how the proxy works ca= n > be > >>> seen > >>> >> > in the PhoneGap Developer App: > >>> >> > https://github.com/phonegap/phonegap-app-developer > >>> >> > > >>> >> > See CB-7043 for progress on tasks regarding this. > >>> >> > > >>> >> > > >>> >> > > >>> >> > On Fri, Sep 5, 2014 at 11:40 AM, Shazron > wrote: > >>> >> > > >>> >> >> I figure I will write this all up before the official release o= f > >>> iOS 8 > >>> >> >> next week (probability high) and everyone asking about support. > >>> >> >> > >>> >> >> It has stalled because the WKWebView cannot load files using th= e > >>> file:// > >>> >> >> protocol since iOS 8 beta 4. > >>> >> >> > >>> >> >> This bug has been filed with Apple weeks ago: > >>> >> >> http://www.openradar.me/radar?id=3D5839348817723392 > >>> >> >> > >>> >> >> I even checked WebKit check-ins if there was any progress, so > far, > >>> no: > >>> >> >> > >>> >> >> > >>> >> > >>> > http://trac.webkit.org/browser/trunk/Source/WebKit2/UIProcess/API/Cocoa?o= rder=3Ddate&desc=3D1 > >>> >> >> (but it's entirely possible the loading code is in another part > of > >>> the > >>> >> >> tree). > >>> >> >> > >>> >> >> The alternative is to run a local web server, which works great= . > >>> >> However, > >>> >> >> this will open up a can of worms possibly with Apple, I'm not > sure. > >>> >> >> > >>> >> >> The other interesting tidbit is, with WKWebView, for locally > loaded > >>> >> files > >>> >> >> using the file:// protocol, cross-domain restrictions now apply= , > >>> unlike > >>> >> >> UIWebView's behaviour. To have the same behaviour as UIWebView, > we > >>> would > >>> >> >> need to proxy these requests (modify xhr.open to go to our prox= y, > >>> which > >>> >> >> requires the local web server). > >>> >> >> > >>> >> >> The bridge works great, and plugins work great. > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> > > >>> >> > >>> > >> > >> > > --001a11c1e6aa67eb2c0502b19ae4--