Código binario - la nueva tecnología de Apple, que nadie dice
Makradar De La Tecnología / / December 19, 2019
en WWDC 2015 hubo un número tan elevado de nuevos productos que muchos desarrolladores han perdido una de las mayores innovaciones presentadas por Apple, - código binario.
La sesión se dedicó a código binario, un representante de Apple dijo Andreas Vendker código binario App Store permitirá a las aplicaciones Optimizar para diferentes dispositivos anteriores a la carga de los usuarios. En otras palabras, las aplicaciones existentes en la App Store podrán aprovechar los nuevos procesadores sin cualquier acción por parte de los desarrolladores, en un modo totalmente automático, sin la actualización y volver publicación.
En la práctica, significa esto lo siguiente... Si Apple cambian repentinamente la arquitectura del procesador en un dispositivo en particular, los desarrolladores ya no hay necesidad de renovar su apoyo a su aplicación. Debido al hecho de que la tienda de aplicaciones automáticamente se volverá a compilar la aplicación, podrán desde el primer día Para trabajar con los nuevos procesadores, independientemente de si se trata de los desarrolladores se enteraron de su apariencia o no.
Lo que es código binario
Esta es una pregunta difícil. Para responder a esta pregunta, usted debe ser consciente de Nivel bajo de la máquina virtual (LLVM) - transformación del sistema universal que se utiliza para convertir el código existente al código nativo para diferentes arquitecturas.
LLVM se compone de dos partes: frontend y backend. El primero - un lenguaje de programación que permite crear su aplicación, como Objective-C, Swift, Python o Ruby. La segunda se utiliza para compilar la aplicación a código nativo, que es un conjunto de instrucciones comprendidas por la CPU tomado por separado.
así código binario es la capa peculiar, el lenguaje intermedio que puede volver a compilar la aplicación en un conjunto de instrucciones. Código binario utiliza LLVM, para obtener el código de la aplicación y la transferencia a código binario. La tecnología también sabe cómo convertir el código en una aplicación ejecutable, basado en el conjunto requerido de instrucciones.
En pocas palabras, que permitirá a Apple para añadir soporte para nuevas arquitecturas en el backend de App Store, que código binario, la forma de compilar la aplicación de la nueva arquitectura.
Apple no tiene miedo de cambiar la arquitectura de procesadores
Como demuestra la historia de Apple, - una de las pocas empresas a sobrevivir con éxito el cambio de la arquitectura en sus productos clave. línea de MAC de los ordenadores ha pasado por dos veces.
El cambio más significativo fue la transición a la arquitectura PowerPC a Intel en 2005. Apple no quiso desde la plataforma hardware obsoleto, dando a los desarrolladores nuevas posibilidades y pre-advertirles.
podemos recordar la transición a la arquitectura de 64 bits de los últimos desarrollos en el iPhone hace dos años. A continuación, los desarrolladores tenían que volver a compilar sus aplicaciones para agregar a sus 5s iPhone procesador de 64 bits. Con necesidad desarrolladores de código binario ya no volver a trabajar sus aplicaciones, incluso después de cambios significativos en el cálculo de la arquitectura.
Si Apple mueva repentinamente a la nueva arquitectura, por ejemplo, en el iPad Pro, gracias aplicaciones de terceros código binario apoyarán el nuevo dispositivo inmediatamente después de su lanzamiento.
Esta nueva tecnología es muy importante, que permitirá a los desarrolladores a seguir el ritmo de los tiempos en que el lanzamiento de nuevos dispositivos o cambiar la arquitectura existente.
IOS-desarrollador Caleb Davenport dice que código binario tiene dos ventajas y desventajas. Apple ya no es necesario esperar a que los desarrolladores proporcionar herramientas actualizadas para soportar nuevos dispositivos.
Sólo temo que mi solicitud puede ser compilado en configuraciones que no puedo verificar que, a su vez, dará lugar a errores, que no pueden reproducirse.
Caleb Davenport esperaba la aparición de dispositivos de 64 bits que se ofrecen a probar la aplicación en el hierro "real" y sólo entonces añadir el apoyo adecuado en él. En el caso del código binario, que compila automáticamente las aplicaciones para nuevos dispositivos sin la participación de los desarrolladores pueden pasar semanas antes un desarrollador compra un nuevo dispositivo para la prueba, mientras que los usuarios usarán su aplicación y para hacer frente a posibles errores.
Otros desarrolladores creen lo contrario. Así, Sord Janssen percibe positivamente las innovaciones de Apple, ya que reducen la cantidad de trabajo que tiene que llevar a cabo para apoyar a los nuevos dispositivos. Él cree que si Apple podría pronto cambió a los procesadores de Intel en el nuevo iPhone, por su parte, no se requiere ninguna acción para proporcionar soporte para dispositivos en el día del lanzamiento.
Los otros desarrolladores de código binario perciben un arma de doble filo. La tecnología parece ser increíble, pero aún no se ha resuelto.
El problema es que Apple no proporciona información suficiente para desarrolladores. A pesar de su gran importancia, código binario se mencionó con mucho cuidado en la WWDC, e incluso excluidos de algunas de las sesiones. En las aplicaciones que utilizan las bibliotecas de código cerrado, como por ejemplo, CocoaPods, código binario completo No es deseable, ya que puede provocar errores mientras que los desarrolladores de la biblioteca no agregan soporte para el nuevo la arquitectura.
Lo más probable, más detalles estarán más cerca de la salida de iOS 9 watchos y 2, pero todavía extraño que Apple no es proporcionado documentación completa de código binario en el WWDC, el evento, que también creó la iluminación para tales cambia.
Independientemente de la arquitectura en el futuro
usuario Medium bajo el seudónimo inercial limón él creeQue estos cambios indican algo más grande. Código binario requiere en aplicaciones para el reloj de Apple, pero sólo se recomienda para iOS, pero como sabemos, las recomendaciones actuales para el futuro a menudo se desarrollan en los requisitos obligatorios.
Para Apple Seguir, esto significa que en los relojes de próxima generación se puede utilizar completamente diferentes procesadores, pero para los desarrolladores no se hace ninguna diferencia - App Store se ajustará automáticamente sus aplicaciones existentes a la nueva dispositivo.
Además, código binario puede ser señal de un posible cambio en la arquitectura de Mac. Bob Mansfield, quien fue retirado del equipo ejecutivo para dirigir "proyectos especiales" es uno de los candidatos para trabajar en esto. Apple ya hace procesadores para iOS dispositivos, por lo que la transición a los chips de su propia producción en el Mac no se ve tan loco.
Sólo hay un escollo - código binario no es compatible con aplicaciones para OS X. Tal vez la palabra clave aquí es "todavía" porque el hombre que representa la tecnología en la WWDC, trabajando en un equipo OS X.
Tales cambios significarían para Apple la oportunidad de ir Mac con la arquitectura ARM Intel sin la necesidad de adaptar el marco de las aplicaciones de terceros existentes. En este caso, la empresa va a deshacerse de la dependencia de Intel, tienen dificultades con la entrega oportuna de los chips, debido a lo cual la liberación aplazada de nuevos productos de Apple.
Debemos entender que esto es un proceso largo y no necesariamente señal de código binario de tales cambios en el futuro próximo. Pero, de todos modos, código binario de Apple hacen más flexible para cambios de hardware radicales en sus dispositivos. También en el futuro, la empresa no tendrá que notificar a los desarrolladores acerca de los cambios que le permitan mantener la información sobre los nuevos dispositivos en secreto hasta la presentación.
Los desarrolladores disminuida a trabajar en la adaptación de aplicaciones para los siguientes cambios grandes. De hecho, por lo general no tienen que hacer, aunque muchos sospechan que el proceso no será tan fácil.
Código binario debe alcanzar una masa crítica antes de cambiar la arquitectura será un proceso sencillo. Sin embargo, Apple está jugando "en deuda" y dando una desarrolladores entusiastas la oportunidad de prepararse para lo que inevitablemente sucederá en el futuro.
vía