miércoles, 5 de mayo de 2010

¿En qué está pensando Apple?

No cabe duda que la mayor parte de las empresas no se pueden resistir a la tentación de hacer valer su poder de mercado en cuanto lo adquieren.

Apple tradicionalmente es visto como el "jugador más debil" cuando se le compara con Microsoft, por ejemplo. Sin embargo, su éxito en los últimos años con el iPhone hace que la realidad sea ya otra muy diferente. En el espacio de los teléfonos inteligentes o smartphones Apple es de hecho el jugador dominante con más de 50 millones de unidades vendidas (y ahora un millón de iPads en menos de un mes).

Básicamente ningún desarrollador interesado en el mundo de los smartphones puede ignorar al iPhone como plataforma. Por eso resultan tan preocupantes los cambios que Apple hizo recientemente al contrato con los desarrolladores que participan en su programa. Al liberar su contrato actualizado para el beta de iPhone OS 4.0 (que llegará este verano) incluyó cambios a la claúsula 3.3.1 especificando que las aplicaciones deben de haber sido originalmente escritas en Objective-C, C, C++ o JavaScript directamente con los APIs nativos.

Esto elimina la posibilidad de cualquier soporte multiplataforma o multilenguaje en el iPhone e iPad. Deja fuera a Flash, Silverlight o Java en el iPhone además de que complica mucho la existencia de MonoTouch, de Miguel de Icaza y Novell que permite desarrollar en C# para el iPhone (sin ser multiplataforma).

Steve Jobs incluso publicó esta carta explicando la decisión de Apple, refiriéndose específicamente a Flash.

I call bullshit. Si las ventajas que argumenta Jobs de escribir directo para el API del iPhone son tan grandes, el mismo mercado rechazará aplicaciones hechas con plataformas menos directas - no es necesario que Apple las prohiba.

Esta decisión de Apple limita mucho la competencia, al grado que el gobierno de EEUU ya está considerando iniciar una investigación antimonopolio.

¿Cómo cambian las cosas en unos años, no? A mi en particular me interesa mucho que MonoTouch sobreviva. Nos permite aprovechar los conocimientos existentes de C# para hacer aplicaciones de primer nivel en iPhone en menos tiempo, ya que C# - francamente - le hace morder el polvo a Objective C en cuanto a productividad.