Tratando con la policía de la AppStore de Apple.
En mi opinión, violan claramente las leyes de monopolio antimonopolio, especialmente en torno a las suscripciones en la nube de varias empresas. Dropbox parece haberse rendido, Microsoft está luchando y otras compañías que conozco tienen que lidiar con mucha basura de ellos. Para mí tiene sentido que hagan un recorte del 30% en las ventas de aplicaciones y productos digitales como compras en la aplicación, después de todo, brindan un servicio y una solución de instalación increíble. Sin embargo, cuando tiene una empresa que proporciona almacenamiento en la nube (como Dropbox, MSFT), Apple realmente no tiene que proporcionar nada más que permiso. No están alojando servidores, ejecutando operaciones en granjas de servidores, proporcionando el mecanismo de pago, la autenticación o cualquiera de esas cosas en este caso, entonces, ¿por qué deberían obtener un recorte del 30%?
Otro dolor al tratar con su policía de AppStore son las reglas descabelladas que tienen en sus pautas. Una regla popular es “no generará código de máquina en tiempo de ejecución e intentará ejecutarlo”. Esto evita la creación de máquinas virtuales (como AVM de Flash o V8 de Google para JS, etc.). Esto es simplemente IMO anticompetitivo. Afirman que es por seguridad, pero no lo es. Al final del día, el código de la máquina debe llamar a las API del sistema operativo para hacer cualquier cosa fuera de su entorno limitado de aplicaciones, y esas API del sistema operativo ya están protegidas en el kernel por las restricciones de seguridad apropiadas del entorno limitado.
La AppStore tiene otras políticas extrañas que van más allá de crear un gran “jardín amurallado” para sus usuarios (que a todos nos encanta, de verdad). Algunas de sus políticas son puramente anticompetitivas y anti-confianza. Obviamente no soy abogado, pero me parece bastante básico. Sería interesante ver a los abogados de MSFT ir tras ellos por esto debido a Office 365 o Skydrive, si alguna vez sucede.
Los desarrolladores parecen ser ciudadanos de segunda clase en su ecosistema.
Ciertamente nunca verás un youtube de Steve Jobs o Tim Cook haciendo algo como esto:
Apple cambia las API con frecuencia, Xcode es bastante defectuoso y accidentado, el depurador apesta especialmente en comparación con la oferta de MSFT, su oferta de inteligencia es muy problemática y harán cambios drásticos en SDK e iOS que romperán nuestras aplicaciones y luego tenemos que irnos volver y arreglarlos, y hacer una versión de actualización. Todo esto equivale a tiempo de ingeniería real perdido en “mantenerse al día”. Este es el momento que podríamos utilizar para crear nuevas funciones o corregir errores en nuestras aplicaciones.
Otra cosa aleatoria que me molesta es cómo las actualizaciones del Centro de notificaciones deben realizarse a través de un socket con un servidor en ejecución. Esto hace que sea imposible hacerlo a través de Google App Engine, y presenta otros desafíos de otra manera. Simplemente conviértalo en una interfaz REST Apple, GOSH! (Estilo de la dinamita de Napoleón). Si el deseo es maximizar el rendimiento por conexión, solo proporcione una forma de agrupar n notificaciones por llamada API REST.
Dicho todo esto, todavía nos encanta el desarrollo de iOS. No hay excusa para que XCode sea tan descabellado como sea, y para que el depurador sea tan malo como lo hace, pero aparte de eso, todo se hace para impulsar la innovación, y eso está bien. A Apple no le importa mucho la compatibilidad con versiones anteriores (como lo hace Microsoft), pero está bien porque la ruta de actualización de iOS es gratuita y muy fluida. Los simuladores son geniales (mucho mejor que Android), Obj-C ++ fue la elección de idioma correcta, los guiones gráficos son agradables y las herramientas de creación de perfiles son satisfactorias.
Me gustaría ver que Apple haga que sus herramientas de desarrollador sean tan increíbles como iOS para los consumidores. Echa un vistazo a lo que Adobe mostró recientemente en un MAX Sneak (depuración inversa), me encantaría ver a Apple salir con algo como esto. La depuración básica de XCode ni siquiera es tan buena como lo que Microsoft Visual Studio y Eclipse tenían hace más de 10 años, pedir una característica como la depuración inversa parece ser un gran objetivo para Apple:
Sneak Peeks de MAX 2011 – Sneak Peek de MAX 2011 – Depuración inversa en Flash Builder en Adobe TV
(¡SÍ! Un botón Rebobinar en tu depurador, es como magia).