In diesem Artikel werde ich Ihnen Cordova vorstellen, ein Framework für die Entwicklung mobiler Anwendungen. Wenn Sie Cordova noch nicht kennen oder wissen möchten, ob es das richtige Werkzeug für Ihr nächstes Projekt ist, dann sind Sie hier genau richtig. In diesem Artikel möchte ich folgende Fragen beantworten:
Lass uns weitergehen und eintauchen.
Cordova ist ein Framework für die Entwicklung mobiler Anwendungen, das hauptsächlich für Webentwickler gedacht ist. Webentwickler können Web-Technologien wie HTML, CSS und JavaScript verwenden, um mobile Anwendungen zu erstellen. Wie jede andere Technologie hat auch Cordova seine Vor- und Nachteile.
cameraDirection
Der Wert ergibt immer ein mit der rückwärts gerichteten Kamera aufgenommenes Foto.Bei der Arbeit mit Cordova stößt man oft auf den Begriff PhoneGap. PhoneGap ist der Name des ursprünglichen Projekts, das 2009 von einem Startup namens Nitobi erstellt wurde. Im Jahr 2011 wurde das Unternehmen von Adobe übernommen.
Beachten Sie, dass Adobe nicht die eigentliche Codebase gekauft hat, sondern nur den Namen und die Mitarbeiter von Nitobi. Der Open Source-Kern wurde an die Apache Software Foundation gespendet, die jetzt als Cordova bekannt ist.
Eine gängige Analogie, die von Entwicklern verwendet wird, ist, dass Cordova PhoneGap mit WebKit und Safari verbindet. Mit anderen Worten, PhoneGap ist eine Distribution von Cordova, die von Adobe verwaltet wird. Wenn Sie mehr über die Geschichte erfahren möchten, finden Sie diesen Artikel im PhoneGap-Blog von Brian LeRoux.
In der Praxis sind PhoneGap und Cordova grundsätzlich gleich. Sie können beim Starten eines Projekts zwischen PhoneGap oder Cordova wählen. Der einzige Unterschied ist die CLI (Command Line Interface). Die CLI von PhoneGap lässt sich in Adobe PhoneGap Build integrieren. Mit diesem Dienst können Entwickler ihre Apps auf der Plattform ihrer Wahl zusammenstellen, indem sie sie auf die PhoneGap Build-Website hochladen.
Die Benutzeroberfläche von Cordova ist eine Webansicht. Sie können sich die Webansicht als Registerkarte in einem Browser vorstellen. Wenn Sie eine Cordova-Anwendung kompilieren, wird Ihr HTML-, CSS- und JavaScript-Code nicht tatsächlich verwendet und automatisch in nativen Code konvertiert, der für jede Plattform spezifisch ist.
Cordova fungiert als Container für die App, die Sie mit Webtechnologien schreiben. Wenn die App kompiliert wird, bleibt Ihr Code tatsächlich erhalten. Der Compiler nimmt nur Ihren Code und stellt ihn der Webansicht zum Rendern zur Verfügung.
Wenn Sie jemals eine HTML-Datei in einem Browser geöffnet haben, ist das grundsätzlich dasselbe. Bitte beachten Sie, dass diese Webansicht auf jedem Gerät anders implementiert ist. Dies bedeutet, dass es bestimmte Funktionen gibt, die auf einigen Plattformen nicht verfügbar sind oder anders implementiert sind.
Mit Cordova haben Sie Zugriff auf native Gerätefunktionen durch die Verwendung von Plugins. Plugins sind Add-Ons, die eine JavaScript-API für native Komponenten verfügbar machen. Sie ermöglichen den Zugriff auf native Gerätefunktionen, indem die von ihr bereitgestellte JavaScript-API verwendet wird.
Wie Sie vielleicht vermuten, sind Plugins in nativem Code geschrieben. Dies bedeutet, dass Sie das SDK für die verschiedenen Plattformen installieren müssen, auf denen Sie die Bereitstellung durchführen möchten. Nur dann können Sie den nativen Code für jede dieser Plattformen schreiben. Anschließend rufen Sie den nativen Code über die JavaScript-API auf, sodass in der Webansicht darauf zugegriffen werden kann.
Es gibt zwei Arten von Plugins, die Sie im Cordova-Plugin-Ökosystem finden können. Zuerst sind die offiziellen Plugins. Diese werden von der Cordova-Gemeinschaft gepflegt. Sie wissen, dass ein Plugin offiziell ist, wenn es das hat Cordova-Plugin Präfix.
Die andere Art von Plugins sind benutzerdefinierte Plugins. Diese werden von Entwicklern wie Ihnen und mir gebaut. Häufig werden sie dazu entwickelt, ein sehr spezifisches Problem zu lösen, z. B. das Anschließen einer App an Facebook oder das Ionic Keyboard Plugin, um die Interaktion mit der Tastatur zu erleichtern.
Wenn Sie mehr darüber erfahren möchten, welche Plugins Sie mit Cordova verwenden können, besuchen Sie die Cordova Plugins-Website.
Während Sie mit Cordova so ziemlich jede Art von App erstellen können, gibt es einige Einschränkungen, über die wir später sprechen werden. Lassen Sie uns zunächst einige Beispiel-Apps durchgehen, die Sie mit Cordova erstellen können.
Basierend auf den oben aufgeführten Apps sollten Sie jetzt eine Vorstellung davon haben, welche Art von Apps Sie mit Cordova erstellen können. Wenn Sie Entwickler sind, haben Sie möglicherweise bemerkt, dass alle diese Apps das Internet nutzen. Sie alle kommunizieren mit einem Remote-Server, um Daten abzurufen. Das ist, was Cordova gut kann: Daten von einem Server abrufen, dem Benutzer präsentieren und auf Eingaben des Benutzers warten und darauf antworten.
Dies bedeutet jedoch nicht, dass Sie mit Cordova keine eigenständigen Apps erstellen können. Es gibt viele clientseitige Datenbanklösungen, die Sie problemlos verwenden können. Ein beliebtes Beispiel ist LokiJS, ein schneller, dokumentenspezifischer Datenspeicher für Node.js, den Browser und Cordova. In einer Fotogalerie-App können Sie beispielsweise diese Bibliothek verwenden, um die Pfade von Fotos zu speichern und sie bei Bedarf aus dem Speicher zu holen.
Mit Cordova können Sie nahezu jede CSS- oder JavaScript-Bibliothek verwenden, die Sie in cdnjs finden können, da der von Ihnen geschriebene Code im Browser ausgeführt wird. Sie müssen jedoch vorsichtig sein, nicht alle Browser sind gleich. Und das bringt uns zum nächsten Abschnitt.
Wie bei allem anderen im Leben gibt es immer Einschränkungen. Cordova ist keine Ausnahme. In diesem Abschnitt werde ich über die Einschränkungen von Cordova sprechen.
Was auch immer Sie mit nativem Code erreichen können, können Sie auch mit Cordova erreichen. Es gibt jedoch zwei häufige Einschränkungen, Performance und Plugin-Verfügbarkeit.
Cordova greift über Plug-Ins auf native Gerätefunktionen zu. Dies ist mit Kosten verbunden, die für native Apps nicht anfallen. Wie ich bereits in diesem Tutorial erwähnt habe, ist es keine gute Idee, Apps mit Cordova zu erstellen, die stark auf die CPU oder GPU angewiesen sind. Solche Apps sind nicht so leistungsfähig, wie Sie es sich wünschen, insbesondere wenn Sie mit einheimischen Kollegen verglichen werden.
Eine weitere Einschränkung ist die Verfügbarkeit von Plugins. Wenn eine bestimmte Funktionalität nicht über ein vorhandenes Plugin im Repository verfügbar ist, können Sie das Plugin nur selbst erstellen.
Standardmäßig verwendet Cordova die Webansicht der Plattform zum Rendern der Benutzeroberfläche. Dies bedeutet, dass Sie auf jeder Plattform, auf die Sie abzielen, mit einer anderen Webansicht interagieren.
Darüber hinaus können verschiedene Versionen des Betriebssystems der Plattform eine andere Webansicht oder eine andere mit unterschiedlichen Features aufweisen. Beispielsweise kann auf modernen Android-Geräten eine Variante von Android ausgeführt werden, auf der WebRTC aktiviert ist, während ältere Versionen von Android diese Funktion nicht aufweisen.
Für Cordova-Entwickler ist es eine gute Sache, dass Projekte wie Crosswalk zur Rettung kommen. Mit Crosswalk können Sie eine benutzerdefinierte Webansicht in Cordova-Apps verwenden und die Unterschiede zwischen den Plattformen normalisieren. Später in diesem Tutorial werde ich Ihnen zeigen, wie Sie Crosswalk in einem Cordova-Projekt verwenden können.
Wenn Sie mehr über Cordova erfahren möchten, besuchen Sie den Kurs von Reggie Dawson über Cordova. Reggie stellt Ihnen die Plattform vor und hilft Ihnen, eine Cordova-App von Grund auf zu erstellen. Schauen Sie sich das Video unten an, um einen Vorgeschmack auf den Kurs zu bekommen.
Sie sollten jetzt eine gute Vorstellung davon haben, was Cordova ist und wie es seine Magie ausübt. Ich hoffe, dieser Artikel hat die Frage beantwortet, ob Cordova das richtige Werkzeug für Ihr nächstes mobiles Projekt ist.
Im nächsten Artikel machen wir uns die Hände schmutzig, indem wir mit Cordova eine mobile Anwendung erstellen. Fühlen Sie sich frei, Fragen oder Kommentare in den Kommentaren zu hinterlassen.