En este momento, la mayoría de las 1.2 millones de aplicaciones en la App Store de Apple están escritas en Objective-C (salvo la aplicación WWDC, por ejemplo, que aparentemente está escrita en Swift). Por lo tanto, una herramienta para migrar automáticamente Objective-C a Swift sería enorme. Dado que Objective-C y Swift usan las mismas API de Cocoa / Cocoa Touch, parece que al menos esto debería ser posible. Cuando se lanzó ARC, Xcode tenía una herramienta realmente útil para facilitar el proceso de conversión, y existen herramientas como Python 2to3 para otros idiomas. Por supuesto, estas herramientas están lejos de ser perfectas, y el ajuste manual del código generado es inevitable (especialmente teniendo en cuenta que los idiomas tienen características diferentes), pero darles algo a los desarrolladores realmente reducirá la barrera de entrada para migrar proyectos existentes a Swift.
En la misma línea, es crucial asegurar que Swift y Objective-C puedan coexistir sin problemas en el mismo proyecto. Sin embargo, parece que Apple ha hecho un buen trabajo al respecto.
Finalmente, creo que sería un error para Apple tratar de generalizar el lenguaje para otros casos de uso. La estrecha integración con las API de Apple y el ajuste de rendimiento para el hardware de Apple harán que el lenguaje sea la mejor herramienta indiscutible para el trabajo al desarrollar aplicaciones iOS / OS X, y como resultado ganará tracción. No creo que el lenguaje necesite ninguna tracción fuera del ecosistema de Apple, ya que eso podría hacer que sea una herramienta peor dentro del ecosistema de Apple.
- ¿Cuáles son algunas nuevas tecnologías?
- ¿El servicio de intercambio de baterías de Tesla permitirá a las personas actualizar sus viejas baterías Modelo S por el precio de una sola carga? ¿Cómo lidiará Tesla con ese problema?
- ¿Hay algún uso práctico para Amazon Echo?
- ¿Alguna vez lograremos la neutralidad de la red?
- ¿Cuáles son las mejores prácticas con respecto a los datos de prueba durante las pruebas de software (automatización)?