{ "id": "136768", "key": "TIMOB-17723", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "11258", "description": "Holding Pen for Triaged Issues", "name": "Backlog", "archived": false, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-12-25T13:37:19.000+0000", "created": "2014-09-18T06:59:47.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "TCSupport", "hyperloop-examples", "ios8" ], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2018-08-06T17:49:36.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h4. Problem Description\r\nThere is a new WebView for iOS 8 that it's a lot faster than the previous/classic WebView. It might be useful to provide a better experience to the end users. \r\n\r\nh4. Extra info\r\nhttps://developer.apple.com/library/ios/documentation/WebKit/Reference/WKWebView_Ref/index.html\r\n\r\nh4. Benchmarks\r\nhttp://developer.telerik.com/featured/why-ios-8s-wkwebview-is-a-big-deal-for-hybrid-development/", "attachment": [], "flagged": false, "summary": "iOS8: Provide support for the WKWebView as Titanium's WebView in iOS", "creator": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "subtasks": [], "reporter": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "environment": null, "closedSprints": [ { "id": 784, "state": "closed", "name": "2016 Sprint 26 SDK", "startDate": "2016-12-17T01:24:57.928Z", "endDate": "2016-12-31T01:24:00.000Z", "completeDate": "2017-01-03T02:15:01.548Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "324566", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Please note some outstanding bugs with the current implementation. Are we comfortable with those?\r\n\r\nhttp://www.sencha.com/blog/apple-shows-love-for-html5-with-ios-8", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-09-18T18:51:45.000+0000", "updated": "2014-09-18T18:51:45.000+0000" }, { "id": "324675", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "As long as loading a local HTML file doesn't work we shouldn't use it.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-09-19T08:14:25.000+0000", "updated": "2014-09-19T08:14:25.000+0000" }, { "id": "324744", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Here is the OpenRadar bug for loading local files:\r\n\r\nhttp://www.openradar.me/radar?id=5839348817723392\r\n\r\nIt's unclear if that's just a temporary problem or a security stance.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-09-19T17:00:24.000+0000", "updated": "2014-09-19T17:00:24.000+0000" }, { "id": "343650", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It looks like local html can work just fine: http://atmarkplant.com/ios-wkwebview/\r\n\r\nI have not ran the code in the above mentioned article.\r\nI'd suggest making this a separate module for now.\r\nThis is useful for hybrid developers now (even if it only loads remote html), but like Fokke said, I wouldn't replace the implementation of Ti.UI.createWebView just yet.", "updateAuthor": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-02-17T23:27:07.000+0000", "updated": "2015-02-17T23:27:07.000+0000" }, { "id": "352793", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "There is a workaround to this issue which is demonstrable in the following sample project:\r\nhttps://github.com/shazron/WKWebViewFIleUrlTest\r\n\r\nThe workaround is to copy the web content to a temporary directory inside the app sandbox and to give the WKWebView a URL to it there.", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2015-05-18T03:27:34.000+0000", "updated": "2015-05-18T03:27:34.000+0000" }, { "id": "352794", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "Is this planned for 4.X ?", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2015-05-18T03:27:50.000+0000", "updated": "2015-05-18T03:27:50.000+0000" }, { "id": "352797", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We would consider it if the workarounds are acceptable. Thoughts from others?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-05-18T03:38:05.000+0000", "updated": "2015-05-18T03:38:05.000+0000" }, { "id": "352804", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "I'm checking out how they did it on a plugin for Cordova... It seems they had to spawn a local web server to serve the local html files... it seems pretty unacceptable to me in terms of performance.\r\n\r\nAll radar files on this bug are still open since iOS 8 release. They already fixed it on WebKit but Apple haven't replicated it to iOS yet... perhaps on iOS 9 ?!\r\n\r\nhttp://openradar.appspot.com/20160687\r\nhttp://www.openradar.me/18039024", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2015-05-18T04:07:54.000+0000", "updated": "2015-05-18T04:07:54.000+0000" }, { "id": "361625", "author": { "name": "tcrist", "key": "tcrist", "displayName": "Travis Crist", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Was support for WKWebview ever included in a TiSDK? \r\n\r\nThere is an issue with JQuery in iOS 9 https://github.com/jquery/jquery-mobile/issues/8254 which appears to be resolved by using the WKWebView. \r\n\r\nThanks, \r\nTravis", "updateAuthor": { "name": "tcrist", "key": "tcrist", "displayName": "Travis Crist", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-08-28T21:27:12.000+0000", "updated": "2015-08-28T21:27:12.000+0000" }, { "id": "367752", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Not completely fixed. WKWebView still requires a few improvements and features to deliver what Ti Webview can do. Links here for further reference when we revisit this ticket:\r\nhttps://github.com/ShingoFukuyama/WKWebViewTips\r\nhttp://stackoverflow.com/questions/26501172/launching-phone-email-map-links-in-wkwebview", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-10-26T07:17:31.000+0000", "updated": "2015-10-26T07:17:31.000+0000" }, { "id": "371124", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Would it be an idea to implement Crosswalk instead?\r\n\r\nhttps://crosswalk-project.org", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-11-23T09:57:48.000+0000", "updated": "2015-11-23T09:57:48.000+0000" }, { "id": "371179", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Crosswalk is an interesting idea.\r\nWhile I like the capabilities it brings to the table. I am not a big fan of the additional bloat it would bring.\r\n\r\nhttps://crosswalk-project.org/documentation/about/faq.html\r\n\r\nbq. How big is the Crosswalk Project runtime, and how will it affect my application's size?\r\n\r\n{quote} To give a rough idea, the HTML/JS/CSS for one of the project's sample applications takes up 24Kb of disk space. Once this application is packaged with its own Crosswalk 10 (x86 Android) runtime, the apk file size is ~20Mb. Installed, the application takes ~58Mb of disk space.\r\n{quote}\r\n\r\nThis could fly as a ti.plugin that could be optionally included, but I wouldn't want this as a default.", "updateAuthor": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-11-23T17:58:46.000+0000", "updated": "2015-11-23T18:00:24.000+0000" }, { "id": "371183", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~sophrinix] agree", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-11-23T18:05:01.000+0000", "updated": "2015-11-23T18:05:01.000+0000" }, { "id": "383894", "author": { "name": "bearus", "key": "bearus", "displayName": "Be Rushton", "active": true, "timeZone": "Australia/Brisbane" }, "body": "Any progress on this issue? I think iOS9 supports loading from a file:/// url. Cordova has implemented it last year: https://issues.apache.org/jira/browse/CB-9567\r\n\r\nCould we at least have an option to use it? A lot of us don't need the few features that aren't properly supported.", "updateAuthor": { "name": "bearus", "key": "bearus", "displayName": "Be Rushton", "active": true, "timeZone": "Australia/Brisbane" }, "created": "2016-04-26T08:26:59.000+0000", "updated": "2016-04-26T08:26:59.000+0000" }, { "id": "393703", "author": { "name": "jkneen", "key": "jkneen", "displayName": "Jason Kneen", "active": false, "timeZone": "Africa/Ceuta" }, "body": "Example of iOS WKWebView implementation in Alloy using Hyperloop and Ti SDK 5.4 added to the [Hyperloop Examples|https://github.com/appcelerator/hyperloop-examples] repo", "updateAuthor": { "name": "jkneen", "key": "jkneen", "displayName": "Jason Kneen", "active": false, "timeZone": "Africa/Ceuta" }, "created": "2016-08-20T22:02:45.000+0000", "updated": "2016-08-20T22:02:45.000+0000" }, { "id": "393730", "author": { "name": "bearus", "key": "bearus", "displayName": "Be Rushton", "active": true, "timeZone": "Australia/Brisbane" }, "body": "Thanks for that but Hyperloop is no good to most developers since we don't have access to it.", "updateAuthor": { "name": "bearus", "key": "bearus", "displayName": "Be Rushton", "active": true, "timeZone": "Australia/Brisbane" }, "created": "2016-08-22T00:41:35.000+0000", "updated": "2016-08-22T00:41:35.000+0000" }, { "id": "393735", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "We are not resolving the ticket as fixed with Hyperloop. This ticket is still in our backlog and we will address this when resources and time permits us. \r\nWe want to maintain parity cross platform as much as possible for Titanium SDK, and because I think there's quite a few API from UIWebView that just can't be implemented in WKWebView, and vice versa (probably why Apple still supports both instead of replacing one with another), we may have to do a platform-exclusive implementation. So we will try our best to do this after working on other critical tickets. \r\n\r\nPRs are very welcomed for Ti.UI.iOS.WKWebView :)", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-08-22T02:18:39.000+0000", "updated": "2016-08-22T02:18:39.000+0000" }, { "id": "393749", "author": { "name": "bearus", "key": "bearus", "displayName": "Be Rushton", "active": true, "timeZone": "Australia/Brisbane" }, "body": "Yep let's be honest the ticket has been up for 2 years now, this is never going to be added by Appc. Looks like if we want it, we have to build it ourselves.", "updateAuthor": { "name": "bearus", "key": "bearus", "displayName": "Be Rushton", "active": true, "timeZone": "Australia/Brisbane" }, "created": "2016-08-22T04:57:13.000+0000", "updated": "2016-08-22T04:57:13.000+0000" }, { "id": "393763", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~bearus] You can see the obvious reasons why it has not been implemented, yet. Summary for you:\r\n- Parity with UIWebView\r\n- Parity with Android & Windows\r\n- Minimum version iOS 8 (+ fallback behavior for iOS < 8)\r\n\r\nReplacing a whole API is not just replacing some classes (unfortunately \\:-).", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-08-22T09:50:54.000+0000", "updated": "2016-08-22T09:52:29.000+0000" }, { "id": "395264", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "But WKWebView is now encouraged for a couple years and this should be important to implement too. It is a pretty basic native functionality. Fallback pre-iOS 8 shouldn't be hard either, it is already there. \r\n\r\nLoop modules just did an implementation: http://loopmodules.com/downloads/ti-webview/", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-09-03T09:34:18.000+0000", "updated": "2016-09-03T09:34:18.000+0000" }, { "id": "395319", "author": { "name": "jkneen", "key": "jkneen", "displayName": "Jason Kneen", "active": false, "timeZone": "Africa/Ceuta" }, "updateAuthor": { "name": "jkneen", "key": "jkneen", "displayName": "Jason Kneen", "active": false, "timeZone": "Africa/Ceuta" }, "created": "2016-09-05T08:38:48.000+0000", "updated": "2016-09-05T08:40:06.000+0000" }, { "id": "398418", "author": { "name": "ch", "key": "ch", "displayName": "Cameron", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I will jump on the pile and say I have been waiting desperately for WKWebview as well. \r\n\r\nFor us hybrid app developers it just seems like a no-bainer. Theres no reason it need to have any Android parity or replace the current web view, just sit along side web view as Apple has intended it for now. Ti.UI.iOS.WKWebView as has been mentioned. \r\n\r\nAppcelerator by its very design/existence is for us ppl that don't exactly know or understand native iOS development so we are here, so please give us the tools to make our apps really powerful and hide the fact that they are not exactly native apps. WKWebview with its speed lets us do this\r\n\r\nHumble request of course", "updateAuthor": { "name": "ch", "key": "ch", "displayName": "Cameron", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-10-08T01:32:53.000+0000", "updated": "2016-10-08T01:32:53.000+0000" }, { "id": "400471", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Spent some hours on this and made a Proof Of Concept for constructing a {{Ti.UI.iOS.WebView}}: https://github.com/hansemannn/titanium_mobile/commit/961b259d5278190993bebc8645d6a66e1e8817f5\r\n\r\nIt basically supports local and remote URL's, blob data and HTML strings, it has basic support for all load-specific events.\r\n\r\n*app.js*:\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: \"#fff\",\r\n\ttitle: \"WKWebView\"\r\n});\r\n\r\nvar nav = Ti.UI.iOS.createNavigationWindow({\r\n\twindow: win\r\n});\r\n \r\nvar webView = Ti.UI.iOS.createWebView({\r\n url: \"remote_test.html\"\r\n// url: \"https://appcelerator.com\"\r\n});\r\n\r\nwebView.addEventListener(\"message\", function(e) {\r\n // Received event from HTML file\r\n // Call using \"window.webkit.messageHandlers.Ti.postMessage({foo: 'bar'},'*');\"\r\n Ti.API.info(e);\r\n})\r\n \r\nwebView.addEventListener(\"beforeload\", function(e) {\r\n\tTi.API.info(\"Will load URL: \" + e.url);\r\n});\r\n \r\nwebView.addEventListener(\"loadprogress\", function(e) {\r\n\tTi.API.info(\"Did receive first content of URL: \" + e.url);\r\n});\r\n \r\nwebView.addEventListener(\"load\", function(e) {\r\n\tTi.API.info(\"Did load URL: \" + e.url);\r\n});\r\n \r\nvar btn = Ti.UI.createButton({\r\n title: 'evalJS'\r\n});\r\n\r\nbtn.addEventListener('click', function() {\r\n // Asynchronous to unblock main-thread\r\n webView.evalJS('document.title', function(e) {\r\n alert(e.result);\r\n });\r\n});\r\n\r\nwin.setRightNavButton(btn);\r\nwin.add(webView);\r\nnav.open();\r\n{code}\r\n\r\n*remote_test.html* (thanks to [~kosso]!)\r\n{code:html}\r\n\r\n\r\n\t\r\n\tTEST REMOTE POSTMESSAGE\r\n\r\n\t\r\n\t\r\n\r\n\r\n\r\n\r\n\t

