Return-Path: X-Original-To: apmail-cordova-commits-archive@www.apache.org Delivered-To: apmail-cordova-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A7729102BE for ; Thu, 5 Dec 2013 14:34:50 +0000 (UTC) Received: (qmail 62052 invoked by uid 500); 5 Dec 2013 14:34:48 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 61592 invoked by uid 500); 5 Dec 2013 14:34:42 -0000 Mailing-List: contact commits-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 commits@cordova.apache.org Received: (qmail 61576 invoked by uid 99); 5 Dec 2013 14:34:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Dec 2013 14:34:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.131] (HELO eos.apache.org) (140.211.11.131) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Dec 2013 14:34:38 +0000 Received: from eos.apache.org (localhost [127.0.0.1]) by eos.apache.org (Postfix) with ESMTP id 0DF6BB99 for ; Thu, 5 Dec 2013 14:34:17 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Apache Wiki To: Apache Wiki Date: Thu, 05 Dec 2013 14:34:17 -0000 Message-ID: <20131205143417.81391.89407@eos.apache.org> Subject: =?utf-8?q?=5BCordova_Wiki=5D_Update_of_=22Platform_Engine=22_by_jbondc?= Auto-Submitted: auto-generated X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cordova Wiki" for c= hange notification. The "Platform Engine" page has been changed by jbondc: https://wiki.apache.org/cordova/Platform%20Engine?action=3Ddiff&rev1=3D1&re= v2=3D2 = =3D=3D Problem =3D=3D = - There's no clear definition of what defines a Cordova platform. Is it an = OS? Is it a rendering engine on top of an OS? Anything that satisfies the C= ordova api? + There's no clear definition of a Cordova platform. Is it an OS? Is it a r= endering engine on top of an OS? Anything that satisfies the Cordova api? = - As of this writing, there's currently 4 platforms officially supported (i= os, android, windows8, blackberry10) and an increasing number of additional= platforms. + As of this writing, there's 4 platforms officially supported (ios, androi= d, windows8, blackberry10) and an increasing number of additional platforms. = - In those 4 platforms, Android and Windows 8 have already evolved where se= veral rendering engines are available: + In those 4 platforms, Android and Windows 8 have evolved where several re= ndering engines are available: = =3D=3D=3D Android =3D=3D=3D = - WebView + * WebView - ChromeView - GeckoView + * [[https://github.com/pwnall/chromeview|ChromeView]] (working build pos= sible from KitKat release) + * [[http://people.mozilla.org/~mfinkle/geckoview/|GeckoView]] - Crosswalk [2]: https://github.com/crosswalk-project/crosswalk-cordova-and= roid + * [[https://github.com/crosswalk-project/crosswalk-cordova-android|Cross= walk]] = = =3D=3D=3D Windows 8 =3D=3D=3D = - WinJS 1.0 + * WinJS 1.0 - WinJS 2.0 (Windows 8.1) + * WinJS 2.0 (Windows 8.1) = Since plugins are tied to particular platform, it makes testing of plugin= s hard as the number of platforms increases. The state of plugins feels the= "Wild Wild West". = = - TODO: Talk about newer platforms based on Android or Chromium + TODO: Talk about newer platforms based on Android or Chromium. Distinguis= h HTML5/web rendering & native functionality of the OS (hardware etc...). = =3D=3D Solutions =3D=3D = - a) Define as platform as an OS that satisfies a core set of Cordova apis. = + Define as platform as: + = + '''A) An OS that satisfies the core Cordova apis.''' = Keep a few core platforms but use a new 'engine' flag = e.g. cli perspective + {{{ - > cordova prepare android #u= ses WebView of OS + # cordova prepare android #uses WebView of OS - > cordova prepare android -engine crosswalk #uses Crosswalk + # cordova prepare android -engine crosswalk #uses Crosswalk - > cordova prepare android -engine ChromeView #uses ChromeView bundled= jar + # cordova prepare android -engine ChromeView #uses ChromeView bundled = jar + }}} = + {{{ - > cordova prepare windows8 + # cordova prepare windows8 - > cordova prepare windows8 -engine v8.1 #uses/injects 8.1 c= ode + # cordova prepare windows8 -engine v8.1 #uses/injects 8.1 code - > cordova prepare windows8 -engine crosswalk #uses Crosswalk? + # cordova prepare windows8 -engine crosswalk #uses Crosswalk? + }}} = + '''B) An OS or engine that satisfies the core Cordova apis.''' - = - b) Define as platform as anything that satisfies a core set of Cordova ap= is. = = Make platforms 'compatible' = crosswalk-cordova-android 'compatibleWith' cordova-android windows81 'compatibleWith' windows8 = - Disadvantages: + '''Disadvantages:''' - - More 'platforms', overwhelming for user + * More 'platforms', overwhelming for user - - More code to maintain + * More code to maintain + = + '''C) ? ''' = =3D=3D Q & A =3D=3D =20