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 05B5018990 for ; Fri, 26 Feb 2016 01:00:08 +0000 (UTC) Received: (qmail 58788 invoked by uid 500); 26 Feb 2016 01:00:04 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 58739 invoked by uid 500); 26 Feb 2016 01:00:04 -0000 Mailing-List: contact commits-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list commits@cordova.apache.org Received: (qmail 57519 invoked by uid 99); 26 Feb 2016 01:00:03 -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; Fri, 26 Feb 2016 01:00:03 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id C4C0EE8F38; Fri, 26 Feb 2016 01:00:03 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: dblotsky@apache.org To: commits@cordova.apache.org Date: Fri, 26 Feb 2016 01:00:49 -0000 Message-Id: <698776b74f4a477fa3a33de6ec369e0b@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [48/51] [partial] docs commit: Renaming 6.0.0 to 6.x. http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/de/6.0.0/guide/appdev/security/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/6.0.0/guide/appdev/security/index.md b/www/docs/de/6.0.0/guide/appdev/security/index.md deleted file mode 100644 index 44ab9dd..0000000 --- a/www/docs/de/6.0.0/guide/appdev/security/index.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -license: > - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - -title: Sicherheitshandbuch ---- - -# Sicherheitshandbuch - -Die folgende Anleitung beinhaltet einige bewährte Sicherheitsmethoden, die Sie, beim Entwickeln einer Anwendung von Cordova beachten sollten. Bitte beachten Sie, dass die Sicherheit ist ein sehr kompliziertes Thema und deshalb dieses Handbuch ist nicht erschöpfend. Wenn Sie, dass Sie zu diesem Leitfaden dazu beitragen können glauben, wenden Sie sich bitte ein Thema in Cordova's Bug-Tracker unter ["Dokumentation"][1]abzulegen. Dieser Leitfaden soll auf allgemeine Cordova Entwicklung (alle Plattformen) anwendbar, aber Plattform-spezifischen Besonderheiten zu beachten. - - [1]: https://issues.apache.org/jira/browse/CB/component/12316407 - -## Dieses Handbuch behandelt die folgenden Themen: - -* Whitelist -* Iframes und die Id Rückrufmechanismus -* Zertifikat fixieren -* Selbstsignierte Zertifikate -* Verschlüsselte Speicherung -* Allgemeine Tipps -* Empfohlene Artikel und andere Ressourcen - -## Whitelist - -* Lesen und verstehen der [Whitelist-Guide](../whitelist/index.html) - -* Domain-Whitelist funktioniert nicht auf Android API 10 und unten und WP8 für Iframes und XMLHttpRequest. Dies bedeutet ein Angreifer kann einer beliebigen Domäne in einem Iframe laden und jedes Skript auf dieser Seite in Iframe direkt auf Cordova JavaScript-Objekte und die entsprechenden native Java-Objekte zugreifen kann. Sie sollten dies in Betracht ziehen, beim Erstellen von Anwendungen für diese Plattformen. In der Praxis bedeutet dies, um sicherzustellen, dass Sie Ziel einer höher als 10 Android API und, wenn möglich nicht Iframe zu verwenden, um externe Inhalte - laden das InAppBrowser-Plugin oder andere Drittanbieter Plug-ins verwenden. - -## Iframes und die Id Rückrufmechanismus - -Wenn Inhalte in einem Iframe aus einer Whitelist-Domäne bereitgestellt werden, haben diese Domäne Zugriff auf die native Cordova-Brücke. Dies bedeutet, dass Sie ein Drittanbieter-Werbe-Netzwerk Whitelist und dienen diese anzeigen über ein Iframe, ist es möglich, dass eine böswillige Anzeige ist aus Iframe ausbrechen und bösartige Aktionen ausführen können. Aus diesem Grund sollten Sie in der Regel nicht Iframes verwenden, wenn Sie den Server steuern, der den Iframe-Inhalt hostet. Beachten Sie, dass es Drittanbieter Plug-ins zur Verfügung gibt, um Werbe-Netzwerke zu unterstützen. Beachten Sie, dass diese Aussage nicht für iOS, nämlich alles gilt, einschließlich der Iframe Verbindungen abfängt. - -## Zertifikat fixieren - -Cordova unterstützt keine wahre Zertifikat zu fixieren. Das größte Hindernis für das ist ein Mangel an systemeigenen APIs in Android zum Abfangen des SSL-Verbindungen um die Überprüfung des Zertifikats des Servers ausführen. (Obwohl es fixieren auf Android in Java mit JSSE Zertifikat kann, die Webview auf Android in C++ geschrieben ist und Server-Verbindungen für Sie, indem die Webview verarbeitet werden, ist also es nicht möglich, Java und JSSE es zu verwenden.) Da Apache Cordova über mehrere Plattformen hinweg konsistent APIs bieten soll, bricht nicht mit einer Funktion in eine größere Plattform die Konsistenz. - -Es gibt Möglichkeiten zur Angleichung Zertifikat fixieren, z. B. Überprüfung, dass die öffentlichen Schlüssel des Servers (Fingerabdruck) der erwartete Wert ist, wenn die Anwendung gestartet wird oder zu anderen verschiedenen Zeiten während der Lebensdauer der Anwendung. Es gibt Drittanbieter Plug-ins zur Cordova, die das tun kann. Jedoch ist dies nicht dasselbe wie wahre Zertifikat fixieren, die automatisch den erwarteten Wert auf jede Verbindung zu dem Server überprüft. - -## Selbstsignierte Zertifikate - -Verwendung selbstsignierter Zertifikate auf dem Server wird nicht empfohlen. Wenn Sie SSL wünschen, ist dann es dringend empfohlen, dass Ihr Server über ein Zertifikat verfügen, die von einer bekannten Zertifizierungsstelle (Certificate Authority) richtig signiert wurde. Die Unfähigkeit auf true Zertifikat festhalten, ist dies wichtiger. - -Der Grund ist, dass selbstsignierte Zertifikate zu akzeptieren umgeht die Überprüfung der Zertifikatkette, wodurch jedes Serverzertifikat vom Gerät als gültig betrachtet werden. Dies eröffnet die Kommunikation für Man-in-the-Middle-Angriffe. Es wird sehr leicht für einen Hacker nicht nur abfangen und lesen die gesamte Kommunikation zwischen dem Gerät und dem Server, sondern auch um die Mitteilung zu ändern. Das Gerät wird nie erfahren, dass dies geschieht, weil es nicht überprüfen, ob der Server-Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert ist. Das Gerät hat keinen Beweis, dass der Server, der sie erwartet. Wegen der Leichtigkeit einen Man-in-the-Middle-Angriff zu tun ist es nur geringfügig besser als nur http anstelle von Https auf einem nicht vertrauenswürdigen Netzwerk ausgeführt, selbstsignierte Zertifikate zu akzeptieren. Ja, der Datenverkehr verschlüsselt werden würde, aber es könnte mit dem Schlüssel aus einem Man-in-the-Middle, verschlüsselt werden, so dass die Man-in-the-Middle alles, zugreifen kann, so dass Verschlüsselung nutzlos außer für passive Beobachter ist. Nutzer vertrauen SSL um sicher zu sein, und dies absichtlich verdiene es unsicher, so wird die SSL-Verwendung irreführend. Wenn dies auf einem vertrauenswürdigen Netzwerk verwendet wird (d. h., Sie sind völlig innerhalb eines kontrollierten Unternehmen), selbstsignierte Zertifikate noch nicht empfohlen werden. Die beiden Empfehlungen in einem vertrauenswürdigen Netzwerk sind nur http verwenden, da das Netzwerk selbst vertrauenswürdig ist oder ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (nicht selbstsigniert) unterzeichnet. Das Netzwerk vertrauenswürdig ist oder nicht. - -Die hier beschriebenen Prinzipien beziehen sich nicht auf Apache Cordova, sie gelten für alle Client-Server-Kommunikation. - -Beim Ausführen von Cordova auf Android verwenden `android:debuggable="true"` in der Anwendung Manifest erlauben SSL-Fehler, z. B. Zertifikat Kette Validierungsfehler auf selbstsignierte Zertifikate. So Sie selbstsignierte Zertifikate in dieser Konfiguration können, aber dies keine Konfiguration, die verwendet werden soll ist, wenn die Anwendung in der Produktion ist. Es soll nur während der Anwendungsentwicklung verwendet werden. - -## Verschlüsselte Speicherung - -(TBD) - -## Allgemeine Tipps - -### Verwenden Sie keine Android Gingerbread! - -* Legen Sie Ihr höher als 10 min-Ziel-Sdk-Niveau. API 10 ist Lebkuchen und Lebkuchen wird nicht mehr von Google oder Geräte-Herstellern unterstützt und wird daher nicht empfohlen von Cordova-Team. -* Lebkuchen nachweislich unsicher und einer der wichtigsten gezielte mobile OSs [http://www.mobilemag.com/2012/11/06/andriod-2-3-gingerbread-security/][2]. -* Die Whitelist auf Android funktioniert nicht mit Lebkuchen oder niedriger. Dies bedeutet, dass ein Angreifer schädlichen Code in einem Iframe geladen werden kann, das müsste dann Zugriff auf alle von Cordova-APIs und können, dass der Zugang zu persönliche Daten stehlen, SMS-Nachrichten an Premium-Rate-Nummern zu schicken und andere böswillige Aktionen durchzuführen. - - [2]: http://bgr.com/2012/11/06/android-security-gingerbread-malware/ - -### InAppBrowser für externe Links verwenden - -* Verwenden Sie die InAppBrowser beim Öffnen von Links zu externen Websites. Das ist viel sicherer als Whitelisting eines Domain-namens und einschließlich der Inhalte direkt in der Anwendung, da die InAppBrowser der native Browser-Sicherheits-Features verwenden und nicht die Website geben auf Ihre Cordova-Umgebung Zugriff. Selbst wenn Sie der Website Dritter Vertrauen und direkt in Ihre Anwendung aufnehmen, kann diese Websites Dritter schädlichen Webinhalten verknüpfen. - -### Validieren Sie alle Benutzereingaben - -* Überprüfen Sie immer alle Eingaben, die die Anwendung akzeptiert. Dazu gehören Benutzernamen, Kennwörter, Termine, hochgeladen Medien usw.. Da ein Angreifer Ihr HTML und JS Vermögen (entweder durch Dekompilierung der Anwendung oder mithilfe von debugging-Tools wie Chrome://inspect) manipulieren könnte, sollten diese Validierung auch auf Ihrem Server durchgeführt werden, insbesondere vor der Übergabe der Daten an einen Back-End-Dienst. -* Andere Quellen, wo die Daten überprüft werden sollten: Benutzerdokumente, Kontakte, push-Benachrichtigungen - -### Sensible Daten nicht zwischenspeichern - -* Wenn Benutzernamen, Kennwort, Geolocation-Informationen und andere sensiblen Daten werden zwischengespeichert, konnte dann es möglicherweise später durch ein nicht autorisierter Benutzer oder eine Anwendung abgerufen werden. - -### Verwenden Sie keine eval(), es sei denn, Sie wissen was Sie tun - -* Die JavaScript-Funktion eval() hat eine lange Geschichte, die missbraucht werden. Benutze es falsch kann Ihren Code für Injection-Angriffen, Debuggen von Schwierigkeiten und langsamer Ausführung von Code öffnen. - -### Nicht davon ausgehen Sie, dass der Quellcode sicher ist - -* Da eine Anwendung von Cordova aus HTML und JavaScript basiert, die in einem einheitlichen Container gepackt bekommen, sollten Sie nicht Ihr Code sicher sein. Es ist möglich, reverse Engineering eine Cordova-Anwendung. - -## Empfohlene Artikel und andere Ressourcen - -* [HTML5-Sicherheit-Spickzettel, Detaillierung die HTML5-Anwendung sichern][3] -* [PhoneGap's Artikel auf Gerätesicherheit, wie die Verwendung von verschlüsselten Daten][4] -* [Whitepaper über bekannte Sicherheitslücken in Webview basierte Hybridanwendungen][5] - - [3]: https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet - [4]: https://github.com/phonegap/phonegap/wiki/Platform-Security - [5]: http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/de/6.0.0/guide/appdev/whitelist/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/6.0.0/guide/appdev/whitelist/index.md b/www/docs/de/6.0.0/guide/appdev/whitelist/index.md deleted file mode 100644 index 2715cec..0000000 --- a/www/docs/de/6.0.0/guide/appdev/whitelist/index.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -license: > - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - -title: Whitelist-Guide ---- - -# Whitelist-Guide - -Domain-Whitelist ist ein Sicherheitsmodell, das den Zugriff steuert an externe Domänen, die auf die Anwendung keine Kontrolle hat. Cordova bietet eine konfigurierbare Sicherheitspolitik definieren, welche externen Websites zugegriffen werden können. Standardmäßig werden neue apps so konfiguriert, dass Zugriff auf jeder Website. Sie sollten vor dem Umzug Ihre Anwendung auf die Produktion, eine Whitelist zu formulieren und ermöglichen den Zugriff auf bestimmte Netzwerk-Domains und Sub-Domains. - -Für Android und iOS (Stand ihren 4,0 Releases) ist Cordovas Sicherheitspolitik erweiterbar über eine Plugin-Schnittstelle. Ihre Anwendung sollte [Cordova-Plugin-Whitelist][1], verwenden, wie es höhere Sicherheit und Konfigurierbarkeit als frühere Versionen von Cordova bietet. Es ist, zwar möglich, eigene Whitelist-Plugin implementieren empfiehlt es sich nicht, wenn Ihre app sehr spezifischen Sicherheitsanforderungen Politik hat. Finden Sie die [Cordova-Plugin-Whitelist][1] für Informationen zur Verwendung und Konfiguration. - - [1]: https://github.com/apache/cordova-plugin-whitelist - -Für andere Plattformen entspricht Cordova der [W3C Widget Zugang][2]-Spezifikation, die auf die `< access >`-Element innerhalb `der app Datei config.XML aktivieren Netzwerkzugriff auf bestimmte Domänen` angewiesen ist. Für Projekte, die auf der CLI-Workflow in der Command-Line Interface beschrieben, befindet sich diese Datei im Wurzelverzeichnis des Projekts. Sonst sind die Standorte für plattformspezifische Entwicklungswege, in den folgenden Abschnitten aufgeführt. (Siehe die verschiedenen Plattform-Leitfäden für weitere Informationen auf jeder Plattform.) - - [2]: http://www.w3.org/TR/widgets-access/ - -Die folgenden Beispiele veranschaulichen `< access >` Whitelist-Syntax: - -* Zugang zu [google.com][3]: - - - - -* Zugriff auf die sicheren [google.com][4] ( `https://` ): - - - - -* Zugriff auf die Subdomain [maps.google.com][5]: - - - - -* Zugriff auf alle Subdomains von [google.com][3], z. B. [mail.google.com][6] und [docs.google.com][7]: - - - - -* Zugriff auf *alle* Domänen, z. B. [Google.de][3] und [developer.mozilla.org][8]: - - - - - Dies ist der Standardwert für neu erstellte CLI-Projekte. - - [3]: http://google.com - [4]: https://google.com - [5]: http://maps.google.com - [6]: http://mail.google.com - [7]: http://docs.google.com - [8]: http://developer.mozilla.org - -Beachten Sie, dass einige Webseiten automatisch auf deren Homepage zu einer anderen Url, z. B. mit Https-Protokoll oder eine landesspezifische Domain umleiten können. Zum Beispiel http://www.google.com leitet sich für die Nutzung von SSL/TLS bei https://www.google.com, und dann kann weiter leiten in eine geography-Instanz wie https://www.google.co.uk. Solche Szenarien erfordern veränderte oder zusätzliche Whitelist-Einträge über Ihre ersten Bedarfs. Bitte berücksichtigen Sie dies, wie Sie Ihre Whitelist erstellen. - -Beachten Sie, dass die weiße Liste nur für die wichtigsten Cordova Webview gilt und nicht für eine InAppBrowser Webview oder Öffnung Links in der System-Web-Browser gilt. - -## Amazon Fire OS Whitelisting - -Plattformspezifische Whitelisting-Regeln werden in `res/xml/config.xml` gefunden. - -## Android Whitelisting - -Wie oben, siehe [Cordova-Plugin-Whitelist][1] für Details. Cordova-Android vor 4.0.0 finden Sie unter älteren Versionen dieser Dokumentation. - -## iOS Whitelisting - -Wie oben, siehe [Cordova-Plugin-Whitelist][1] für Details. Cordova-Ios vor 4.0.0 finden Sie unter älteren Versionen dieser Dokumentation. - -## BlackBerry 10 Whitelisting - -Die Whitelist-Regeln werden in `www/config.xml` gefunden.. - -BlackBerry 10 Verwendung von Platzhaltern unterscheidet sich von anderen Plattformen auf zwei Arten: - -* Alle Inhalte erreichbar `XMLHttpRequest` muss explizit deklariert werden. Festlegen von `origin="*"` funktioniert nicht in diesem Fall. Alternativ kann die gesamte Websicherheit verwenden die `WebSecurity`-Präferenz beschrieben in [BlackBerry-Konfiguration](../../platforms/blackberry/config.html) deaktiviert werden: - - - - -* Als Alternative zur Einstellung `*.domain` ein zusätzliche `Subdomains`-Attribut auf `true` festgelegt. Es sollte standardmäßig auf `false` festgelegt werden. Beispielsweise ermöglicht Folgendes den Zugriff auf `google.com` und `maps.google.com` `docs.google.com`: - - - - - Die folgenden Narrows-Zugang zu `google.com`: - - - - - Geben Sie Zugriff auf alle Domänen, einschließlich lokalen `file://` Protokoll an: - - - - -(Weitere Informationen zum Support finden Sie BlackBerry Dokumentation auf dem [Access-element][9].) - - [9]: https://developer.blackberry.com/html5/documentation/ww_developing/Access_element_834677_11.html - -## Firefox-OS - -In Firefox-OS gibt es kein Konzept für Whitelisting eine bestimmte Domäne. Stattdessen gibt es eine Ausnahmegenehmigung, genannt [SystemXHR][10]. Besteht die Notwendigkeit dieser Berechtigung `"config.xml"` hinzu: - - [10]: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#Permissions - - - - - - -Das `XMLHttpRequest`-Objekt muss mit zwei Parametern `MozAnon` und `MozSystem` instanziiert werden: - - var request = new XMLHttpRequest({ - mozAnon: true, - mozSystem: true}); - - -Diese Lösung ist transparent, so gibt es keinen Unterschied für andere Plattformen. - -## Windows Phone Whitelisting - -Die Whitelist-Regeln für Windows Phone 8 befinden sich in der app Datei `config.xml`. - -## Tizen Whitelisting - -Whitelisting-Regeln werden in der app-`config.xml`-Datei gefunden. Die Plattform basiert auf dem gleichen `subdomains`-Attribut als die BlackBerry-Plattform. (Weitere Informationen zur Unterstützung finden Sie Tizens Dokumentation für das [Access-element][11].) - - [11]: https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.web.appprogramming%2Fhtml%2Fide_sdk_tools%2Fconfig_editor_w3celements.htm \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/de/6.0.0/guide/cli/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/6.0.0/guide/cli/index.md b/www/docs/de/6.0.0/guide/cli/index.md deleted file mode 100644 index d4ac64c..0000000 --- a/www/docs/de/6.0.0/guide/cli/index.md +++ /dev/null @@ -1,418 +0,0 @@ ---- -license: > - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - -title: Die Befehlszeilenschnittstelle ---- - -# Die Befehlszeilenschnittstelle - -Diese Anleitung zeigt Ihnen, wie Anwendungen zu erstellen und auf verschiedene native mobile Plattformen mit Bereitstellen der `cordova` Befehlszeilenschnittstelle (CLI). Mit diesem Tool können Sie neue Projekte erstellen und bauen sie auf verschiedenen Plattformen laufen auf echten Geräten oder innerhalb von Emulatoren. Die CLI ist das wichtigste Hilfsmittel für die Cross-Plattform-Workflow in der [Übersicht](../overview/index.html) beschrieben verwenden. Ansonsten können Sie auch die CLI Projektcode zu initialisieren, dann wechseln Sie in die verschiedenen Plattformen SDKs und Shell-Hilfsmittel für die weitere Entwicklung. - -## Voraussetzungen - -Sie müssen vor dem Ausführen alle Kommandozeilen-Tools, SDKs für jede Plattform zu installieren, möchten Sie als Ziel. (Siehe die Plattform-Führer für weitere Details). - -Hinzufügen von Unterstützung oder ein Projekt für jede Plattform neu erstellen, müssen Sie die Befehlszeilenschnittstelle aus dem gleichen Computer ausführen, die die Plattform SDK unterstützt. Die CLI unterstützt die folgenden Kombinationen: - -* iOS (Mac) -* Amazon Fire Betriebssystem (Mac, Linux, Windows) -* Android (Mac, Linux, Windows) -* BlackBerry 10 (Mac, Linux, Windows) -* Windows Phone 8 (Windows) -* Windows (Windows) -* Firefox Betriebssystem (Mac, Linux, Windows) - -Auf dem Mac ist die Befehlszeile über die *Terminal* -Anwendung verfügbar. Auf dem PC steht als *Eingabeaufforderung* unter *Zubehör*. - -**Hinweis**: für nur-Windows-Plattformen, noch kann Ihre Entwicklung auf Mac-Hardware unter Windows in einer virtuellen Umgebung oder im Dual-Boot-Modus. Verfügbaren Optionen finden Sie unter der Windows Phone 8 Platform Guide oder die Anleitung für die Windows-Plattform. - -Desto wahrscheinlicher ist es, dass die CLI von verschiedenen Maschinen ausführen, desto mehr macht es Sinn, einen entfernten Quellcode-Repository, deren Vermögen verwalten Sie zu lokalen Arbeitsverzeichnisse-down Pull. - -## Installieren der Cordova-CLI - -Das Befehlszeilentool Cordova ist als Npm-Paket in ein Ready-to-Use-Format verteilt. Es ist nicht notwendig, um es von Quellcode kompilieren. - -Installieren der `cordova` Command-line tool, gehen Sie folgendermaßen vor: - -1. Downloaden und Installieren von [Node.js][1]. Nach der Installation sollte man in der Lage, rufen Sie `node` und `npm` auf der Befehlszeile. Falls gewünscht, optional verwenden Sie ein Tool wie `nvm` oder `nave` , Ihre Node.js-Installation zu verwalten. - -2. Downloaden Sie und installieren Sie ein [Git-Client][2], wenn Sie nicht bereits ein haben. Nach der Installation sollte man in der Lage, rufen Sie `git` auf der Befehlszeile. Auch wenn Sie nicht verwenden `git` manuell, nutzt die CLI es hinter den Kulissen um einige Vermögenswerte herunterladen, wenn Sie ein neues Projekt zu erstellen. - -3. Installieren der `cordova` Modul mit `npm` von Node.js-Dienstprogramm. Das `cordova` Modul wird automatisch heruntergeladen werden, indem die `npm` Dienstprogramm. - - [1]: http://nodejs.org/ - [2]: http://git-scm.com/ - -* auf OS X und Linux: - - $ sudo npm install -g cordova - - - Auf OS X und Linux voranstellen der `npm` mit Befehl `sudo` kann erforderlich sein, um diese Entwicklung zu installieren-Dienstprogramm in andere Art eingeschränkt Verzeichnisse wie `/usr/local/share` . Wenn Sie für das Installationsverzeichnis Schreibrechte oder das optionale Nvm/Kirchenschiff-Tool verwenden, können Sie möglicherweise auslassen der `sudo` Präfix. Es gibt [Weitere Tipps][3] zur Verwendung von `npm` ohne `sudo` , wenn Sie das tun wollen. - -* unter Windows: - - C:\>npm install -g cordova - - - Das `-g` Flag oben teilt `npm` Installieren `cordova` weltweit. Andernfalls wird es installiert werden, der `node_modules` Unterverzeichnis des aktuellen Arbeitsverzeichnis. - - Möglicherweise müssen Sie Hinzufügen der `npm` Verzeichnis in Ihrem `PATH` weltweit installierten Inanspruchnahme `npm` Module. Unter Windows `npm` in der Regel finden Sie unter `C:\Users\username\AppData\Roaming\npm` . Auf OS X und Linux kann es in der Regel bei gefunden werden`/usr/local/share/npm`. - - Das Installationsprotokoll kann Fehler für alle deinstallierten Platform SDKs erzeugen. - - Nach der Installation sollte man laufen `cordova` in der Befehlszeile keine Argumente und es sollte Hilfetext drucken. - - [3]: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears - -## Erstellen Sie die App - -Gehe in das Verzeichnis wo verwalten Sie Ihren Quellcode, und führen Sie einen Befehl wie den folgenden: - - $ cordova create hello com.example.hello HelloWorld - - -Es kann einige Zeit dauern für den Befehl abgeschlossen, also etwas Geduld. Ausführen des Befehls mit der `-d` Option zeigt Informationen über den Fortschritt. - -Das erste Argument *Hallo* gibt ein Verzeichnis für Ihr Projekt generiert werden. Dieses Verzeichnis sollte nicht bereits vorhanden, Cordova wird es für Sie erstellen. Seine `www` Unterverzeichnis Häuser Ihre Anwendung-Homepage, zusammen mit verschiedenen Ressourcen unter `css` , `js` , und `img` , die gemeinsame Web Entwicklung Dateibenennungskonventionen folgen. Diese Vermögenswerte werden lokalen Dateisystem des Geräts, nicht aus der Ferne bedient gespeichert. Die `config.xml` -Datei enthält wichtige Metadaten erzeugen und Verteilen der Anwendung erforderlich. - -Das zweite Argument `com.example.hello` stellt Ihr Projekt mit einem reverse Domain-Stil-Bezeichner. Dieses Argument ist optional, aber nur, wenn Sie auch das dritte Argument weglassen, da die Argumente positionelle sind. Sie können diesen Wert später in bearbeiten die `config.xml` Datei, aber beachten Sie, dass es möglicherweise außerhalb der generierte Code `config.xml` mit diesem Wert, wie z. B. Java-Package-Namen. Der Standardwert ist `io.cordova.hellocordova` , aber es wird empfohlen, dass Sie einen geeigneten Wert auswählen. - -Das dritte Argument `HelloWorld` bietet die Anwendung Anzeigetitel. Dieses Argument ist optional. Sie können diesen Wert später in bearbeiten die `config.xml` Datei, aber beachten Sie, dass es möglicherweise außerhalb der generierte Code `config.xml` mit diesem Wert, wie z. B. Java Klassennamen. Der Standardwert ist `HelloCordova` , aber es wird empfohlen, dass Sie einen geeigneten Wert auswählen. - -## Hinzufügen von Plattformen - -Alle nachfolgenden Befehle müssen in das Verzeichnis des Projekts oder eines der Unterverzeichnisse innerhalb des Bereichs ausgeführt werden: - - $ cd hello - - -Bevor Sie das Projekt erstellen, müssen Sie eine Reihe von Zielplattformen angeben. Ihre Fähigkeit, diese Befehle ausführen hängt davon ab, ob Ihre Maschine jede SDK unterstützt, und ob Sie bereits installiert jedes SDK. Führen Sie einen der folgenden von einem Mac: - - $ cordova platform add ios - $ cordova platform add amazon-fireos - $ cordova platform add android - $ cordova platform add blackberry10 - $ cordova platform add firefoxos - - -Führen Sie einen aus einer Windows-Maschine, wo verschiedene Versionen des Betriebssystems Windows Phone *wp* bezeichnet: - - $ Cordova Plattform hinzufügen wp8 $ Cordova Plattform hinzufügen Fügen Sie $ Cordova Plattform Windows Amazon-Fireos $ Cordova Plattform hinzufügen android $ Cordova Plattform hinzufügen blackberry10 $ Cordova Plattform hinzufügen Firefoxos - - -Führen Sie diese um Ihren aktuellen Satz von Plattformen zu überprüfen: - - $ cordova platforms ls - - -(Beachten Sie die `platform` und `platforms` Befehle werden synonym verwendet.) - -Führen Sie einen der folgenden Synonym Befehle, eine Plattform zu entfernen: - - $ cordova platform remove blackberry10 - $ cordova platform rm amazon-fireos - $ cordova platform rm android - - -Ausführen Befehle hinzufügen oder Entfernen von Plattformen wirkt sich auf den Inhalt des Verzeichnis des Projekts *Plattformen* , wo jede angegebene Plattform als Unterverzeichnis angezeigt wird. Das *Www* -Quellverzeichnis wird wiedergegeben in jede Plattform-Unterverzeichnis, erscheinen zum Beispiel in `platforms/ios/www` oder `platforms/android/assets/www` . Da die CLI ständig über Dateien aus dem *Www* -Quellordner kopiert, sollten Sie nur diese Dateien und nicht diejenigen, die die *Plattformen* Unterverzeichnisse unterhalb bearbeiten. Wenn Sie Software für die Versionskontrolle verwenden, sollten Sie diese Quelle *Www* Ordner, zusammen mit Ordner *führt* zu Ihrem Versionsverwaltungssystem hinzufügen. (Weitere Informationen zum *verschmilzt* -Ordner finden Sie im Abschnitt Anpassen von jeder Plattform). - -**Warnung**: Wenn die CLI verwenden, um Ihre Anwendung zu erstellen, sollten Sie *nicht* bearbeiten, Dateien in, das `/platforms/` Verzeichnis, wenn Sie wissen, was du tust, oder wenn die Dokumentation nicht anders angegeben. Die Dateien in diesem Verzeichnis werden routinemäßig überschrieben, wenn Anwendungen für Gebäude vorbereiten oder Plugins installiert werden. - -Möchten Sie an dieser Stelle, können Sie eine SDK wie Eclipse oder Xcode verwenden, um das Projekt zu öffnen, die, das Sie erstellt. Sie müssen die abgeleitete Gruppe von Vermögenswerten aus öffnen die `/platforms/` Verzeichnis mit einem SDK entwickeln. Dies ist da die SDK-spezifische Metadaten-Dateien, innerhalb der entsprechenden gespeichert werden `/platform/` Unterverzeichnis. (Siehe die Plattform-Führer für Informationen zum Entwickeln von Anwendungen in jeder IDE.) Verwenden Sie diese Methode, wenn Sie möchten einfach Initialisieren eines Projekts mit der CLI und wechseln Sie dann zu einem SDK für native Arbeit. - -Lesen Sie weiter, wenn Sie das plattformübergreifende Workflow-Konzept (CLI) für den gesamten Entwicklungszyklus verwenden möchten. - -## Die App zu bauen - -In der Standardeinstellung der `cordova create` Skript generiert eine Skeletts Web-basierte Anwendung, deren Homepage des Projekts ist `www/index.html` Datei. Diese Anwendung zu bearbeiten, aber Sie wollen, aber Initialisierungen werden, als Teil angegeben sollte der `[deviceready](../../cordova/events/events.deviceready.html)` -Ereignishandler, standardmäßig von verwiesen`www/js/index.js`. - -Führen Sie den folgenden Befehl, um das Projekt iterativ zu erstellen: - - $ cordova build - - -Dies erzeugt plattformspezifischer Code innerhalb des Projekts `platforms` Unterverzeichnis. Optional können Sie den Bereich der einzelnen Builds auf bestimmten Plattformen einschränken: - - $ cordova build ios - - -Der `cordova build` Befehl ist eine Kurzform für die folgenden, die in diesem Beispiel auch auf einer einzigen Plattform ausgerichtet ist: - - $ cordova prepare ios - $ cordova compile ios - - -In diesem Fall einmal ausführen `prepare` , können Sie Apples Xcode SDK als Alternative zu ändern und kompilieren Sie den Plattform-spezifischen Code, die in Cordova generiert `platforms/ios` . Sie können den gleichen Ansatz mit anderen Plattformen SDKs. - -## Testen Sie die App auf einem Emulator oder Gerät - -SDKs für mobile Plattformen kommen oft mit Emulatoren, die ein Gerätebild ausgeführt, so dass Sie können starten Sie die app aus dem home-Bildschirm und Interaktion mit vielen Plattformfeatures gebündelt. Führen Sie einen Befehl wie den folgenden erstellen Sie die Anwendung neu und innerhalb einer bestimmten Plattform Emulator anzeigen: - - $ cordova emulate android - - -Einige mobilen Plattformen emulieren ein bestimmtes Gerät wie das iPhone für iOS-Projekte in der Standardeinstellung. Für die anderen Plattformen müssen Sie zuerst ein Gerät mit einem Emulator zuordnen. - -**Hinweis**: Emulator Unterstützung ist derzeit nicht für Amazon Fire OS. - -(Siehe die Plattform-Führer für Details.) Beispielsweise Sie möglicherweise zunächst führen Sie den `android` Befehl zum Starten des Android SDK, dann führen Sie ein bestimmtes Gerät-Image, das es laut sein Standardverhalten startet: - -![][4] - - [4]: {{ site.baseurl }}/static/img/guide/cli/android_emulate_init.png - -Folgende oben mit den `cordova emulate` Befehl aktualisiert das Emulator-Bild, um die neueste Anwendung angezeigt, die jetzt für den Start aus dem home-Bildschirm vorhanden ist: - -![][5] - - [5]: {{ site.baseurl }}/static/img/guide/cli/android_emulate_install.png - -Alternativ können Sie schließen den Hörer an den Computer und testen die app direkt: - - $ cordova run android - - -Bevor Sie diesen Befehl ausführen, müssen Sie das Gerät zum Testen einrichten nach Verfahren, die für jede Plattform variieren. In Android und Amazon-Feuer-OS-Geräte müssten Sie eine Option **USB-debugging** auf dem Gerät zu aktivieren, und vielleicht einen USB-Treiber je nach Ihrer Entwicklung-Environmnent. Einzelheiten über jede Plattform Anforderungen finden Sie unter Plattform Guides. - -## Plugin-Features hinzufügen - -Wenn Sie erstellen und eines neues Projekts anzeigen, nicht sehr viel die Standardanwendung, die angezeigt wird. Sie können ändern, die app in vielerlei Hinsicht zu standard-Web-Technologien nutzen, aber für die app eng mit verschiedenen Geräteebene Features zu kommunizieren, müssen Sie Plugins hinzufügen, die Zugriff auf Kern-Cordova-APIs. - -Ein *Plugin* ist ein Add-on-Code, die eine Schnittstelle zu systemeigenen Komponenten bereitstellt. Sie können Ihr eigenes Plugin-Schnittstelle, z. B. wenn eine Hybrid-app zu entwerfen, die einen Cordova WebView mit systemeigenen Komponenten mischt entwerfen. (Siehe Einbettung Webansichten für und [Plugin Development Guide][6] für Details.) Häufiger, fügen Sie eine Plugin um eine Cordovas Geräteebene Grundfunktionen in der API-Referenz detailliert aktivieren. - - [6]: guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide - -Ab der Version 3.0 beim Erstellen eines Projekts Cordova hat es irgendwelche Plugins vorhanden keinen. Dies ist das neue Standardverhalten. Alle Plugins, die Sie wünschen, die auch die Core-Plugins muss explizit hinzugefügt werden. - -Eine Liste dieser Plugins, einschließlich zusätzliche Drittanbieter Plug-ins der Gemeinschaft finden Sie in der Registrierung unter [plugins.cordova.io][7]. Die CLI können Sie Plugins aus dieser Registrierung suchen. Z. B. Suche nach `bar` und `code` erzeugt ein einzelnes Ergebnis, die beide Begriffe als groß-und Kleinschreibung Teilzeichenfolgen entspricht: - - [7]: http://plugins.cordova.io/ - - $ cordova plugin search bar code - - com.phonegap.plugins.barcodescanner - Scans Barcodes - - -Nur bei der Suche nach der `bar` Erträge und weiteres Ergebnis: - - cordova-plugin-statusbar - Cordova StatusBar Plugin - - -Der `cordova plugin add` Befehl müssen Sie das Repository für den Plugin-Code angeben. Hier sind Beispiele für die Verwendung der CLI die app Features hinzugefügt: - -* Grundlegenden Geräteinformationen (Device-API): - - $ cordova plugin add cordova-plugin-device - - -* Netzwerkverbindung und Batterie-Veranstaltungen: - - $ cordova plugin add cordova-plugin-network-information - $ cordova plugin add cordova-plugin-battery-status - - -* Beschleunigungssensor, Kompass und Geolocation: - - $ cordova plugin add cordova-plugin-device-motion - $ cordova plugin add cordova-plugin-device-orientation - $ cordova plugin add cordova-plugin-geolocation - - -* Kamera, Medien-Wiedergabe und Aufnahme: - - $ cordova plugin add cordova-plugin-camera - $ cordova plugin add cordova-plugin-media-capture - $ cordova plugin add cordova-plugin-media - - -* Zugriff auf Dateien auf Gerät oder Netzwerk (File API): - - $ cordova plugin add cordova-plugin-file - $ cordova plugin add cordova-plugin-file-transfer - - -* Benachrichtigung per Dialogfeld oder Vibration: - - $ cordova plugin add cordova-plugin-dialogs - $ cordova plugin add cordova-plugin-vibration - - -* Kontakte: - - $ cordova plugin add cordova-plugin-contacts - - -* Globalisierung: - - $ cordova plugin add cordova-plugin-globalization - - -* SplashScreen: - - $ cordova plugin add cordova-plugin-splashscreen - - -* Neue Browserfenster öffnen (InAppBrowser): - - $ cordova plugin add cordova-plugin-inappbrowser - - -* Debug-Konsole: - - $ cordova plugin add cordova-plugin-console - - -**Hinweis**: die CLI fügt Plugin-Code entsprechend für jede Plattform. Wenn Sie mit Low-Level-Shell-Werkzeugen oder Platform SDKs wie in der [Übersicht](../overview/index.html) beschrieben entwickeln wollen, müssen Sie das Plugman-Dienstprogramm zum Hinzufügen von Plugins separat für jede Plattform ausführen. (Weitere Informationen finden Sie unter Using Plugman zu Plugins verwalten.) - -Verwendung `plugin ls` (oder `plugin list` , oder `plugin` von selbst) derzeit anzeigen Plugins installiert. Jede zeigt durch seinen Bezeichner: - - $ cordova plugin ls # or 'plugin list' - [ 'cordova-plugin-console' ] - - -Um ein Plugin zu entfernen, finden Sie es durch den gleichen Bezeichner, der in der Liste angezeigt wird. Zum Beispiel, ist hier, wie Sie Unterstützung für eine Debug-Konsole aus einer Release-Version entfernen würde: - - $ cordova plugin rm cordova-plugin-console - $ cordova plugin remove cordova-plugin-console # same - - -Sie können Batch-entfernen oder Hinzufügen von Plugins durch mehr als ein Argument für jeden Befehl angeben: - - $ cordova plugin add cordova-plugin-console cordova-plugin-device - - -## Erweiterte Plugin-Optionen - -Wenn Sie eine Plugin hinzufügen, können mehrere Optionen Sie angeben, wo Sie das Plugin zu holen. Die obigen Beispiele verwenden eine bekannte `registry.cordova.io` Registrierung und das Plugin wird angegeben durch die `id` : - - $ cordova plugin add cordova-plugin-console - - -Die `id` kann auch die Plugin-Versionsnummer, angefügt nach enthalten einen `@` Charakter. Die `latest` Version ist ein Alias für die aktuellste Version. Zum Beispiel: - - $ cordova plugin add cordova-plugin-console@latest - $ cordova plugin add cordova-plugin-console@0.2.1 - - -Wenn das Plugin nicht registriert ist `registry.cordova.io` aber befindet sich in einem anderen Git Repository, Sie können eine Alternative URL angeben: - - $ cordova plugin add https://github.com/apache/cordova-plugin-console.git - - -Das Git-Beispiel oben holt das Plugin vom Ende des Zweiges master, aber eine Alternative Git-Ref z. B. einen Tag oder Zweig kann angehängt werden, nach einem `#` Charakter: - -Installieren von einem Tag: - - $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#r0.2.0 - - -oder einer Zweigniederlassung: - - $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#CB-8438cordova-plugin-console - - -oder Git-Ref wäre auch ein bestimmtes Commit: - - $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#f055daec45575bf08538f885e09c85a0eba363ff - - -Wenn das Plugin (und seine Datei `plugin.xml` ) in einem Unterverzeichnis innerhalb der Git Repo ist, können Sie es mit einem `:` -Zeichen angeben. Beachten Sie, dass das Zeichen `#` noch benötigt wird: - - $ cordova plugin add https://github.com/someone/aplugin.git#:/my/sub/dir - - -Sie können auch die Git-Ref und das Unterverzeichnis kombinieren: - - $ cordova plugin add https://github.com/someone/aplugin.git#r0.0.1:/my/sub/dir - - -Alternativ geben Sie einen lokalen Pfad in das Pluginverzeichnis die Datei `plugin.xml` enthaltenen: - - $ cordova plugin add ../my_plugin_dir - - -## Verwendung von *merges* , auf jeder Plattform anpassen - -Während Cordova auf einfache Weise eine app für viele verschiedene Plattformen bereitstellen kann, müssen Sie manchmal Anpassungen hinzufügen. In diesem Fall möchten nicht Sie die Quelldateien in verschiedenen `www` -Verzeichnisse in das Verzeichnis der obersten Ebene `platforms` ändern, weil sie regelmäßig mit der obersten Ebene `www` -Verzeichnis plattformübergreifende Quelle ersetzt sind. - -Stattdessen bietet das Verzeichnis der obersten Ebene `merges` einen Ort um Vermögenswerte auf bestimmten Plattformen bereitstellen anzugeben. Jedes plattformspezifischen Unterverzeichnis innerhalb `merges` spiegelt die Verzeichnisstruktur des `www` Source-Trees, sodass Sie überschreiben oder Dateien nach Bedarf hinzufügen. Hier ist beispielsweise, wie Sie verwendet `merges` zur Erhöhung der Standardschriftgrad für Android und Amazon Fire OS Geräte könnten: - -* Bearbeiten Sie die `www/index.html` Datei, Hinzufügen eines Links zu einer weiteren CSS-Datei `overrides.css` in diesem Fall: - - - - -* Erstellen Sie optional ein leeres `www/css/overrides.css` Datei, die für alle nicht-Android Builds, einen fehlende Datei-Fehler zu verhindern, gelten würden. - -* Erstellen einer `css` Unterverzeichnis innerhalb `merges/android` , fügen Sie eine entsprechende `overrides.css` Datei. Angeben von CSS, die den angegebenen innerhalb 12-Punkt-Standard-Schriftgrad überschreibt `www/css/index.css` , zum Beispiel: - - body { font-size:14px; } - - -Wenn Sie das Projekt neu erstellen, verfügt die Android Version die benutzerdefinierte Schriftgröße, während andere unverändert bleiben. - -Sie können `merges` auch zum Hinzufügen von Dateien in das ursprüngliche `Www` -Verzeichnis nicht vorhanden. Beispielsweise kann eine app integrieren eine *zurück-Schaltfläche* Grafik in die iOS-Benutzeroberfläche, gespeichert in `merges/ios/img/back_button.png`, während die Android Version stattdessen `Backbutton` Ereignisse über die entsprechende Taste erfassen kann. - -## Hilfebefehle - -Cordova verfügt über ein paar globale Befehle, die Ihnen helfen können, wenn Sie stecken bleiben oder ein Problem. Der Befehl `help` zeigt alle verfügbaren Cordova-Befehle und deren Syntax: - - $ cordova help - $ cordova # same - - -Darüber hinaus erhalten Sie weitere detaillierte Hilfe zu einem bestimmten Befehl. Zum Beispiel: - - $ cordova run --help - - -Der `Info` -Befehl erzeugt eine Liste von potentiell nützliche Details, wie derzeit installierten Plattformen und Plugins, für jede Plattform SDK-Versionen und Versionen der CLI und `node.js`: - - $ cordova info - - -Es stellt die Informationen zum Bildschirm und erfasst die Ausgabe in einer lokalen `info.txt` Datei. - -**Hinweis**: Derzeit sind nur Details auf iOS und Android-Plattformen verfügbar. - -## Aktualisierung von Cordova und Ihr Projekt - -Nach der Installation des Dienstprogramms `cordova` , können Sie immer auf die neueste Version aktualisieren, indem Sie Ausführen den folgenden Befehl verwenden: - - $ sudo npm update -g cordova - - -Verwenden Sie diese Syntax, um eine bestimmte Version zu installieren: - - $ sudo npm install -g cordova@3.1.0-0.2.0 - - -`cordova -v` um zu sehen, welche Version aktuell ausgeführt wird ausgeführt. Führen Sie den Befehl `npm info` für eine längere Liste enthält, die die aktuelle Version und anderen verfügbaren Versionsnummern: - - $ npm info cordova - - -Cordova 3.0 ist die erste Version, die in diesem Abschnitt beschriebenen Befehlszeilenschnittstelle unterstützt. Wenn Sie von einer Version vor 3.0 aktualisieren, müssen Sie ein neues Projekt erstellen, wie oben beschrieben, dann die ältere Anwendung Vermögenswerte in der obersten Ebene `Www` -Verzeichnis kopieren. Gegebenenfalls stehen weitere Informationen zum Upgrade auf 3.0 in den Plattform-Führern. Sobald Sie ein auf die Befehlszeilenschnittstelle `cordova upgrade` und `npm update` verwenden, auf um dem Laufenden zu bleiben, sind die dort beschriebenen zeitaufwändigen Verfahren nicht mehr relevant. - -Cordova 3.0 oder höher benötigen noch verschiedene Änderungen auf Projektebene Verzeichnisstrukturen und andere Abhängigkeiten. Nach dem Ausführen des `npm` -Befehls oben Cordova selbst zu aktualisieren, müssen Sie sicherstellen, dass die Ressourcen des Projekts den aktuellsten Anforderungen entsprechen. Führen Sie einen Befehl wie den folgenden für jede Plattform, dass Sie Gebäude sind: - - $ cordova platform update android - $ cordova platform update ios - ...etc. http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/de/6.0.0/guide/hybrid/plugins/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/6.0.0/guide/hybrid/plugins/index.md b/www/docs/de/6.0.0/guide/hybrid/plugins/index.md deleted file mode 100644 index a9c21f2..0000000 --- a/www/docs/de/6.0.0/guide/hybrid/plugins/index.md +++ /dev/null @@ -1,177 +0,0 @@ ---- -license: > - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - -title: Plugin-Entwicklung-Guide ---- - -# Plugin-Entwicklung-Guide - -Ein *Plugin* ist ein Paket von eingefügten Code, der die Cordova Webview ermöglicht es, innerhalb, die derer die app macht mit der einheitlichen Plattform für die Kommunikation auf dem es ausgeführt wird. Plugins ermöglichen den Zugriff auf Geräte und Plattform-Funktionalität, die normalerweise nicht für Web-basierte Anwendungen verfügbar ist. Die wichtigsten Cordova API-Features sind als Plugins implementiert, und viele andere stehen, dass aktivieren wie Barcode-Scannern, NFC-Kommunikation Funktionen, oder zu Kalender anpassen Schnittstellen. Es ist eine [Registrierung][1] der verfügbaren Plugins. - - [1]: http://plugins.cordova.io - -Plugins umfassen eine einzelne JavaScript-Schnittstelle zusammen mit entsprechenden native Code-Bibliotheken für jede unterstützte Plattform. Dies blendet im Wesentlichen die verschiedenen Implementierungen von systemeigenem Code hinter eine gemeinsame JavaScript-Schnittstelle. - -Dieser Abschnitt schrittweise einen einfachen *Echo* -Plugin, die übergibt eine Zeichenfolge von JavaScript zum einheitlichen Plattform und zurück, die Sie als Modell verwenden können, um viel komplexere Features zu erstellen. Dieser Abschnitt beschreibt die grundlegenden Plugin-Struktur und die nach außen gerichtete JavaScript-Schnittstelle. Jede entsprechende [Benutzeroberfläche](../../next/index.html) finden Sie in der Liste am Ende dieses Abschnitts. - -Zusätzlich zu diesen Anweisungen, wenn bereiten auf ein Plugin zu schreiben, ist es am besten über die [vorhandenen Plugins][2] , Anleitungen zu schauen. - - [2]: http://cordova.apache.org/#contribute - -## Eine Plugin erstellen - -Anwendungsentwickler verwenden der CLI `plugin add` Befehl (beschrieben in The Command-Line Interface), eine Plugin zu einem Projekt anzuwenden. Das Argument für diesen Befehl ist die URL für ein *Git* -Repository mit dem Plugin-Code. In diesem Beispiel implementiert Cordova's Device API: - - $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git - - -Das Plugin Repository muss eine Top-Level-Funktion `plugin.xml` manifest-Datei. Es gibt viele Möglichkeiten um diese Datei zu konfigurieren, die Informationen für die in der [Plugin-Spezifikation](../../../plugin_ref/spec.html) verfügbar sind. Diese gekürzte Version von der `Device` Plugin bietet ein einfaches Beispiel, als Vorbild zu verwenden: - - - - Device - Cordova Device Plugin - Apache 2.0 - cordova,device - - - - - - - - - - - - - - - -Der obersten Ebene `plugin` Tag `id` Attribut verwendet das gleiche umgekehrt-Domäne-Format in das Plugin-Paket zu identifizieren, wie die apps, die sie hinzugefügt haben. Die `js-module` Tag gibt den Pfad zu "common Interface" JavaScript. Die `platform` Tag gibt einen entsprechenden Satz von systemeigenem Code für die `ios` Plattform in diesem Fall. Die `config-file` Tag kapselt ein `feature` Tag, der in der Plattform-spezifischen eingespritzt ist `config.xml` Datei, die Plattform der zusätzliche Codebibliothek aufmerksam zu machen. Die `header-file` und `source-file` Markierungen geben Sie den Pfad zu der Bibliothek-Komponentendateien. - -## Eine Plugin überprüfen - -Können Sie das `plugman` -Dienstprogramm zum Überprüfen, ob das Plugin richtig für jede Plattform installiert. Installieren Sie `plugman` mit den folgenden [Knoten][3] -Befehl: - - [3]: http://nodejs.org/ - - $ npm install -g plugman - - -Sie benötigen eine gültige app Quellcode-Verzeichnis, z. B. der obersten Ebene `www` Verzeichnis in ein CLI-generierte Standardprojekt enthalten, wie in der Command-Line Interface beschrieben. Sicherstellen, dass der app `index.html` Homepage verweisen den Namen der das Plugin-JavaScript-Schnittstelle, als handele es sich im gleichen Quellverzeichnis,: - - - - -Führen Sie dann einen Befehl wie den folgenden zu testen, ob iOS Abhängigkeiten richtig geladen: - - $ plugman install --platform ios --project /path/to/my/project/www --plugin /path/to/my/plugin - - -Einzelheiten zum `plugman` Optionen, siehe unter Verwendung Plugman zu Plugins verwalten. Finden Sie Informationen zu tatsächlich *debug* Plugins jede Plattform systemeigene Schnittstelle an der Unterseite dieser Seite verzeichnet. - -## Die JavaScript-Schnittstelle - -JavaScript stellt die vorderseitige-Schnittstelle, so dass es vielleicht den wichtigsten Teil des Plugins. Sie können Ihr Plugin-JavaScript strukturieren, aber Sie mögen, aber Sie aufrufen müssen `cordova.exec` für die Kommunikation mit der einheitlichen Plattform, mit der folgenden Syntax: - - cordova.exec(function(winParam) {}, - function(error) {}, - "service", - "action", - ["firstArgument", "secondArgument", 42, false]); - - -So funktioniert jedes Parameters: - -* `function(winParam) {}`: Ein Erfolg-Callback-Funktion. Vorausgesetzt, Ihre `exec` Aufruf erfolgreich abgeschlossen ist, diese Funktion führt zusammen mit allen Parametern, die Sie an es übergeben. - -* `function(error) {}`: Eine Fehler-Callback-Funktion. Wenn der Vorgang nicht erfolgreich abgeschlossen wird, führt diese Funktion mit einem optionalen Parameter. - -* `"service"`: Der Dienstname für die systemeigene Seite aufrufen. Dies entspricht einer systemeigenen Klasse, für die weitere Informationen in den einheimischen Führern, die unten aufgeführten verfügbar ist. - -* `"action"`: Den Namen der Aktion auf die systemeigene Seite aufrufen. Dies entspricht im Allgemeinen der systemeigenen Klasse-Methode. Finden Sie die nativen Handbüchern aufgeführt. - -* `[/* arguments */]`: Ein Array von Argumenten in der nativen Umgebung übergeben. - -## Beispiel JavaScript - -Dieses Beispiel zeigt eine Möglichkeit, das Plugin-JavaScript-Schnittstelle implementieren: - - window.echo = function(str, callback) { - cordova.exec(callback, function(err) { - callback('Nothing to echo.'); - }, "Echo", "echo", [str]); - }; - - -In diesem Beispiel das Plugin heftet sich an die `window` -Objekts als die `echo` -Funktion, die Plugin-Benutzer wie folgt nennen würde: - - window.echo("echome", function(echoValue) { - alert(echoValue == "echome"); // should alert true. - }); - - -Sehen Sie sich die letzten drei Argumente für die `cordova.exec` Funktion. Die ersten Aufforderungen der `Echo` *Dienst*, einen Klassennamen. Die zweiten Anfragen der `echo` *Aktion*, eine Methode in der betreffenden Klasse. Der dritte ist ein Array von Argumenten, welche die Echo-Zeichenfolge, die die `window.echo` Funktion ist der erste Parameter. - -Der Erfolg-Rückruf übergebenen `exec` ist lediglich ein Verweis auf die Callback-Funktion `window.echo` nimmt. Wenn die native Plattform den Fehler-Rückruf ausgelöst wird, ruft den Erfolg-Rückruf es einfach auf und übergibt eine Standardzeichenfolge. - -## Native Schnittstellen - -Wenn Sie JavaScript für Ihr Plugin definieren, müssen Sie es mit mindestens einem nativen Implementierung zu ergänzen. Details für jede Plattform sind unten aufgeführt, und jede baut auf dem einfachen Echo-Plugin-Beispiel oben: - -* [Amazon Fire OS Plugins](../../platforms/amazonfireos/plugin.html) -* [Android Plugins](../../platforms/android/plugin.html) -* [iOS Plugins](../../platforms/ios/plugin.html) -* [BlackBerry 10 Plugins](../../platforms/blackberry10/plugin.html) -* [Windows Phone 8 Plugins](../../platforms/wp8/plugin.html) -* [Windows Plugins](../../platforms/win8/plugin.html) - -Tizen-Plattform unterstützt keine Plugins. - -## Publishing Plugins - -Wenn Sie Ihr Plugin zu entwickeln, empfiehlt es sich, zu veröffentlichen und mit der Community teilen. Können Sie Ihr Plugin auf jeder `npmjs`veröffentlichen-basierten Registrierung, aber die empfohlenen ist der [NPM-Registrierung][4]. Bitte lesen Sie unsere [Veröffentlichung Plugins Npm-Guide][5]. - - [4]: https://www.npmjs.com - [5]: http://plugins.cordova.io/npm/developers.html - -**Hinweis**: [Cordova Plugin Registrierung][6] bewegt sich auf einem schreibgeschützten Zustand. `publish`/ `unpublish` Befehle entzogen wurde `Plugman`, d. h. Sie entsprechende `Npm` -Befehle verwenden müssen. - - [6]: https://plugins.cordova.io - -Andere Entwickler können Ihr automatisch mit `Plugman` oder Cordova CLI Plugin installieren. (Für Details zu jedem Entwicklungspfad, siehe Plugman Plugins verwalten und die Befehlszeilenschnittstelle verwenden.) - -Um ein Plugin zu NPM-Registrierung zu veröffentlichen müssen Sie folgenden Schritte: - -* `package.json` -Datei für Ihr Plugin zu erstellen: - - $ plugman createpackagejson /path/to/your/plugin - - -* Veröffentlichen Sie sie: - - $ npm adduser # that is if you don't have an account yet - $ npm publish /path/to/your/plugin - - -Das ist es! - -`plugman --help` ausgeführt werden anderen verfügbaren registrierungsbasierte-Befehle aufgelistet. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/de/6.0.0/guide/hybrid/webviews/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/6.0.0/guide/hybrid/webviews/index.md b/www/docs/de/6.0.0/guide/hybrid/webviews/index.md deleted file mode 100644 index 3cf25d1..0000000 --- a/www/docs/de/6.0.0/guide/hybrid/webviews/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -license: > - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - -title: Einbetten von Webansichten für ---- - -# Einbetten von Webansichten für - -Cordova-Anwendungen werden normalerweise als eine Browser-basierte *WebView* innerhalb der native mobile Plattform implementiert. In diesem Abschnitt zeigt, wie, Stütz-Plattformen, um eigene WebView erstellen Komponenten, die voll von Cordova APIs verwenden. Sie können dann diese Cordova-Anwendungskomponenten zusammen mit systemeigenen Komponenten in einer Hybridanwendung bereitstellen. - -Wenn einen WebView bereitstellen möchten, müssen Sie mit jedem native Programmierumgebung vertraut sein. Im folgenden finden Sie Anweisungen für die unterstützten Plattformen: - -* [Amazon Fire OS Webansichten für](../../platforms/amazonfireos/webview.html) -* [Android Webansichten für](../../platforms/android/webview.html) -* [iOS Webansichten für](../../platforms/ios/webview.html) -* [Windows Phone 8,0 Webansichten für](../../platforms/wp8/webview.html) \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/21c8e8f0/www/docs/de/6.0.0/guide/next/index.md ---------------------------------------------------------------------- diff --git a/www/docs/de/6.0.0/guide/next/index.md b/www/docs/de/6.0.0/guide/next/index.md deleted file mode 100644 index a2d9bca..0000000 --- a/www/docs/de/6.0.0/guide/next/index.md +++ /dev/null @@ -1,258 +0,0 @@ ---- -license: > - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - -title: Die nächsten Schritte ---- - -# Die nächsten Schritte - -Für Entwickler, die ein davon wie Verständnis man die Cordova CLI verwenden und über Plugins verwenden, es gibt ein paar Dinge, die Sie sollten in Erwägung ziehen, neben Build besser, mehr Performant Cordova Anwendungen untersucht. Das folgende Dokument bietet Beratung zu verschiedenen Themen rund um Empfehlungen, Tests, Upgrades und anderen Themen, aber soll nicht präskriptiv sein. Betrachten Sie Ihren Startpunkt für Ihr Wachstum als Entwickler Cordova. Auch, wenn Sie etwas, die verbessert werden können sehen, bitte [beitragen][1]! - - [1]: http://cordova.apache.org/#contribute - -Dieses Handbuch enthält die folgenden Themen: - -* Best Practices -* Umgang mit Upgrades -* Cordova apps testen -* Debuggen von Cordova apps -* Benutzeroberfläche -* Besondere Überlegungen -* Halten -* Anfordern von Hilfe - -# Best Practices-Cordova-app-Entwicklung - -## 1) SPA ist dein Freund - -Zuallererst - sollten Ihre Cordova-Anwendungen das Design SPA (Single Seite Anwendung) annehmen. Lose definiert, ist ein SPA eine Client-Anwendung, die aus einer Anforderung einer Webseite ausgeführt wird. Der Benutzer lädt einen Anfangssatz von Ressourcen (HTML, CSS und JavaScript) und weitere Updates (zeigt eine neue Ansicht, Laden von Daten) erfolgt über AJAX. Thermen werden häufig für komplexere clientseitige Anwendungen verwendet. Google Mail ist ein gutes Beispiel dafür. Laden Sie Google Mail e-Mail-Ansichten, Bearbeitung und Organisation erfolgen alle durch Aktualisierung das DOM statt tatsächlich die aktuelle Seite zu verlassen um ein völlig neues laden. - -Mit einem SPA kann Ihnen helfen, Ihre Anwendung in effizienter Weise zu organisieren, aber es hat auch bestimmte Vorteile für Cordova Anwendungen. Eine Cordova-Anwendung muss warten, für das Deviceready-Ereignis ausgelöst, bevor alle Plug-ins verwendet werden kann. Wenn Sie keinen SPA verwenden und Ihre Benutzer klickt, um von einer Seite zur anderen zu gehen, müssen Sie warten für Deviceready erneut ausgelöst, bevor Sie machen über ein Plugin zu verwenden. Dies ist einfach zu vergessen, da Ihre Anwendung größer wird. - -Selbst wenn Sie nicht mithilfe von Cordova, wird mobile Application erstellen, ohne die Verwendung einer einzelnen Seitenarchitektur Leistung auswirken. Dies ist denn Navigieren zwischen den Seiten erforderlich sein, Vermögenswerte, Skripte, etc. neu geladen werden. Auch wenn diese Vermögenswerte zwischengespeichert werden, wird es Sie noch Leistungsprobleme. - -Beispiele für SPA-Bibliotheken, die Sie in Ihren Cordova-Anwendungen verwenden können sind: - -* [AngularJS][2] -* [EmberJS][3] -* [Rückgrat][4] -* [Kendo UI][5] -* [Monaca][6] -* [ReactJS][7] -* [Sencha Touch][8] -* [jQuery Mobile][9] - - [2]: http://angularjs.org - [3]: http://emberjs.com - [4]: http://backbonejs.org - [5]: http://www.telerik.com/kendo-ui - [6]: http://monaca.mobi/en/ - [7]: http://facebook.github.io/react/ - [8]: http://www.sencha.com/products/touch/ - [9]: http://jquerymobile.com - -Und viele, viele mehr. - -## 2) Überlegungen zur Leistung - -Einer der größten Fehler, den, die ein neuer Cordova-Entwickler leisten kann, ist anzunehmen, dass die Leistung, die sie auf einem desktop-Rechner bekommen das gleiche erhalten sie auf einem mobilen Gerät. Zwar unsere mobile Geräte leistungsfähiger jedes Jahr bekommen, es fehlen noch die Kraft und die Leistung eines Desktop-Computers. Mobile Geräte haben in der Regel viel weniger RAM und eine GPU, die weit entfernt von ihrem Desktop (oder auch Laptop) Brüder. Eine vollständige Liste der Tipps hier wäre zu viel, aber hier sind ein paar Dinge zu beachten (mit einer Liste von mehr Ressourcen am Ende für die weitere Forschung). - -**Klicken Sie im Vergleich zu Touch** - der größte und einfachste Fehler, den Sie machen können ist, Click-Ereignisse verwenden. Während diese "prima Mobile funktionieren", erheben die meisten Geräte 300ms Verzögerung darauf Unterscheidung zwischen einem Hauch und ein Hauch "halten"-Ereignis. Mit `touchstart` , oder `touchend` , führt zu einer dramatischen Verbesserung - 300ms nicht klingt wie viel, aber es ruckelt UI-Updates und Verhalten führen kann. Außerdem sollten Sie die Tatsache, die "Ereignisse berühren" werden nicht unterstützt auf nicht-Webkit-Browser finden Sie unter [CanIUse][10]. Um diese Einschränkungen zu begegnen, können Sie Kasse verschiedene Bibliotheken wie HandJS und Fastouch. - - [10]: http://caniuse.com/#search=touch - -**CSS-Transitions gegenüber DOM-Manipulation** - mit Hilfe des Hardware-beschleunigte CSS Übergänge werden dramatisch besser als JavaScript verwendet, um Animationen zu erstellen. Finden Sie unter der Liste der Ressourcen am Ende dieses Abschnitts für Beispiele. - -**Netzwerke zu saugen** - Ok, Netzwerke nicht immer saugen, aber die Wartezeit von Mobilfunknetzen, selbst gute Mobilfunknetzen, ist weit schlimmer sein als Sie vielleicht denken. Eine desktop-Anwendung, die alle 30 Sekunden nach unten über 500 Zeilen von JSON-Daten, schlürft werden beide langsamer auf einem mobilen Gerät sowie ein Batterie-Schwein. Beachten Sie, dass Cordova apps mehrere Möglichkeiten haben, Daten in der app (LocalStorage und das Dateisystem z. B.) beibehalten. Diese Daten lokal zwischengespeichert und werden bewusst die Datenmenge, die Sie hin und her senden. Dies ist ein besonders wichtiger Aspekt, wenn Ihre Anwendung über ein Mobilfunknetz verbunden ist. - -**Zusatzvorstellung Artikel und Ressourcen** - -* ["Sie halb assed es"][11] -* ["Top zehn Tipps zur Leistungssteigerung für PhoneGap und Hybrid-Apps"][12] -* ["Schnelle Apps und Websites mit JavaScript"][13] - - [11]: http://sintaxi.com/you-half-assed-it - [12]: http://coenraets.org/blog/2013/10/top-10-performance-techniques-for-phonegap-and-hybrid-apps-slides-available/ - [13]: https://channel9.msdn.com/Events/Build/2013/4-313 - -## 3) erkennen und behandeln von Offline-Status - -Finden Sie im vorherigen Tipp über Netzwerke. Nicht nur Sie können über ein langsames Netzwerk, es ist durchaus möglich, für Ihre Anwendung komplett offline sein. Die Anwendung sollte dies auf intelligente Weise behandeln. Wenn Ihre Anwendung nicht tut, wird glauben, dass Ihre Anwendung unterbrochen wird. Gegeben wie einfach es ist, (Cordova unterstützt hören für ein Offline- und Ereignis) zu behandeln gibt es absolut keinen Grund für Ihre Anwendung nicht mehr reagiert, wenn offline ausführen. Testen Sie (siehe Abschnitt Testing) Ihre Anwendung und sollten Sie testen, wie Ihre Anwendung behandelt, wenn Sie in einem Staat starten und dann zu einer anderen wechseln. - -Beachten Sie, dass die Online- und offline-Veranstaltungen sowie die Netzwerk-Verbindung-API ist nicht perfekt. Sie müssen möglicherweise verlassen sich auf mithilfe einer XHR-Anforderung um zu sehen, ob das Gerät wirklich offline oder online ist. Am Ende des Tages werden sicher irgendeine Form der Unterstützung für Netzwerkprobleme - fügen Sie in der Tat, im Apple Store (und wahrscheinlich noch andere Läden) werden apps, die ordnungsgemäß offline/online-Staaten darstellen nicht ablehnen. Weitere Diskussion zu diesem Thema finden Sie unter ["Ist das Ding auf?"][14] - - [14]: http://blogs.telerik.com/appbuilder/posts/13-04-23/is-this-thing-on-%28part-1%29 - -# Umgang mit Upgrades - -## Update von Cordova-Projekten - -Wenn das vorhandene Projekt erstellt wurde, mithilfe von Cordova 3.x, können Sie das Projekt aktualisieren, indem Folgendes ausgeben: - - cordova platform update platform-name ios, android, etc. - - -Wenn das vorhandene Projekt, unter einer Version vor Cordova erstellt wurde 3.x, es wäre wohl am besten ein neues Cordova-3.x-Projekt erstellen und kopieren Sie dann des vorhandenen Projekts Code und Vermögenswerte in das neue Projekt. Typische Schritte: - -* Erstellen eines neuen Cordova-3.x-Projekts (Cordova erstellen...) -* Kopieren Sie den Www-Ordner aus dem alten Projekt zum neuen Projekt -* Kopieren Sie alle Konfigurationseinstellungen aus dem alten Projekt in das neue Projekt -* Fügen Sie alle Plugins in das alte Projekt in das neue Projekt verwendet -* Erstellen Sie das Projekt -* Testen, testen, testen! - -Unabhängig von der vorherigen Version des Projekts ist es absolut wichtig, dass Sie lesen auf was in der aktualisierten Version geändert wurde, da das Update den Code brechen kann. Der beste Ort, um diese Informationen werden in den Release-Notes in den Repositories und auf dem Cordova-Blog veröffentlicht. Sie wollen Ihre Anwendung gründlich testen, um festzustellen, ob es ordnungsgemäß ausgeführt wird, nachdem Sie das Update durchführen. - -Hinweis: einige Plugins kompatibel mit der neuen Version von Cordova möglicherweise nicht. Wenn eine Plugin nicht kompatibel ist, möglicherweise um ein Ersatz-Plugin zu finden, die tut, was Sie brauchen können, oder müssen Sie möglicherweise verzögern, Aktualisierung des Projekts. Alternativ ändern Sie das Plugin so, dass es unter der neuen Version arbeiten und zurück zur Gemeinschaft beitragen. - -## Plugin-Upgrades - -Ab Cordova 3.4 gibt es keinen Mechanismus für die Aktualisierung geänderte Plugins mithilfe eines einzelnen Befehls. Stattdessen entfernen Sie das Plugin zu, und fügen Sie sie zurück zu Ihrem Projekt und die neue Version installiert werden: - - Cordova Plugin Rm com.some.plugin Cordova Plugin hinzufügen com.some.plugin - - -Achten Sie darauf, das aktualisierte Plugin Dokumentation, zu kontrollieren, Sie benötigen, um Ihren Code zum Arbeiten mit der neuen Version anzupassen. Auch, doppelt überprüfen, die die neue Version des Plugins mit Ihrem Projekt Version von Cordova. - -Testen Sie stets Ihre apps um sicherzustellen, dass das neue Plugin installieren nicht etwas gebrochen hat, die Sie nicht vorhersah. - -Wenn Ihr Projekt viele Plugins, die Sie benötigen aktualisiert hat, könnte es sparen Sie Zeit eine Shell oder Batch-Skript erstellen, das entfernt und die Plugins mit einem einzigen Befehl hinzugefügt. - -# Cordova apps testen - -Testen Ihrer Anwendungen ist super wichtig. Das Cordova-Team nutzt Jasmin aber Web-verbündete Einheit-Testlösung wird. - -## Am Simulator vs. auf einem echten Gerät testen - -Es ist nicht ungewöhnlich, dass desktop-Browsern und Gerät-Simulatoren/Emulatoren verwenden Sie beim Entwickeln einer Anwendung von Cordova. Allerdings ist es unglaublich wichtig, dass Sie Ihre Anwendung auf so viele physische Geräte testen wie du nur kannst: - -* Simulatoren sind genau das: Simulatoren. Beispielsweise Ihre Anwendung in der iOS-Simulator ohne Probleme funktionieren, aber es möglicherweise nicht auf einem echten Gerät (vor allem in bestimmten Umständen, wie etwa einen Speichermangel-Zustand). Oder Ihre app versäumen tatsächlich auf dem Simulator, während es auf einem echten Gerät einwandfrei funktioniert. -* Emulatoren sind genau das: Emulatoren. Sie repräsentieren nicht, wie gut Ihre app auf einem physischen Gerät ausgeführt werden. Einige Emulatoren können beispielsweise Ihre app mit einer verstümmelten Anzeige gerendert, während ein echtes Gerät kein Problem hat. (Wenn Sie dieses Problem auftritt, deaktivieren Sie den Host GPU im Emulator.) -* Simulatoren sind in der Regel schneller als Ihr physisches Gerät. Emulatoren sind auf der anderen Seite im allgemeinen langsamer. Beurteilen Sie die Leistung Ihrer Anwendung nicht, von wie es in einem Simulator oder einen Emulator durchführt. Beurteilen Sie die Leistung Ihrer Anwendung von wie es auf ein Spektrum an realen Geräten läuft. -* Es ist unmöglich, ein gutes Gefühl dafür, wie Ihre app auf Ihrem Touch reagiert, mit einem Simulator oder einen Emulator. Stattdessen kann die app auf einem echten Gerät ausgeführt Probleme mit den Größen der Elemente der Benutzeroberfläche, Reaktionsfähigkeit, usw. hinweisen. -* Obwohl es schön wäre, nur auf ein Gerät pro Plattform testen zu können, empfiehlt es sich, bei vielen Geräten sportliche viele verschiedene OS-Versionen zu testen. Z. B. was auf Ihrem bestimmten Android-Smartphone funktioniert auf einem anderen Android-Gerät möglicherweise nicht. Was auf einem iOS 7-Gerät funktioniert möglicherweise nicht auf einem Gerät mit iOS 6. - -Es ist natürlich unmöglich, auf alle möglichen Geräte auf dem Markt zu testen. Aus diesem Grund ist es ratsam viele Tester einstellen, die verschiedene Geräte zu haben. Obwohl sie jedes Problem wird nicht fangen, stehen die Chancen gut, dass sie entdecken werden, Macken und Probleme, die Sie allein nie finden würden. - -Tipp: Es ist möglich auf Android Nexus Geräten leicht unterschiedliche Versionen von Android auf das Gerät flashen. Dieser einfache Prozess können Sie Ihre Anwendung auf verschiedenen Ebenen von Android mit einem einzigen Gerät, leicht zu testen, ohne Ihre Garantie annullieren oder dass Sie Ihr Gerät auf "Jailbreak" oder "Root". Die Google Android Fabrik Bilder und Anleitungen befinden sich in: https://developers.google.com/android/nexus/images#instructions - -# Debuggen von Cordova apps - -Debuggen von Cordova, muss ein Setup. Im Gegensatz zu einer desktop-Anwendung Sie können nicht öffnen Sie einfach Dev Tools auf Ihrem mobilen Gerät und Debuggen starten, zum Glück gibt es einige tolle Alternativen. - -## iOS Debuggen - -### Xcode - -Mit Xcode können Sie die native iOS Seite Ihrer Cordova-Anwendung debuggen. Stellen Sie sicher, dass der Debug-Umgebung (Blick-> Debug Bereich) angezeigt wird. Sobald Ihre app auf dem Gerät (oder Simulator) ausgeführt wird, können Sie im Bereich Debug Protokollausgabe anzeigen. Dies ist, wo Fehler oder Warnungen gedruckt wird. Sie können auch Haltepunkte innerhalb der Quelldateien festlegen. Dies ermöglicht Ihnen, Schritt für Schritt durch den Code eine Zeile zu einem Zeitpunkt und den Zustand der Variablen damals. Der Zustand der Variablen wird im Bereich Debuggen angezeigt, wenn ein Haltepunkt erreicht wird. Sobald Ihre app auf dem Gerät installiert und läuft ist, können Sie Safari Webinformationen bringen (wie unten beschrieben), um die Webview und Js Seite Ihrer Anwendung zu debuggen. Weitere Informationen und Hilfe finden Sie im Xcode-Guide: [Xcode Debuggen Guide][15] - - [15]: https://developer.apple.com/library/mac/documentation/ToolsLanguages/Conceptual/Xcode_Overview/DebugYourApp/DebugYourApp.html#//apple_ref/doc/uid/TP40010215-CH18-SW1 - -### Safari Remote Debuggen mit Webinformationen - -Mit der Safari Web-Inspektor können Sie den Webview und Js-Code in der Cordova-Anwendung debuggen. Dies funktioniert nur unter OSX und nur mit iOS 6 (und höher). Es verwendet Safari zum Herstellen einer Verbindung mit Ihrem Gerät (oder der Simulator) und wird die Browser-Dev-Tools der Cordova-Anwendung verbinden. Sie bekommen, was Sie von Entwicklungstools - DOM Inspektion/Manipulation, einen JavaScript-Debugger, Netzwerk-Inspektion, die Konsole und mehr erwarten. Wie Xcode mit Safari Webinformationen können Haltepunkte im JavaScript-Code und den Zustand der Variablen zu diesem Zeitpunkt anzeigen. Sie können anzeigen, Fehler, Warnungen oder Nachrichten, die auf der Konsole ausgegeben werden. Sie können auch JavaScript-Befehle direkt über die Konsole ausführen, wie Ihre Anwendung ausgeführt wird. Weitere Details zu wie Sie es einrichten und was Sie tun können, finden Sie in diesem hervorragenden Blog-post: und d ieser Anleitung: [Safari Web Inspector Guide][16] - - [16]: https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/Introduction/Introduction.html - -## Chrom Remotedebuggen - -Praktisch das gleiche wie der Safari-Version, dies funktioniert nur mit Android, sondern kann von jedem desktop-Betriebssystem verwendet werden. Es erfordert mindestens Android 4.4 (KitKat), API-Mindestmaß an 19 und Chrom 30 + (auf dem Desktop). Sobald verbunden, erhalten Sie die gleiche Chrome Dev Tools-Erfahrung für Ihre mobilen Anwendungen, wie Sie mit Ihrem desktop-Anwendungen. Noch besser ist, haben die Chrome Dev-Tools eine Spiegel-Option, die Ihre app-Betrieb auf dem mobilen Gerät zeigt. Dies ist mehr als nur eine Ansicht - Sie können aus Dev Tools klicken und scrollen und Aktualisierungen auf dem mobilen Gerät. Weitere Informationen zu Chrome Remotedebuggen finden Sie hier: - -Es ist möglich, Chrome Dev Tools verwenden, um iOS apps, über einen WebKit-Proxy zu prüfen: - -## Welligkeit - -Welligkeit ist ein desktop basierten Emulator für Cordova-Projekte. Im Wesentlichen können Sie eine Cordova-Anwendung in der desktop-Anwendung ausführen und fake verschiedene Cordova-Features. Beispielsweise können Sie den Beschleunigungsmesser um zu testen, Shake-Veranstaltungen zu simulieren. Es täuscht die Kamera-API, indem man Ihnen ein Bild von Ihrer Festplatte auszuwählen. Welligkeit können, die Sie mehr auf Ihren benutzerdefinierten Code, anstatt sich Gedanken über Cordova Plugins konzentrieren. Erfahren Sie mehr über Ripple hier: - -## Weinre - -Weinre erstellt einen lokalen Server, der einen remote-Debug-Client für Ihre Cordova-Anwendungen hosten kann. Nachdem Sie installiert und es gestartet haben, können Sie eine Codezeile in Cordova Anwendung kopieren und starten Sie ihn neu. Sie können dann eine Dev-Tool-Leiste auf dem Desktop mit der Anwendung öffnen. Weinre ist nicht ganz so hochtrabend als Chrome und Safari Remotedebuggen, hat aber den Vorteil der Arbeit mit einem viel größeren Bereich der Betriebssysteme und Plattformen. Weitere Informationen finden Sie hier: - -## Andere Optionen - -* BlackBerry 10 unterstützt auch Debuggen: [Dokumentation][17] -* Sie können mit Firefox App Manager sowie Debuggen, finden Sie unter [diesem Blog-Post][18] und dieser [MDN-Artikel][19]. -* Weitere Beispiele und Erläuterung der oben genannten Tipps zum Debuggen finden Sie unter: - - [17]: https://developer.blackberry.com/html5/documentation/v2_0/debugging_using_web_inspector.html - [18]: https://hacks.mozilla.org/2014/02/building-cordova-apps-for-firefox-os/ - [19]: https://developer.mozilla.org/en-US/Apps/Tools_and_frameworks/Cordova_support_for_Firefox_OS#Testing_and_debugging - -# Benutzeroberfläche - -Erstellen einer Anwendung Cordova sieht schön auf mobile eine Herausforderung sein kann, vor allem für Entwickler. Viele Menschen haben ein UI-Framework verwenden, um dies zu erleichtern. Hier ist eine kurze Liste der Optionen, die Sie betrachten möchten. - -* [jQuery Mobile][9] - jQuery Mobile erhöht automatisch Ihre Layout für mobile Optimierung. Es behandelt auch einen SPA für Sie automatisch erstellen. -* [Ionische][20] -dieser leistungsstarke UI-Framework hat tatsächlich eigene CLI Projekterstellung zu behandeln. -* [Ratsche][21] - geholt Ihnen durch die Menschen, die Bootstrap erstellt. -* [Kendo UI][5] - Open-Source-UI und Application Framework von Telerik. -* [DECKLACK][22] -* [ReactJS][7] - - [20]: http://ionicframework.com/ - [21]: http://goratchet.com/ - [22]: http://topcoat.io - -Wenn Sie Ihre Benutzeroberfläche zu erstellen, ist es wichtig, über alle Plattformen, die Sie abzielen und die Unterschiede zwischen den Benutzererwartungen zu denken. Beispielsweise wird eine Android-Anwendung, die Benutzeroberfläche eines iOS-Stil hat wahrscheinlich nicht gut mit Benutzer rüber. Dies wird manchmal auch durch die verschiedene Anwendung-Stores erzwungen. Aus diesem Grund ist es wichtig, dass Sie die Konventionen des jede Plattform zu respektieren und daher vertraut mit den verschiedenen Human Interface Guidelines sind: - -* [iOS][23] -* [Android][24] -* [Windows Phone][25] - - [23]: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/MobileHIG/index.html - [24]: https://developer.android.com/designWP8 - [25]: http://dev.windowsphone.com/en-us/design/library - -## Zusätzliche UI-Artikel und Betriebsmittel - -Obwohl Browser-Motoren immer mehr Normen Beschwerde geworden, wir leben noch in einer vorangestellten Welt (-Webkit und - Frau) der folgende Artikel ist wertvoll, wenn UI in für cross-Browser-apps entwickeln: - -# Besondere Überlegungen - -Obwohl Cordova Cross-Plattform-Entwicklung einfacher macht, ist es einfach nicht möglich, 100 % unabhängig von der zugrunde liegenden systemeigenen Plattform bereitzustellen. Also Einschränkungen bewusst. - -## Plattform Macken - -Achten Sie beim Lesen der Dokumentation auf Abschnitte, die unterschiedliche Verhaltensweisen oder Anforderungen auf mehreren Plattformen zu skizzieren. Falls vorhanden, wäre dies in einem Abschnitt mit dem Titel "Android Eigenarten", "iOS Marotten", etc.. Durch diese Eigenheiten lesen Sie und beachten sie beim Arbeiten mit Cordova. - -## Remote-Inhalte laden - -Aufrufen von Cordova JavaScript-Funktionen aus einer HTML-Seite aus der Ferne geladen ist (eine HTML-Seite nicht lokal auf dem Gerät gespeichert) eine nicht unterstützte Konfiguration. Dies ist da Cordova war nicht dafür ausgelegt, und die Apache-Cordova-Gemeinschaft tut keine Prüfung dieser Konfiguration. Während es in einigen Fällen wirken kann, wird es nicht empfohlen oder unterstützt. Es gibt Herausforderungen mit der gleichen Ursprungs-Policy, halten das JavaScript und native Teile von Cordova synchronisiert auf die gleiche Version (da sie über private APIs geändert werden gekoppelt sind), die Vertrauenswürdigkeit des remote-Inhalte aufrufen systemeigene lokale Funktionen und möglichen app-Store-Ablehnung. - -Die Anzeige der HTML-Inhalt aus der Ferne geladen, in ein Webview getan werden mit Cordova's InAppBrowser. Die InAppBrowser ist so konzipiert, dass es ausgeführtes JavaScript keinen Zugriff auf die Cordova-JavaScript-APIs aus den oben aufgeführten Gründen hat. Finden Sie im Security Guide. - -# Halten - -Hier sind ein paar Möglichkeiten, um mit Cordova aktuell zu halten. - -* Abonnieren Sie den [Blog von Cordova][26]. -* Die [Entwickler-Liste][27]abonnieren. Hinweis: Dies ist keine Selbsthilfegruppe! Vielmehr ist dies ein Ort, wo die Entwicklung von Cordova diskutiert wird. - - [26]: http://cordova.apache.org/#news - [27]: http://cordova.apache.org/#mailing-list - -# Anfordern von Hilfe - -Die folgenden Links sind die besten Orte, um Hilfe zu Cordova zu erhalten: - -* StackOverflow: mithilfe des Cordova-Tags können Sie anzeigen und durchsuchen alle Cordova Fragen. Beachten Sie, dass StackOverflow automatisch das "Phonegap" Tag "Cordoba", konvertiert so dass auf diese Weise werden Sie historische Fragen sowie Zugang zu -* PhoneGap Google Group: [https://groups.google.com/forum/#! Forum/Phonegap][28] diese Google Group war das alte Support-Forum als Cordova noch PhoneGap genannt wurde. Zwar gibt es noch eine Menge von Cordova-Benutzer, die dieser Gruppe häufig, hat die Gemeinde Cordova mit Schwerpunkt weniger auf diese Gruppe und stattdessen StackOverflow Unterstützung geäußert -* Meetup: - betrachten Sie suchen nach einer lokalen Cordova/PhoneGap Meetup-Gruppe - - [28]: https://groups.google.com/forum/#!forum/phonegap \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org For additional commands, e-mail: commits-help@cordova.apache.org