En macOS Sierra, OS X 10.11.5 El Capitan cuando instales Safari 10, el navegador va a soportar un nuevo juego de extensiones construidas con una combinación de JavaScript, CSS y código nativo creado en Objective-C o Swift. Estas extensiones, como las anteriores, permitirán a Safari ampliar sus capacidades y permitirán hacer cosas para las que el navegador no está preparado.
Sin embargo, la forma en la que vamos a recibir estas extensiones cambia y también la forma en la que van a funcionar. Para empezar, el cambio más importante es la forma en la que las extensiones van a estar disponibles y cómo los desarrolladores van a poder añadir extensiones de Safari para sus aplicaciones. Hasta ahora, las extensiones para el navegador tenían su galería propia en la web de Apple desde donde podían descargarse e instalarse. En Safari 10, las extensiones dependerán de la App Store y por lo tanto, la actualización de las mismas, así como su instalación se beneficiarán de los procesos, facilidad y seguridad de la tienda de Apple. Adicionalmente, y este es un punto muy importante, las aplicaciones de cualquier tipo podrán incluir extensiones para Safari de forma que no solo estas extensiones permitirán añadir un servicio más por ejemplo a las aplicaciones de servicios web en la interacción con los mismos, sino que será factible crear un punto de unión entre Safari y otras aplicaciones para rápidamente poder gestionar la información presentada en el navegador desde una aplicación externa.
Un ejemplo que posiblemente veamos en la primera oleada de aplicaciones con extensiones para Safari serán los gestores de favoritos inteligentes, desplazando al propio gestor de Safari, aunque evidentemente, habrá muchas más oportunidades de negocio para los desarrolladores que quieran aumentar, mejorar y diversificar las oportunidades de negocio que implica esta tecnología integrada en Safari 10 con posibilidades de integrar herramientas de desarrollo web, por ejemplo, gestores que permitan mantener el control del precio de un producto entre varias web, la detección de información automatizada, el harvesting de datos o la adición de información adicional, como el etiquetado recursivo con metadatos adicionales a la navegación que luego permita búsquedas inteligentes en el historial o incluso la impostación de sesiones de usuario en servicios específicos que permitan tener dos o más conexiones al mismo de forma simultánea. Las posibilidades de negocio al respecto de nuevas aplicaciones con su correspondiente extensión de Safari son muy interesantes.
Al respecto de la seguridad, las nuevas extensiones de Safari, que dependerán de la App Store, requerirán de todo el proceso de validación por parte de los equipos de Apple, y a esta capa de seguridad proactiva se une la forma en la que deberán ser creadas, comunicándose de forma segura con la aplicación que contiene la extensión de Safari (al igual que ocurre con las extensiones de aplicaciones que ya estamos utilizando) a través de recursos compartidos. Más allá de esto, la aplicación irá firmada, como ocurre (o debería ocurrir) con el resto de aplicaciones, por el desarrollador, y la posibilidad de poder ejecutar código nativo en Objetive-C o Swift permitirá que las extensiones no solo sean más rápidas, sino que se eliminarán dos de los problemas básicos de las extensiones de Safari hasta ahora: su excesivo consumo de memoria y el exceso de uso de ciclos de procesador, aumentando la autonomía y limitando la ralentización del navegador y el sistema.
Pero de nuevo, más allá de la estructura técnica y el despliegue de las extensiones, lo más importante es el importante abanico de posibilidades que se abren a los desarrolladores a la hora de crear formas de ampliar las capacidades de Safari integrándolas en aplicaciones ya existentes o creando nuevas. Ese es el punto en el que empezar a pensar, tanto como usuarios como evidentemente, como desarrollador.
Vamos, el mismo esquema que las extensiones de iOS …
Y de OS X, macOS, pero con muchas más posibilidades.
Yo creo que se podía decir «recolección de datos», en lugar de «harvesting de datos», sin perder nada de su sentido. Que lo he tenido que buscar… ?