Legalidad de la compatibilidad de la aplicación OSX 10.X - Parallels [cerrado]

Soy usuario de Windows e ingeniero de software desde hace mucho tiempo y el año pasado compré mi primer MacBook Pro.

Uno de los problemas que realmente me ha sorprendido son las preguntas sobre la compatibilidad de las aplicaciones después de una actualización 10.X.

Tengo un código que escribí y aplicaciones que usé en Windows 95 que todavía se ejecuta felizmente en Windows 7, 8 y sin duda seguirá ejecutándose en Windows 10 cuando llegue.

Tengo un gran vacío en mi conocimiento de por qué existe este problema en OSX y me encantaría saber de la gente aquí cuáles son los problemas de tuercas y tornillos. Según mi comprensión de Windows, podría entender esto con un incremento de versión principal, pero no entiendo por qué una actualización de número de versión menor sería un problema.

Un problema particular para mí ha sido con Parallels Desktop. Durante los últimos meses, mi instalación de Parallels me ha estado diciendo que actualice de la versión 8 a la versión 10, ya que la versión 8 es "incompatible" con Yosemity y "no funcionará".

Hay publicaciones de empleados de Parallels en su propio foro de soporte que indican esto repetidamente a los usuarios, y la aplicación ofrece un cuadro de diálogo al iniciar la aplicación que también repite este mensaje.

Uno de los miembros de su personal de soporte incluso declaró en una publicación que cuando lo probaron en sus laboratorios, el software de VM simplemente ni siquiera se inició.

Bueno, ayer actualicé a Yosemity y lancé Parallels 8 y ejecuté mi VM sin ningún problema.

No sé sobre otros países, pero estas son prácticas de marketing completamente ilegales en el Reino Unido. Me han dicho tan claramente que lo que hice categóricamente no funcionaría cuando de hecho funcionó. Me he ahorrado una actualización de £ 35 por todas las cuentas.

Los clientes de Parallels se quejan del ciclo de actualización y dejan la plataforma de Parallels en masa en todas las cuentas y se cambian a la Virtual Box gratuita y, después de esta experiencia, ciertamente no les daré más de mi dinero.

Parece que muchos proveedores hablan de un incremento menor de la versión de OSX como si fuera un sistema operativo y un modelo de aplicación completamente diferentes, lo que, en mi opinión, simplemente no tiene sentido.

Dado que todavía tengo que dedicarme al desarrollo de software para Mac con cualquier software del mundo real, no estoy al tanto de cuáles podrían ser estos problemas y ahora que siento que Parallels me ha engañado por completo, me siento particularmente molesto porque podría haber gastado £ 35 en una actualización de software basada en lo que parecen ser mentiras.

¿Cuáles son estas posibles incompatibilidades? Obviamente, el software "antiguo" no suele usar las nuevas funciones del sistema operativo, pero que me digan que mis aplicaciones ni siquiera se iniciarán cuando, de hecho, lo hacen es una práctica comercial seriamente cuestionable e incluso es ilegal en mi país.

Esta pregunta no parece ser sobre hardware o software de Apple dentro del alcance definido en el centro de ayuda.

Respuestas (2)

Para proporcionar una idea de los cambios en el nivel de la API entre las versiones de OS X, es útil el documento para desarrolladores What's New in OS X de Apple .

El marco obsoleto y las listas de funciones pueden ser extensos entre las versiones 10.x:

Frameworks y API en desuso

Periódicamente, Apple agrega macros de obsolescencia a las API para indicar que esas API ya no deben usarse en desarrollo activo. Cuando ocurre una desaprobación, no es un fin inmediato de la vida útil de la API especificada. En cambio, es el comienzo de un período de gracia para la transición de esa API a reemplazos más nuevos y modernos. Las API en desuso suelen permanecer presentes y utilizables en el sistema durante un tiempo razonable después de la versión en la que quedaron en desuso. Sin embargo, el desarrollo activo en ellos cesa y las API solo reciben cambios menores para adaptarse a los parches de seguridad o para corregir otros errores críticos. Las API obsoletas pueden eliminarse por completo de una versión futura del sistema operativo.

Como desarrollador, evite usar API en desuso en su código lo antes posible. Como mínimo, el nuevo código que escriba nunca debe usar API obsoletas. Y si su código existente usa API obsoletas, actualice ese código lo antes posible . Afortunadamente, el compilador genera advertencias cada vez que detecta el uso de una API obsoleta en su código. Puede usar esas advertencias para rastrear y eliminar todas las referencias a esas API.

Para aclarar, los lanzamientos 'puntuales' de Apple son el equivalente a las principales actualizaciones de Windows...
10.9 a 10.10 es un cambio tan grande como Windows 7 a 8.

Apple siempre ha tenido un enfoque mucho más duro para la compatibilidad con versiones anteriores. Quieren que tenga lo último y lo mejor, y no son compatibles con los sistemas operativos más antiguos durante mucho tiempo, "Los últimos 3" serían aproximadamente el máximo incluso para las actualizaciones de seguridad.
iOS es aún más estricto, dejaron de firmar iOS 7 una semana después del lanzamiento de iOS 8, para cualquier hardware que sea capaz de ejecutar 8.

La compatibilidad con versiones anteriores de Windows se ve afectada por un legado cada vez mayor de bibliotecas .net y C, dispersas incluso en una máquina Windows actual. Apple dice, sigue el ritmo o te quedas atrás.

Sin defender de ninguna manera a Parallels, ¿investigó realmente cuál era su problema de incompatibilidad? El último anuncio oficial que puedo ver de ellos fue en julio, mucho antes del lanzamiento final de Yosemite; tal vez la situación cambió en betas posteriores.

La publicación a la que me refería fue escrita por un empleado de Parallels ayer...
Claro, entiendo la perorata, pero mi pregunta era bastante específica "¿Cuáles son estas posibles incompatibilidades?". Para ser justos con la compatibilidad con versiones anteriores de Windows. Escucho esto constantemente de las empresas como una de las principales razones por las que será difícil para OSX entrar realmente en el mundo empresarial de misión crítica. Las grandes organizaciones ejecutan MUCHO software heredado que es simplemente demasiado costoso para tener que implementar nuevas versiones todo el tiempo, es una simple consideración financiera al final del día...
Entonces, básicamente, lo que está diciendo es que una actualización 10.X podría alterar drásticamente la forma de las diversas API de OSX. De hecho, podría reemplazar algunos al por mayor y desaprobar otros...
Sí, en resumen, aunque en ese nivel está "por encima de mi nivel de pago", por lo que no puedo proporcionar detalles, lo siento. Para el futuro Googleability [si puede ahorrar energía], podría valer la pena reformular la pregunta inicial para apuntar más directamente a ese problema. Entonces sería más probable obtener respuestas buenas y sólidas y puedo sacar mi postura defensiva inicial de esta respuesta y comentarios, manteniendo todo más relevante para que otros usuarios busquen más tarde.