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 D26B31190D for ; Wed, 10 Sep 2014 17:12:31 +0000 (UTC) Received: (qmail 85015 invoked by uid 500); 10 Sep 2014 17:12:31 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 84974 invoked by uid 500); 10 Sep 2014 17:12:31 -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 84956 invoked by uid 99); 10 Sep 2014 17:12:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Sep 2014 17:12:30 +0000 X-ASF-Spam-Status: No, hits=2.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_REPLY,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of csantana23@gmail.com designates 209.85.212.173 as permitted sender) Received: from [209.85.212.173] (HELO mail-wi0-f173.google.com) (209.85.212.173) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Sep 2014 17:12:05 +0000 Received: by mail-wi0-f173.google.com with SMTP id em10so2573488wid.0 for ; Wed, 10 Sep 2014 10:12:04 -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=BeqJVoFtnUZ4FVnyb4IdwvGL0gkkB4EwoIvRahVkKYY=; b=bVVPOty6QnwlRp1J868w9c8lXil91801fwexBKJSmswd+YKg60l7jL+rcSwiEZhd1n Du4qNIXhxN6Al2b4ySQb0T7bAvGro913OabtNKRZe9xTI2JbIRDxEXcdZa5cAWYxPC5l 8vPi9AdZYSlx50xcDSitvfdOnJq/rDfX6YrCDONC2prKBydN69YdbuzX8I4os5R6mkc/ Ry2eVz74SgxLm54FQaz9pGpQKXw3iiK/+GIITKizlp3DKxaNCOVS5/emEjkaZhTD7wjY dsDnqNbr8STpPCkG3ZIfugYh9Fj0FtuV3D61fdJBWuy9iNu3qDrH7ClAzeLTytz27/Iz cppg== MIME-Version: 1.0 X-Received: by 10.180.223.68 with SMTP id qs4mr1323776wic.10.1410369124446; Wed, 10 Sep 2014 10:12:04 -0700 (PDT) Received: by 10.194.66.34 with HTTP; Wed, 10 Sep 2014 10:12:04 -0700 (PDT) In-Reply-To: References: Date: Wed, 10 Sep 2014 13:12:04 -0400 Message-ID: Subject: Re: [iOS 8] Status of WKWebView work From: Carlos Santana To: "dev@cordova.apache.org" Content-Type: multipart/alternative; boundary=001a11342b0aaa39da0502b9261e X-Virus-Checked: Checked by ClamAV on apache.org --001a11342b0aaa39da0502b9261e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Ross can you clarify your results for Objectstore ArrayBuffer? Notes: - Objectstore ArrayBuffer is only supported in Safari & WKWebView App 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 - 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 - 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 - 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 - Objectstore ArrayBuffer Support - *No* On Wed, Sep 10, 2014 at 12:14 PM, Ross Gerbasi wrote: > If you have a chance can you re-run the tests and make sure I didn't scre= w > anything up? :) > > -ross > > On Wed, Sep 10, 2014 at 11:04 AM, Shazron wrote: > > > Ross - shoot. Arrgh I may have mixed up my test apps :( I should emblaz= on > > "WKWebView" or "UIWebView" at the start of the app. Thank goodness for > peer > > review... > > > > On Wed, Sep 10, 2014 at 1:11 AM, Ross Gerbasi > wrote: > > > > > 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 Tes= t > 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/Offli= ne > > > Solutions) > > > - No UserAgent difference between UIWebView and WKWebView. > > > > > > > > > On Tue, Sep 9, 2014 at 7:41 PM, tommy-carlos williams < > > tommy@devgeeks.org> > > > 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 authent= ication > > (less > > > > than we would like). > > > > > > > > Luckily, my use case is not the norm=E2=80=A6 but it does mean I am= making > 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 Cordov= a > > > > 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 > > > on > > > > > 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 < > agrieve@chromium.org > > > > > > > >> wrote: > > > > >> > > > > >>> :( > > > > >>> > > > > >>> Hopefully UIWebView will still get some updates though? E.g. > > > IndexedDb? > > > > >>> > > > > >>> On Tue, Sep 9, 2014 at 4:18 PM, Tommy Williams < > tommy@devgeeks.org > > > > > > > >>> 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 > > > iPhone > > > > 5 > > > > >>> and > > > > >>> >> used Xcode 6 GM, and the file:// url "bug" (assuming it is a > bug > > > and > > > > >>> 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." > > > this > > > > >>> was > > > > >>> >> > for loading a html page and plugins using the file:// > protocol > > > > using > > > > >>> >> > WKWebView (as the title of the report implies). The bug I > > > reported > > > > >>> was on > > > > >>> >> > Device (> iOS beta 4), on Simulator it is *fine* (this inf= o > > was > > > in > > > > >>> the > > > > >>> >> bug > > > > >>> >> > report as well). > > > > >>> >> > > > > > >>> >> > *Nothing* has been done using the local web server and pro= xy > > (at > > > > >>> least > > > > >>> >> > nothing checked in). An implementation on how the proxy > works > > > can > > > > 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 > > > of > > > > >>> iOS 8 > > > > >>> >> >> next week (probability high) and everyone asking about > > support. > > > > >>> >> >> > > > > >>> >> >> It has stalled because the WKWebView cannot load files > using > > > the > > > > >>> 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 anothe= r > > 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 ou= r > > > proxy, > > > > >>> which > > > > >>> >> >> requires the local web server). > > > > >>> >> >> > > > > >>> >> >> The bridge works great, and plugins work great. > > > > >>> >> >> > > > > >>> >> >> > > > > >>> >> >> > > > > >>> >> >> > > > > >>> >> >> > > > > >>> >> > > > > > >>> >> > > > > >>> > > > > >> > > > > >> > > > > > > > > > > > > > > --=20 Carlos Santana --001a11342b0aaa39da0502b9261e--