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 7FD5D18EAA for ; Tue, 26 Jan 2016 21:02:47 +0000 (UTC) Received: (qmail 72213 invoked by uid 500); 26 Jan 2016 21:02:47 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 72173 invoked by uid 500); 26 Jan 2016 21:02:47 -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 72156 invoked by uid 99); 26 Jan 2016 21:02:46 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jan 2016 21:02:46 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id B81C5DFF96; Tue, 26 Jan 2016 21:02:46 +0000 (UTC) From: sarangan12 To: dev@cordova.apache.org Reply-To: dev@cordova.apache.org References: In-Reply-To: Subject: [GitHub] cordova-docs pull request: CB-10331 & CB-10436 - Improving Overvie... Content-Type: text/plain Message-Id: <20160126210246.B81C5DFF96@git1-us-west.apache.org> Date: Tue, 26 Jan 2016 21:02:46 +0000 (UTC) Github user sarangan12 commented on a diff in the pull request: https://github.com/apache/cordova-docs/pull/465#discussion_r50899406 --- Diff: www/docs/en/dev/guide/overview/index.md --- @@ -45,39 +43,56 @@ Use Apache Cordova if you are: device-level APIs, or if you want to develop a plugin interface between native and WebView components. -## Basic Components +# Architecture -Apache Cordova applications rely on a common `config.xml` file that provides -information about the app and specifies parameters affecting how it -works, such as whether it responds to orientation shifts. This file -adheres to the W3C's -[Packaged Web App](http://www.w3.org/TR/widgets/), -or _widget_, specification. +There are several components to your cordova application. The following +diagram shows a high-level view of the cordova application architecture. + +![]({{ site.baseurl }}/static/img/guide/cordovaapparchitecture.png) -The application itself is implemented as a web page, by default a local -file named _index.html_, that references whatever CSS, JavaScript, -images, media files, or other resources are necessary for it to run. -The app executes as a _WebView_ within the native application wrapper, -which you distribute to app stores. +## WebView The Cordova-enabled WebView may provide the application with its entire user interface. On some platforms, it can also be a component within a larger, hybrid application that mixes the WebView with native -application components. (See [Embedding WebViews](../hybrid/webviews/index.html) for details.) - -A _plugin_ interface is available for Cordova and native components to -communicate with each other. This enables you to invoke native code -from JavaScript. Ideally, the JavaScript APIs to that native code are -consistent across multiple device platforms. As of version 3.0, plugins provide -bindings to standard device APIs. Third-party plugins provide -additional bindings to features not necessarily available on all -platforms. You can find these third-party plugins in the -[plugin registry](http://plugins.cordova.io) and use them in your -application. You can also develop your own plugins, as described in the -[Plugin Development Guide](../hybrid/plugins/index.html). Plugins may be necessary, for example, to -communicate between Cordova and custom native components. - -__NOTE__: As of version 3.0, when you create a Cordova project it does not have +application components. +(See [Embedding WebViews](../hybrid/webviews/index.html) for details.) + +## Web App + +This is the part where your application code resides. The application itself is +implemented as a web page, by default a local file named _index.html_, that +references whatever CSS, JavaScript, images, media files, or other resources +are necessary for it to run. The app executes in a _WebView_ within the native +application wrapper, which you distribute to app stores. + +This container has a very crucial file - `config.xml` file that provides +information about the app and specifies parameters affecting how it +works, such as whether it responds to orientation shifts. +(See [config.xml file](../../config_ref/index.html) for details.) + +## Plugins + +Plugins are the integral part of the cordova ecosystem. They basically provide +an interface for Cordova and native components to communicate with each +other and bindings to standard device APIs. This enables you to invoke native +code from JavaScript. + +Cordova provides a minimal set of plugins called core plugins. These core +plugins provide your application to access device capabilities such as +battery, camera, contacts, etc. Refer +[Plugin APIs](../../cordova/plugins/pluginapis.html) for further details. + +In addition to the core plugins, there are several third-party plugins which +provide additional bindings to features not necessarily available on all +platforms. You can find these third-party plugins [here](http://plugins.cordova.io) --- End diff -- Changed it --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastructure@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org For additional commands, e-mail: dev-help@cordova.apache.org