De todas las nuevas características de iOS 8 presentados en la WWDC, la más importante, quizás, es la extensión (extensibilidad). Deben tener un gran impacto en el desarrollo posterior del sistema operativo. A menudo, esta característica se describe como "la capacidad de las aplicaciones de terceros para interactuar unos con otros." Esto, por supuesto, es demasiado exagerada, ya que la interacción no es la única posibilidad de extensiones, y no pueden comunicarse directamente entre sí, para ser exactos.
Hemos leído la documentación para desarrolladores y vídeos desde la WWDC, para entender cómo funcionan las extensiones y cómo Apple ha encontrado un compromiso entre la apertura de la seguridad del sistema y los datos del usuario y le gustaría hablar de ello usted.
Entonces, ¿qué hacer la expansión?
Habilitación de aplicaciones de terceros para acceder a unos de otros, es sólo un problema, que es resolver la expansión. Lado del teclado; la integración de aplicaciones con otro almacenamiento en la nube, además de iCloud; widgets de notificación centro - todo esto también es asumido por las extensiones.
De hecho, no todo el IOS puede ser "mejorado" desarrolladores de terceras partes. Por ejemplo, si desea reemplazar la aplicación por defecto o añadir un interruptor en la sala de control - que no va a funcionar. Apple proporciona no es tanto claramente definido "puntos de extensión» (puntos de extensión), para mostrar a los desarrolladores con cualquier parte del sistema operativo que puedan trabajar. Una lista de estos puntos de la siguiente manera:
- Hoy expansión (extensiones Hoy) o widgets - se utilizan para proporcionar información al instante en el Centro de Notificación. Se puede considerar como una respuesta a las baldosas en vivo de Windows Phone y Android widgets de la pantalla de inicio.
- mejorar el intercambio de (extensiones de Acciones) - le permiten enviar fotos, enlaces u otros archivos de la aplicación en los servicios en línea. Tales como la publicación de fotos en Pinterest o subir archivos a Dropbox o onedrive directamente desde la aplicación.
- ampliación (extensiones de Acción) - se usa para "manipulación o visualización de contenidos en el contexto de otra aplicación." En otras palabras, esto significa que se puede editar la foto, que está contenida en un documento de texto, o, Por ejemplo, como se muestra en la presentación, algo así como el uso de Bing Traducir para traducir texto en una ventana Safari.
- Extensiones para la edición de fotos (de edición de fotos) - extensiones pueden utilizar las capacidades de edición de otras aplicaciones cuando se ven imágenes en el rollo de la cámara.
- la ampliación de almacenamiento (Almacenamiento extensiones Provider) - Permite a las aplicaciones abrir documentos de una serie de almacenamiento en la nube. Por ejemplo, se puede utilizar para almacenar sus documentos de Dropbox y acceder a ellos directamente de la Oficina para el iPad o páginas.
- Las extensiones para los teclados de terceros (extensiones de teclado personalizados) - Sustituir el teclado estándar en IOS.
Dichas extensiones son iOS, pero muchos de ellos (incluyendo widgets de intercambiar y expansión al.) Que se ejecuta en OS X Yosemite, así como en iOS. aplicaciones de los desarrolladores de la App Store de Mac cara restricciones similares caja de arena y la aplicación de extensiones de bit simplificar sus vidas. Sin embargo, lo más probable, muchos desarrolladores continúan evadiendo ellos, evitando la Mac App Store en absoluto.
Esta lista preliminar de puntos de extensión se diferencia de los intentos del sistema (sistema Intentos), que trabajan en Android. Aplicaciones en Android utilizan los filtros para entender el sistema operativo las acciones que pueden realizar y mango. Por ejemplo, Twitter y Facebook pueden publicar fotos y enlaces; Google Drive, Dropbox y se pueden descargar varios archivos; Chrome y Firefox pueden abrir páginas web, etc. Los desarrolladores de terceros pueden incluso configurar filtros a sí mismos, que operarán en el sistema operativo.
Al mismo tiempo, el IOS es mucho limitación en este sentido, aunque no sin una razón. Sin embargo, para los usuarios normales no se dará cuenta de todo esto y ampliar un poco que será diferente de sus contrapartes Android, iOS, mientras que el mantenimiento de la política de seguridad.
Cómo instalar extensiones, y cómo funcionan?
Así como toda la aplicación oficial para iOS, extensiones descargadas desde la App Store. La mayor limitación aquí es que Apple no permite a los desarrolladores publican extensiones en "forma pura". Cada extensión debe ser distribuido como parte de la aplicación (que contiene APP), que a su vez debe llevar cualquier funcionalidad básica y sea útil para el usuario. Es decir, los desarrolladores no pueden publicar en la App Store simplemente un widget o simplemente el teclado, como está sucediendo ahora en el Android. Al mismo tiempo, Apple no impone ninguna restricción sobre el número y tipos de extensiones, que puede contener su aplicación.
No se requieren otras recomendaciones para los desarrolladores de Apple. Esto se aplica al diseño de las extensiones, que debe corresponder a las aplicaciones del sistema operativo estándar: los widgets no difieren de los widgets existentes en el Centro de Notificación y fotos menú de edición de la Lista de Cámara - radicalmente diferentes de nativo. Probablemente hay personas que no cumplan con estas recomendaciones, pero sobre todo porque la mayoría de los desarrolladores y se adhieren a la filosofía de Apple cuando la creación de sus aplicaciones.
Cada extensión se activa de diferentes maneras. Reproductores - Centro de Notificación, teclados - a partir de la configuración del sistema regional. La expansión de la edición y almacenamiento de fotos se llaman sólo en ciertas situaciones de aplicaciones que permite la interacción con ellos. Mejorar el intercambio y la acción se puede llamar desde cualquier aplicación, pero los desarrolladores deben añadir las reglas de activación para ampliar y especificar qué datos van a ser procesados. Si su extensión sólo prevé el intercambio de fotos, es necesario especificar que en la activación de las reglas que no aparece la expansión cuando un usuario quiere compartir un enlace o documento.
A pesar de que todas las extensiones deben ser "empaquetados" en el (app que contiene) de aplicación, que pueden trabajar independientemente. Cada extensión - esto es una pequeña .appex-archivo binario, que abre el trabajo hecho y cerrado sin tener que iniciar la aplicación principal. Para las extensiones que realizan las mismas tareas que su aplicación principal (por ejemplo Instagram, utiliza para la adición de un filtro de a la imagen) es recomendable que use un sistema incorporado en el marco de la transmisión de código ejecutable necesario para la tarea respectiva. Crear un marco, coloque el código de allí y usted será capaz de construir este marco, tanto en la demanda y en la extensión. La única restricción es que estas aplicaciones requerirán IOS versión 8 y superior, ya que no se pueden ejecutar en sistemas operativos anteriores.
Una de las razones para la expansión funcionar independientemente de la solicitud de la misma, es límite duro Apple en la cantidad de memoria consumida. En particular, esto se aplica al widget, ya que el usuario puede tener varios widgets concurrentes.
Además, los widgets no funcionan desde hace mucho tiempo, y desplazados por la fuerza desde el dispositivo después del cierre. Para las extensiones que realizan largas tareas en segundo plano, como la descarga de archivos, Apple recomienda para transferir estos sistemas de tareas, y luego cerrarla.
Eso es todos los puntos principales, en las extensiones de iOS. Como se puede ver todas las posibles extensiones estrictamente documentados, pero es notable por el hecho de que a pesar de los mayores poderes, proporcionado por los desarrolladores y sus aplicaciones, que no violen la política de seguridad y trabajar dentro de su existente "Caja de arena".
Seguridad de los datos del usuario. Diferencias con Android
En pocas palabras, la diferencia entre el enfoque de la privacidad de los datos y seguridad a los usuarios de iOS y Android Es que este último proporciona a los desarrolladores un número de la cuerda, que es suficiente para ahorcarse.
De hecho, si los usuarios de Android utilizan la configuración de seguridad por defecto antes de la instalación de cada aplicación lea la lista extensa cosas que puede hacer - el peligro de sus datos personales a terceros o infección de malware no era tan grande. Pero todas estas aplicaciones los derechos conducen a la confusión. Algunas personas optan por instalar aplicaciones no sólo de Google Play, sino también de otras fuentes; otros desean obtener la raíz de acceso, con el fin de instalar distribuciones alternativas - no hay problemas, todo es posible con Android. Este tipo de cosas son de interés a algunos usuarios a la plataforma, pero lo hacen todo en su propio riesgo.
Mira el IOS, que, incluso con la introducción de las expansiones aún erige barreras entre aplicaciones y sus extensiones y aplicaciones de datos a los usuarios a proteger su información (y) de ellos mismos. Como hemos dicho, siendo las aplicaciones no pueden abordar directamente entre sí, debido a que la expansión es un pequeño archivo binario que se ejecutan independientemente de la solicitud que contiene. Cualquier aplicación que causa (app anfitrión en la terminología Apple) de expansión se refiere a expandirse, pero no a la aplicación que comprende (que contiene app). En este caso, cuando la aplicación host tiene que utilizar la extensión, se envía una solicitud a través del marco del sistema, en lugar de hacerlo directamente, y nunca tendrán acceso a los datos de la aplicación.
Desarrollador de cuarenta y dos Inc. Eduardo Fonseca se explica cómo administrar para mantener aplicaciones de iOS y extensiones "a una distancia segura."
"Cada extensión - esto es un paquete separado (paquete) dentro de la aplicación haz principal que contiene ejecutables independientes" - dice Fonseca. "Lo curioso es que la expansión no es una aplicación. Es causada a través de los marcos del sistema de Apple, utilizando una interfaz claramente definido, que inicia el proceso de iniciar la expansión. En este caso, el código se ejecuta por separado, y esto implica que la ejecución de cualquier código de terceros no puede estar dentro de la aplicación. Por lo tanto, no hay riesgo de que las aplicaciones que apoyarán la extensión (como Safari), puede experimentar problemas cuando utiliza las extensiones dentro de otras aplicaciones. Ellos son como el aceite y el agua - no se mezclan ".
Incluso si es necesario la expansión para referirse a que tienen la misma aplicación, se BUET sólo se producen a través de la API del sistema. Por defecto, la aplicación contiene la extensión y expansión de sí mismo no puede acceder a los datos de cada uno.
Para el intercambio de datos entre ellos, es necesario para que sean parte de un grupo de aplicaciones (Grupo de Aplicación), lo que permitirá que tengan alguna información general en el envase externo, tanto en el exterior de la caja de arena. Usted probablemente ha notado que una vez que acceda a su cuenta de Google Chrome en iOS, usted también estar conectado y para Google Maps y Google Drive - es el resultado de utilizar el grupo de aplicaciones. Pero incluso estos grupos están limitados a ciertos tipos de datos que pueden ser intercambiados. información de la cuenta de base de datos de caché de cambio permitida. Sin embargo, para los documentos y archivos de medios locales no es el caso - que todavía están prohibidos.
En pocas palabras, Apple no quiere que algunas aplicaciones tengan acceso a una caja de arena al otro. Las extensiones son pequeña caja de arena dentro de otra caja de arena, que facilitará la interacción de diferentes aplicaciones, pero nunca permitido cerca de lanzamiento de la (app host) aplicación aplicación de datos que contiene una extensión (que contiene aplicación).
Extensiones de mecanismos dirigidos son también diferentes de la aplicación. Si ejecuta la misma extensión en varias aplicaciones, tales como Safari y Mail, el sistema abrirá dos copias de esta expansión, que se desarrollará en procesos separados. Estas extensiones se almacenan en diferentes áreas de memoria. Por lo tanto la información de ambas aplicaciones se almacenan en diferentes lugares, y sólo tienen acceso a sus datos. Por la misma razón, los navegadores abren una variedad de sitios en pestañas separadas.
Android proporciona su propio modelo de caja de arena, que también tiene como objetivo proteger los datos almacenados en una aplicación de otras aplicaciones que no tienen acceso a ellos (aunque, si se desea, los desarrolladores pueden trabajar fácilmente alrededor de ella). Especialmente peligroso aquí es la concesión de derechos para leer y escribir el acceso a todos los datos de aplicaciones que anticuado incluso Android 4.2., aunque la aplicación es todavía capaz de acceder a los datos de otra aplicaciones.
Una vez más, todos estos mecanismos sólo son eficaces cuando se usan correctamente, pero las personas tienden a ser poco frecuente lea el contrato de licencia y solo estar de acuerdo con esas peticiones, que proporciona software para instalar, exponiendo sus datos riesgo. Apple está muy bien adaptado a este tema, e incluso ahora en iOS tiene un ajuste cómodo con interruptores de privacidad, que se pueden ver claramente lo prilolzheniya utilizar alguna información. Algo así como Google anunció en Android 4.4, pero en la versión final de esto, por desgracia, no estaba allí. No tiene ninguna relación directa con la extensión, pero esto es un buen ejemplo de cómo el iOS 8, sigue sacrificar la flexibilidad en aras de la seguridad y la privacidad de los usuarios.
Apple también impone otras restricciones a la expansión - que no pueden utilizar todo el API, al que se accede por las aplicaciones. En particular teclado personalizado serie de requisitos y normas de obligado cumplimiento limitado. Mecanismos de interacción extensiones de Apple son diferentes de las que el uso de Google y, de hecho, el IOS 8 permanece sistema operativo cerrado, en comparación con Android. Las aplicaciones de terceros aún no pueden comunicarse directamente entre sí mismos, y los elementos del sistema como la pantalla de inicio o en la pantalla de bloqueo no es susceptible de personalización, así como para aplicaciones Por defecto.
Sin embargo, parece que Apple ha escuchado finalmente a las solteras mayores quejas acerca de su plataforma móvil y ha tomado medidas, pero característico por su estilo, sin una acción drástica, lo que podría aumentar los requisitos de memoria o amenazas a la seguridad usuarios. Ahora, mientras que iOS 8 aún no ha sido publicado, es difícil juzgar las ventajas y desventajas de este tipo de enfoque, pero sobre el papel todo parece muy prometedor.
(vía)