\r\n\t

remote html testing

\r\n\r\n\t\r\n\t
\r\n\tClick this and see the message arrive in your app console after subscriping to the 'messageFromWebview' event.\r\n\r\n\t

\r\n\r\n\t \r\n\r\n\t


\r\n\tagent\r\n\t


\r\n\tcount\r\n\t

\r\n\r\n\t
\r\n\t
\r\n\r\n\r\n\r\n{code}\r\n\r\nSo if anyone wants to use or improve this, go ahead. But we won't give official support for this for now, so please do not comment on the usage in this ticket. It's more a functional template for those who really need to use this instead of the {{Ti.UI.WebView}}.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-11-07T00:16:28.000+0000", "updated": "2016-12-24T12:39:09.000+0000" }, { "id": "401098", "author": { "name": "kosso", "key": "kosso", "displayName": "kosso", "active": true, "timeZone": "Europe/London" }, "body": "Nice one Hans! \r\n\r\nJust found this after spending all day looking at this [https://github.com/kaga/Titanium-Module-WKWebview] module. \r\n\r\nIt would be great to add the ability to use `postMessage` to communicate to an app from remote HTML. (evalJS is local only)\r\n\r\nI have also made some progress in adding the remote postMessage ability to an Android webView too, using an android module which I had a go at making. \r\n", "updateAuthor": { "name": "kosso", "key": "kosso", "displayName": "kosso", "active": true, "timeZone": "Europe/London" }, "created": "2016-11-16T02:06:14.000+0000", "updated": "2016-11-16T02:08:06.000+0000" }, { "id": "401514", "author": { "name": "kosso", "key": "kosso", "displayName": "kosso", "active": true, "timeZone": "Europe/London" }, "body": "Just a follow-up to this. I've tried (badly) to create PoC iOS and Android modules to cater for a (kind of) `postMessage` ability from remote HTML. I've tried to use a lot of Hans' WKWebView code here to try and get things working. \r\n\r\nThe modules *do* work (kinda) but could do with plenty of improvement. (Especially since I do not consider myself a *proper* Objective-C or Java developer ;) )\r\n\r\nhttps://github.com/kosso/titanium-postmessage-webview \r\n\r\n", "updateAuthor": { "name": "kosso", "key": "kosso", "displayName": "kosso", "active": true, "timeZone": "Europe/London" }, "created": "2016-11-18T13:40:56.000+0000", "updated": "2016-11-18T13:40:56.000+0000" }, { "id": "403307", "author": { "name": "leoafarias", "key": "leoafarias", "displayName": "Leonardo Farias", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I think to do a real replacement for the current webview it would be important to do the the Ti.App.fireEvent support that is currently supported for communication between titanium and webview", "updateAuthor": { "name": "leoafarias", "key": "leoafarias", "displayName": "Leonardo Farias", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-12-13T22:08:38.000+0000", "updated": "2016-12-13T22:08:38.000+0000" }, { "id": "403860", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey guys, quick update on my above PoC:\r\n* It now supports webview-app-communication (currently only from the webView to the app, not the other way around - PR's welcome)\r\n* Support for common navigation flows ({{goBack}}, {{goForward}}, {{reload}}, {{loading}}, {{canGoBack}}, {{canGoForward}})\r\n* JS evaluation e.g. \r\n{code:javascript}\r\nevalJS('document.title', function(e) {\r\n Ti.API.info('Page title: ' + e.result);\r\n});\r\n{code}\r\n* New {{progress}} event for real-team progress\r\n* Other supported API's: Picture-inPicture, 3D-Touch, custom user agent, airplay playback, inline playback, certificates, incremental rendering\r\n\r\nHappy christmas!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-12-24T12:36:37.000+0000", "updated": "2016-12-24T12:40:02.000+0000" }, { "id": "403862", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Resolving this ticket as fixed. The module now covers all use-cases we know from the {{Ti.UI.WebView}} and many more (see above). For event handling, use the {{postMessage}} method for context-based communication from the webview -> app and {{evalJS}} for app -> webview. Parity with {{Ti.App}} events are limited by the native API and won't be supported in this API. Just like the {{Ti.SafariDialog}}, this module will stay independent to achieve a more flexible development process apart from our SDK releases. Please feel free to contribute to the project! ", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-12-25T13:37:19.000+0000", "updated": "2016-12-25T13:37:19.000+0000" }, { "id": "440239", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Cleaning up older fixed issues. If this issue should not have been closed as fixed, please reopen.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-06T17:49:36.000+0000", "updated": "2018-08-06T17:49:36.000+0000" } ], "maxResults": 38, "total": 38, "startAt": 0 } } }