cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gerbasi <rgerb...@gmail.com>
Subject Re: [iOS 8] Status of WKWebView work
Date Wed, 10 Sep 2014 19:03:44 GMT
Also for those interested in Browser features this is what we gained from
iOS 7 Safari to iOS 8 Safari. I have not had a chance to test all these new
features in UIWebView or Homescreen yet to confirm they all have them. I
only know indexedDB for now is only working in WKWebView and Safari.

- HTML/SVG Blending
- CSS background-blend-mode
- CSS Shapes Level 1
- WebGL 3D Canvas Graphics
- HTML Templates
- Promises
- Navigation Timing API
- Srcset attribute
- IndexedDB
- High Resolution Timing API
- SPDY network protocol
- Animated PNG Support
- SVG Fragment identifiers
- Text Decoration color/line CSS Support

Future focused we can look at things supported in iOS8 and Android 4.4+
like:
- HTML Templates - Big win for things like polymer or Web Component
Frameworks
- IndexedDB - Replacing sqlite
- High Resolution / Navigation Timing API - Performance testing and
benchmarking

And looking even further ahead we can see things that are in iOS8 and
Chrome for Android
- SVG Fragment IDs - This allows for SVG sprite sheets or image
collections. Good for icons and gaming
- Srcset attribute - Simple standard way to deal with higher DPI images
- CSS Shapes Level 1 - Allow for much nicer magazine style text layouts.
- WebGL 3d Canvas Graphics - Hardware accelerated 3d goodness

On Wed, Sep 10, 2014 at 2:01 PM, Ross Gerbasi <rgerbasi@gmail.com> wrote:

> Yeah sorry :( I mixed those up there, it got pretty late when I was
> writing all this up.
>
> OS Arraybuffer is support in the WKWebView and Safari, it is not available
> in a HomeScreen app or the UIWebView. According to HTML5 Test running in
> those environments.
>
> Apologies for the confusion.
> -ross
>
> On Wed, Sep 10, 2014 at 12:12 PM, Carlos Santana <csantana23@gmail.com>
> wrote:
>
>> 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 <rgerbasi@gmail.com>
>> wrote:
>>
>> > If you have a chance can you re-run the tests and make sure I didn't
>> screw
>> > anything up? :)
>> >
>> > -ross
>> >
>> > On Wed, Sep 10, 2014 at 11:04 AM, Shazron <shazron@gmail.com> wrote:
>> >
>> > > Ross - shoot. Arrgh I may have mixed up my test apps :( I should
>> emblazon
>> > > "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 <rgerbasi@gmail.com>
>> > 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
>> 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 <
>> > > 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… but takes like 2 MINUTES just to log in on an iPhone
5 :(
>> > > > >
>> > > > > And that’s only using 1000 rounds of PBKDF2 for SRP authentication
>> > > (less
>> > > > > than we would like).
>> > > > >
>> > > > > Luckily, my use case is not the norm… 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
>> Cordova
>> > > > > apps that I've heard of anyways.
>> > > > >
>> > > > > On Tue, Sep 9, 2014 at 7:01 PM, Shazron <shazron@gmail.com>
>> 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 <shazron@gmail.com>
>> 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" <shazron@gmail.com>
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=5839348817723392
>> > > > > >>> >>
>> > > > > >>> >> On Fri, Sep 5, 2014 at 12:48 PM, Shazron
<
>> shazron@gmail.com>
>> > > > 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
>> 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
>> > > > 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
<
>> shazron@gmail.com
>> > >
>> > > > > 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=5839348817723392
>> > > > > >>> >> >>
>> > > > > >>> >> >> 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?order=date&desc=1
>> > > > > >>> >> >> (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
>> > > > proxy,
>> > > > > >>> which
>> > > > > >>> >> >> requires the local web server).
>> > > > > >>> >> >>
>> > > > > >>> >> >> The bridge works great, and plugins
work great.
>> > > > > >>> >> >>
>> > > > > >>> >> >>
>> > > > > >>> >> >>
>> > > > > >>> >> >>
>> > > > > >>> >> >>
>> > > > > >>> >> >
>> > > > > >>> >>
>> > > > > >>>
>> > > > > >>
>> > > > > >>
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>>
>>
>> --
>> Carlos Santana
>> <csantana23@gmail.com>
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message