Se destacan dos posibles razones:
(a) Apple controla tanto el hardware como el software, por lo que puede asegurarse de que cada uno esté completamente optimizado el uno para el otro,
(b) Apple compró la compañía que inventó la tecnología multitáctil durante el desarrollo del iPhone original.
En el frente del escritorio, OS X se deriva de BSD UNIX, una plataforma de nivel empresarial desarrollada originalmente para servidores y estaciones de trabajo. No sé si les preocupa la compatibilidad con versiones anteriores del sistema operativo. MS Windows, por otro lado, ha evolucionado constantemente desde los días de DOS, migrando de 8 bits a 16 bits a 32 bits a 64 bits. Hay un montón de código heredado allí, y creo que un desarrollador admitió una vez que hay mucho código para el que se desconoce la funcionalidad, pero no se atreven a eliminarlo en caso de que rompa algo.
En el frente móvil, Android tiene que trabajar con una amplia variedad de plataformas de hardware diferentes, y se ve obstaculizado aún más mediante el uso de una variación sobre un tema de Java como base en lugar de código nativo: las aplicaciones Java se compilan en un código de bytes intermedio , que luego debe convertirse en algo que la máquina pueda entender mediante el JRE (Java Runtime Environment) de la plataforma. Google probablemente tomó esta decisión para permitir que los proveedores utilicen ARM, x86 o cualquier otra arquitectura de procesador, con la seguridad de que las aplicaciones de Android se ejecutarían en él, mientras que si hubieran optado por el estándar Linux de C / C ++, las aplicaciones tendrían que se ofrecerá por separado para cada arquitectura (o se ofrecerá como código abierto, con el instalador compilándolo para cada plataforma, lo que, por supuesto, haría que la instalación tomara mucho más tiempo).
- Cómo restaurar un iPhone sin una computadora
- ¿Qué tan bueno es el desarrollo de iOS con una máquina virtual?
- ¿Existe un Mac OS X equivalente a Drafts by Agile Tortoise para iOS?
- ¿Cuáles son algunas buenas ideas / ejemplos de aplicaciones móviles (Android / iOS)?
- ¿Hay alguna manera de usar Android e iOS en un iPhone 6?
Será interesante ver qué pasa (si es que ocurre) con Firefox OS, que está diseñado para que sus aplicaciones usen HTML5 / JavaScript (lenguajes web centrales).