Von allen neuen Features iOS 8 auf der WWDC vorgestellt, das wichtigste ist, ist vielleicht die Verlängerung (Dehnbarkeit). Sie sollten einen großen Einfluss auf die Weiterentwicklung des OS haben. Oft wird diese Funktion beschrieben als „die Fähigkeit von Anwendungen von Drittanbietern miteinander zu interagieren.“ Das ist natürlich, ist zu übertrieben, da die Wechselwirkung nicht die einzige Möglichkeit, Erweiterungen ist, und sie können nicht kommunizieren direkt miteinander, um genau zu sein.
Wir haben die Entwickler-Dokumentation und Videos von der WWDC lesen, zu verstehen, wie Erweiterungen arbeiten und wie Apple hat einen Kompromiss zwischen der Offenheit des Systems und die Benutzerdatensicherheit und möchte darüber reden gefunden Sie.
Was also tun, um die Expansion?
Anwendungen von Drittanbietern ermöglichen, sich gegenseitig zu gelangen, es nur ein Problem ist, das die Expansion zu lösen ist. Seite der Tastatur; Anwendungsintegration mit anderem Cloud-Speicher, zusätzlich zu iCloud; Widgets in Notification Center - all dies wird auch von den Erweiterungen getragen.
In der Tat, nicht alle der iOS „enhanced“ Entwickler von Drittanbietern werden kann. Zum Beispiel, wenn Sie die Standardanwendung oder fügen Sie einen Schalter in der Leitwarte ersetzen wollen - Sie werden nicht funktionieren. Apple stellt viel nicht so eindeutig „Erweiterungspunkte» (Erweiterungspunkte) definiert sind, mit einem Teil des Betriebssystems, die Entwickler zu zeigen, dass sie arbeiten können. Eine Liste dieser Punkte wie folgt:
- Expansion Heute (Heute Erweiterungen) oder Widgets - werden verwendet, Zentrum in der Notification sofort Informationen zur Verfügung zu stellen. Sie können sie als Antwort auf die Live-Kacheln Windows Phone und Android-Startbildschirm Widgets betrachten.
- verbessern den Austausch von (Aktien Erweiterungen) - ermöglichen es Ihnen, Fotos, Links oder andere Dateien von der Anwendung in den Online-Diensten zu senden. Wie Fotos in Pinterest oder Hochladen von Dateien auf Dropbox oder Microsoft Onedrive direkt aus der Anwendung veröffentlichen.
- Scaling-up (Erweiterungen Action) - verwendet, um „Manipulation oder Anzeige von Inhalten in Zusammenhang mit einer anderen Anwendung.“ Mit anderen Worten bedeutet dies, dass Sie das Foto bearbeiten können, die in einem Textdokument enthalten ist, oder, Zum Beispiel, wie in der Darstellung gezeigt, verwenden Sie so etwas wie Bing Übersetzen von Text in einem Fenster zu übersetzen Safari.
- Erweiterungen für die Bildbearbeitung (Photo Editing-Erweiterungen) - können die Bearbeitungsfunktionen von anderen Anwendungen verwendet werden, wenn die Bilder in der Kamera rollen sehen.
- Erweiterungsspeicher (Storage Provider Erweiterungen) - ermöglicht es, Anwendungen zu öffnen Dokumente aus einer Reihe von Cloud-Storage. Zum Beispiel können Sie Ihre Dokumente zu speichern, Dropbox und Zugang sie für iPad oder Seiten direkt aus dem Office verwenden.
- Erweiterungen für Drittanbieter-Tastaturen (Custom Tastatur Erweiterungen) - die Standard-Tastatur in iOS ersetzen.
Die genannten Erweiterungen sind iOS, aber viele von ihnen (einschließlich Widgets auszutauschen und Expansion al.) Laufen in OS X Yosemite, sowie in iOS. Anwendungen aus den App Store Entwickler der Mac Gesicht ähnliche Beschränkungen Sandbox und Implementierung von Erweiterungen biß ihr Leben vereinfachen. Obwohl höchstwahrscheinlich auch weiterhin viele Entwickler sich ihnen entziehen, überhaupt den Mac App Store zu vermeiden.
Diese vorläufige Liste der Erweiterungspunkte unterscheidet sich von den System Intents (Intents System), in Android arbeiten. Apps auf Android verwenden, um die Filter des Betriebssystems, welche Maßnahmen zu verstehen, die sie durchführen und verarbeiten kann. Zum Beispiel, Twitter und Facebook können Fotos und Links posten; Google Drive und Dropbox können verschiedene Dateien herunterladen; Chrome und Firefox kann Webseiten öffnen, usw. Third-Party-Entwickler können sogar festlegen, Filter selbst, die im Betriebssystem betrieben werden kann.
Zur gleichen Zeit, ist iOS viel Einschränkung in dieser Hinsicht, wenn auch nicht ohne Grund. Doch für den normalen Anwender nicht alle diese bemerken und ein wenig erweitern, als von ihren Kollegen Android, iOS unterscheiden, während Sicherheitspolitik beibehalten wird.
Wie Erweiterungen zu installieren, und wie funktionieren sie?
Sowie alle der offiziellen App für iOS, heruntergeladene Erweiterungen aus dem App Store. Die größte Einschränkung hierbei ist, dass Apple nicht Entwickler erlaubt Erweiterungen in „reiner Form“ zu veröffentlichen. Jede Erweiterung muss als Teil der Anwendung verteilt werden (mit APP), die wiederum sollte jede Basisfunktionalität tragen und für den Benutzer nützlich sein. Das heißt, Entwickler kann nicht in dem App Store nur ein Widget oder nur die Tastatur veröffentlichen, wie es jetzt im Android passiert. Zur gleichen Zeit bietet Apple verhängen keine Beschränkungen für die Anzahl und Arten von Erweiterungen, die Ihre Anwendung enthalten.
Weitere Empfehlungen für die Apple-Entwickler sind nicht erforderlich. Dies gilt für die Gestaltung von Erweiterungen, die zu den Standard-OS-Anwendungen entsprechen: Widgets nicht unterscheiden aus bestehenden Widgets in Notification Center und Foto-Menü in der Camera Roll Bearbeitung - radikal von nativer. Wahrscheinlich gibt es diejenigen, die mit diesen Empfehlungen nicht entsprechen, sondern vor allem, weil die Mehrheit der Entwickler und sich an die Philosophie von Apple bei der Erstellung ihrer Anwendungen.
Jede Erweiterung wird auf verschiedene Weise aktiviert. Widgets - von Notification Center, Tastaturen - von den regionalen Systemeinstellungen. Erweiterung der Bildbearbeitung und Lagerung ist nur in bestimmten Situationen von Anwendungen aufgerufen, die mit ihnen Interaktion bietet. Verstärkter Austausch und Aktion kann aus jeder Anwendung heraus aufgerufen werden, aber die Entwickler müssen die Aktivierungsregeln hinzufügen zu erweitern und festzulegen, welche Daten verarbeitet werden soll. Wenn nur Ihre Erweiterung für den Austausch von Fotos bietet, müssen Sie es bei der Aktivierung der Regeln festlegen, die die Erweiterung nicht angezeigt, wenn ein Benutzer einen Link oder ein Dokument teilen.
Trotz der Tatsache, dass alle Erweiterungen müssen „verpackt“ werden in der Anwendung (die Anwendung), können sie unabhängig voneinander arbeiten. Jede Erweiterung - das ist eine kleine binäre .appex-Datei, die die Arbeit erledigt und geschlossen öffnet, ohne dass die Hauptanwendung starten zu müssen. Für Erweiterungen, die die gleichen Aufgaben wie ihre Hauptanwendung (z.B. Instagram, verwendet zum Hinzufügen eines Filters durchzuführen zu dem Bild) ein Einbau-Rahmen für die Übertragung von ausführbarem Code für die jeweilige Aufgabe erforderlich zu verwenden, werden gefördert. Erstellen Sie einen Rahmen, setzen Sie den Code in dort, und Sie werden in der Lage, diesen Rahmen zu bauen, sowohl in der Anwendung und in der Verlängerung. Die einzige Einschränkung dabei ist, dass diese Anwendungen iOS Version 8 und höher erfordern, wie auf früheren Betriebssystemen nicht ausgeführt werden.
Einer der Gründe für die Erweiterung separat von der Anwendung davon laufen ist Apple harte Grenze für die Menge an Speicher verbraucht. Insbesondere gilt dies für das Widget, wenn der Benutzer mehrere gleichzeitige Widgets haben.
Hinzu kommt, dass die Widgets nicht für eine lange Zeit arbeiten, und mit Gewalt aus dem Gerät nach dem Schließen entfernt. Für Erweiterungen, die langen Hintergrundaufgaben ausführen, wie zum Beispiel das Herunterladen von Dateien, empfiehlt Apple, diese Aufgaben-System zu übertragen, und schließen Sie es dann.
Das ist alles, die wichtigsten Punkte, auf iOS-Erweiterungen. Wie Sie streng dokumentiert alle möglichen Erweiterungen sehen können, ist aber zeichnen sich dadurch aus, dass trotz der erweiterten Befugnissen, von Entwicklern und deren Anwendungen zur Verfügung gestellt, sie verletzen sie nicht Sicherheitspolitik bestehende und Arbeit im Rahmen ihrer "Sandbox".
Sicherheit der Benutzerdaten. Unterschiede von Android
Auf den Punkt gebracht, ist der Unterschied zwischen dem Ansatz für die Privatsphäre und die Sicherheit Daten iOS und Android-Nutzer Es ist, dass letztere Entwickler mit einer Reihe von dem Seil bietet, die ausreichend ist, hängen sich.
In der Tat, wenn Android-Nutzer die Standardsicherheitseinstellungen vor der Installation jeder Anwendung lesen Sie die umfangreiche Liste Dinge, die sie tun können - die Gefahr ihrer personenbezogenen Daten an Dritte oder Malware-Infektion war nicht so groß. Aber all diese Rechte Anwendungen führen zu Verwirrung. Manche Menschen wählen, Anwendungen installieren, nicht nur von Google Play, sondern auch aus anderen Quellen; andere wollen root-Zugang zu bekommen, um alternative Distributionen zu installieren - keine Probleme, alles ist möglich mit Android. Solche Dinge sind einige Nutzer auf die Plattform von Interesse, aber sie tun es alle auf eigene Gefahr.
Schauen Sie sich die iOS, die auch bei der Einführung von Erweiterungen nach wie vor Barrieren aufrichtet zwischen Anwendungen und die Erweiterungen und Datenanwendungen zu schützen Benutzer (und ihre Informationen) aus selbst. Wie wir gesagt haben, können immer noch Anwendungen sie nicht direkt ansprechen, weil die Expansion kleine binäre Dateien, die getrennt von der Container-Anwendung ausgeführt werden. Jede Anwendung, die Erweiterung (Host-App in Apple-Terminologie) verursacht bezieht sich zu erweitern, aber nicht auf die Anwendung, dass sie umfasst (die app). In diesem Fall, wenn die Host-Anwendung die Erweiterung verwenden muss, sendet er eine Anfrage über das System Rahmen, anstatt direkt und niemals Zugriff auf Anwendungsdaten hat.
Entwickler von FortyTwo Inc. Eduardo Fonseca erklärt, wie die Verwaltung iOS-Apps zu halten und Erweiterungen „in sicherem Abstand.“
„Jede Erweiterung - das ist ein separates Paket (Bündel) innerhalb des Hauptbündels Anwendung, die separaten ausführbare Dateien enthält“ - sagt Fonseca. „Das Komische ist, dass die Expansion ist keine Anwendung. Es ist durch den Apple-System Rahmen verursacht wird, eine klar definierte Schnittstelle, die den Prozess des Startens Expansions einleitet. In diesem Fall wird der Code separat ausgeführt, und dies bedeutet, dass die Leistung von Drittanbieter-Code nicht in der Anwendung sein kann. Daher besteht keine Gefahr, dass die Anwendungen, die die Erweiterung (zB Safari) unterstützen, können Probleme auftreten, wenn Sie Erweiterungen in anderen Anwendungen verwenden. Sie sind wie Öl und Wasser - sie passen nicht zusammen ".
Auch wenn die Erweiterung auf, die die gleiche Anwendung beziehen notwendig ist, BUET es nur durch das System API auftreten. Standardmäßig enthält die App die Erweiterung und den Ausbau der selbst nicht die Daten des anderen zugreifen kann.
Für den Austausch von Daten zwischen ihnen, müssen Sie sie Teil einer Gruppe von Anwendungen (App-Gruppe) machen, die es ihnen erlauben, einige allgemeine Informationen in dem externen Behälter zu haben, die beide außerhalb der Sandbox. Sie haben wahrscheinlich bemerkt, dass auf iOS in Google Chrome in Ihrem Konto einmal anmelden, werden Sie auch in und auf Google Maps und Google Drive angemeldet sein - es ist das Ergebnis der Verwendung der App-Gruppe ist. Aber selbst diese Gruppen beschränkt auf bestimmte Arten von Daten, die ausgetauscht werden können. Austausch gestattet Datenbank-Cache-Kontoinformationen. Doch für lokale Dokumente und Mediendateien ist nicht der Fall - sie immer noch verboten sind.
Einfach gesagt, Apple nicht einige andere Anwendungen den Zugang zu einer Sandbox haben wollen. Erweiterungen sind kleine Sandbox innerhalb einer anderen Sandbox, welche die Interaktion von verschiedenen Anwendungen erleichtern, aber nie in der Nähe von dem Start der Anwendung (Host-app) Datenanwendung erlaubt, die eine Erweiterung enthält (enthaltend app).
Mechanismen laufen Erweiterungen sind auch verschieden von der Anwendung ab. Wenn Sie die gleiche Erweiterung in mehreren Anwendungen wie Safari und Mail-laufen, wird das System öffnet zwei Kopien dieser Expansion, die in separaten Prozessen ausgeführt werden. Diese Erweiterungen werden in verschiedenen Speicherbereichen gespeichert. Somit wird die Information von beiden Anwendungen wird an verschiedenen Orten gespeichert sind, und sie haben nur Zugriff auf ihre Daten. Aus dem gleichen Grunde, öffnet Browser eine Reihe von verschiedenen Seiten in separaten Tabs oben.
Android bietet ein eigenes Sandbox-Modell, das auch die Daten in einer gespeicherten schützen soll Anwendung von anderen Anwendungen, die Zugriff auf diese nicht haben (obwohl, wenn gewünscht, Entwickler leicht umgehen können). Gerade hier gefährlich ist die Gewährung von Rechten und Schreibzugriff auf alle Daten von Anwendungen zu lesen, dass veraltet auch Android 4.2., obwohl die Anwendung noch in der Lage ist, die Daten von anderen zugreifen Anwendungen.
Auch hier sind alle diese Mechanismen nur wirksam, wenn sie richtig eingesetzt, aber die Menschen sind in der Regel selten sein Lesen Sie die Lizenzvereinbarung und nur mit diesen Anträgen zustimmen, die Software, setzen ihre Daten zu installieren bietet Risiko. Apple ist sehr gut geeignet, um dieses Problem, und auch jetzt in iOS eine komfortable Umgebung mit Privatsphäre Schaltern hat, die deutlich zu erkennen ist, was einige Informationen verwenden prilolzheniya. So etwas wie Google angekündigt, in Android 4.4, aber in der endgültigen Version von dieser war leider nicht da. Es hat keinen direkten Bezug auf die Verlängerung, aber dies ist ein gutes Beispiel dafür, wie die iOS 8, weiterhin Flexibilität im Interesse der Sicherheit und Privatsphäre der Nutzer zu opfern.
Apple-erlegt auch andere Einschränkungen auf Expansion - sie alle die API nicht verwenden können, die von Anwendungen zugegriffen wird. Insbesondere kundenspezifische Tastatur Anzahl der verbindlichen Anforderungen und Regeln beschränkt. Mechanismen der Interaktion von Apple Erweiterungen unterscheiden sich von denen, die Google und in der Tat geschlossen iOS 8 bleibt Betriebssystem im Vergleich zu Android. Anwendungen von Drittanbietern können immer noch nicht direkt untereinander kommunizieren und Systemelemente wie Home-Bildschirm oder Bildschirm sperren, ist die Anpassung, sowie Anwendungen nicht zugänglich für Standard.
Dennoch scheint es, dass Apple hat schließlich zu den einzelnen größten Beschwerden über seine mobile Plattform angehört und hat Maßnahmen ergriffen, aber charakteristisch für ihren Stil, ohne drastische Maßnahmen, die die Speicheranforderungen oder Sicherheitsrisiken erhöhen könnten Benutzer. Jetzt, während iOS 8 wurde noch nicht veröffentlicht worden ist, ist es schwierig, die Vor- und Nachteile eines solchen Ansatzes zu beurteilen, aber auf dem Papier sieht alles sehr vielversprechend.
(über)