¿Qué hay de nuevo en Xcode 9?

Lo que vas a crear

Los anuncios de WWDC de este año se centraron en los nuevos y maravillosos SDK, como ARKit, y los cambios en iOS 11. Sin embargo, Apple también ha realizado mejoras significativas en Xcode con Xcode 9. No se verá superado por los otros anuncios, la nueva versión de Xcode Es un salto adelante para los codificadores. Los desarrolladores están seguros de ser felices!

Incluido en las mejoras de este año:

  • Soporte actualizado para Swift 4, incluyendo soporte paralelo para Swift 4.0 y 3.2
  • mejoras de velocidad súper cargadas en Xcode Project Navigator y Editor, desde la indexación hasta las herramientas de refactorización
  • un componente de administración de código fuente (SCM) completamente reconstruido, con integración perfecta de Git y GitHub
  • capacidad de ejecutar múltiples simuladores concurrentes, así como depuración inalámbrica en dispositivos físicos como el iPhone y Apple TV
  • una nueva herramienta Main Thread Checker para asegurar el cumplimiento de los hilos UIKit y AppKit
  • Representación de Interface Builder mejorada de componentes de UI.

Ciertamente, esta es una lista muy emocionante de cambios, así que vamos a ir uno por uno, comenzando con Swift 4.

Soporte para Swift 4

Swift está en constante evolución año tras año, y este año Xcode es compatible con la última versión de Swift, Swift 4. Si bien la última iteración de código abierto no es un salto tan grande como las versiones anteriores, Xcode 9 ha hecho que el proceso sea parejo. más conveniente. 

Para empezar, Xcode 9 ahora admite la capacidad de compilar objetivos Swift 4.0 y Swift 3.2 simultáneamente, lo que significa que como desarrollador, puede elegir migrar su proyecto gradualmente en lugar de todos a la vez, y puede tener sus objetivos del proyecto escritos en la última o última versión de idioma.

El compilador de Xcode 9 comprende ambas versiones y, a través del Asistente de migración de Xcode, ahora le pedirá a los usuarios que seleccionen de forma selectiva qué objetivos migrar a la versión 4.0. 

De hecho, Xcode 9 evalúa su código y proporciona información sobre el estado de cumplimiento de la modernización de su proyecto y las mejores prácticas, a través de Editor> Validar opción de menú. 

Proyecto Navegador y mejoras del editor

A continuación, Xcode 9 obtiene algunas mejoras necesarias al IDE en sí mismo, en particular a los componentes Project Navigator y Source Editor, comenzando con un motor de indexación más rápido que aumenta su capacidad de búsqueda y ofrece resultados más rápidamente.. 

Los desarrolladores pueden buscar en una base de código grande y obtener resultados al instante, ya que el motor de indexación ahora también indexa los archivos a medida que se compilan, mientras que los archivos anteriores en un estado de compilación no estaban sujetos a la indexación. Esto le da a los desarrolladores la capacidad de saltar rápidamente y buscar archivos de proyectos y bibliotecas vinculadas sin problemas, un beneficio positivo, especialmente cuando trabaja con CocoaPods y áreas de trabajo de proyectos múltiples. 

El Editor también se ha reconstruido, habilitando, como dice Apple, un "editor rápido basado en estructura que le permite resaltar y navegar su código de manera inteligente". Lo que esto significa es un nuevo motor de resaltado que reconoce mejor los bloques agrupados lógicamente, y que le brinda herramientas inteligentes para navegar entre las partes relacionadas de su código base..

Refactorización

Además de permitir a los desarrolladores navegar fácilmente de una clase a otra, o de un método a otro, Xcode también proporciona una característica de refactorización completamente nueva. La herramienta de refactorización proporciona un panel de editor modal para comparar todos los cambios posibles a medida que extrae y refactoriza los métodos Swift. Esto facilita la refactorización, incluso entre los métodos Swift y Objective-C. 

Ahora puede actualizar símbolos, modificar captadores y configuradores, sintetizar iVars y autocompletar los métodos de protocolo obligatorios para su conformidad, todo con un solo clic. 

Edición de Markdown

Otras mejoras menores incluyen soporte nativo para archivos Markdown (renderizados con los estilos Markdown) en el editor. Esta mejora tiene sentido considerando la integración más profunda de Xcode con GitHub, y es útil poder acceder README.md Archivos más visualmente dentro del editor.. 

Swift parques infantiles

Xcode 9 también proporciona nuevas plantillas de iOS Playground que puedes probar no solo en Xcode sino también en Swift Playgrounds para iPad!

Otras mejoras de pequeños editores

Además, es una pequeña mejora, pero el editor ahora permite que los usuarios aumenten o disminuyan el tamaño de la fuente del editor usando la configuración de macOS atajos. 

Otra pequeña mejora es con la creación, cambio de nombre y eliminación de grupos en el Navegador de proyectos. Los cambios en un grupo ahora se reflejarán en la carpeta asociada, asegurando la consistencia de los nombres y eliminando la molestia que muchos desarrolladores tuvieron con la forma en que Xcode funciona con las carpetas del sistema de archivos.. 

Finalmente, las mejoras en el Catálogo de Activos de Xcode agregan soporte para el nuevo estándar abierto de imagen HEIF que es parte de iOS 11.

Mejoras en la gestión de control de fuente 

Una de las mejoras más notables de Xcode ha sido con la gestión integrada de control de fuente, que hasta ahora se había descuidado. En lugar del anterior SCM semicocido que nunca se sintió parte de Xcode, Xcode 9 ahora incluye una integración SCM completamente renovada.

Desde un nuevo navegador SCM que se integra de manera más perfecta, también obtiene formas más poderosas de trabajar con ramas y etiquetas. No solo eso, sino que Xcode ahora cuenta con una profunda integración con GitHub que le permite administrar su cuenta directamente desde las preferencias de Xcode, crear repositorios de GitHub con un solo clic y navegar por repositorios públicos desde el editor. 

Para ver más de cerca las nuevas características de SCM en Xcode 9, consulte nuestra publicación Novedades con soporte de Git en Xcode 9.

Depuración y mejoras en el simulador

Para no quedarse atrás, la depuración también llamó mucho la atención en Xcode 9. Empezaremos por ver qué hay de nuevo en Xcode Simulator..

Simulador de Xcode

Anteriormente, al iniciar Xcode Simulator, solo podía iniciar un Simulador a la vez. Por lo tanto, si tuviera que realizar pruebas en varios tipos de dispositivos, tendría que ejecutar cada uno de ellos. Esto hizo que las pruebas fueran más lentas, ya sea para pruebas manuales o automatizadas.

Esto ha cambiado en Xcode 9. Por primera vez, los desarrolladores pueden ejecutar varios simuladores simultáneamente, con herramientas de prueba automatizadas que ahora pueden ejecutar pruebas en paralelo. 

Apple ha introducido algunos otros ajustes menores pero útiles en el simulador. Una de ellas es que puede mantener presionada la tecla Opción para cerrar la ventana del simulador pero mantenerla en ejecución en segundo plano. También puede iniciar Simulator desde la línea de comandos, que es útil para las herramientas de prueba y entrega automatizadas.. 

Los desarrolladores también pueden grabar videos de Simuladores, además de tomar capturas de pantalla, lo cual es útil para la publicación de la App Store.. 

Por último, pero no menos importante, los desarrolladores que pasan del simulador a las pruebas en dispositivos reales ya no necesitan conectar sus dispositivos físicamente. Apple ahora permite a los desarrolladores cortar el cable y depurar dispositivos iOS y Apple TV de forma inalámbrica, con una función llamada Depuración de red.

Comprobador de hilo principal

Una nueva utilidad de depuración independiente que Apple ha introducido junto con Xcode 9, Main Thread Checker es capaz de detectar el uso no compatible de SDK prominentes como AppKit y UIKit desde un hilo de fondo. Por ejemplo, los desarrolladores podrían estar usando UITableView acciones en el subproceso en segundo plano, lo que podría resultar en efectos visuales extraños y actualizaciones defectuosas. El verificador de subprocesos principal está habilitado de forma predeterminada y se puede configurar a través del editor de esquemas. 

Servidor Xcode incorporado

Xcode 9 ahora tiene bots de Xcode Server incorporados y estándar, eliminando la necesidad de que los desarrolladores tengan una instalación de macOS Server. Esto significa que los desarrolladores pueden ejecutar bots de Xcode Server en cualquier máquina y aprovechar las mejores prácticas de integración continua.. 

Mejoras de Interface Builder

Los desarrolladores han estado viendo cambios y mejoras graduales en Interface Builder (IB) a lo largo de los años, con mejoras continuas en el renderizado de pantallas. Xcode 9 continúa refinando IB al representar los componentes de la IU en el lienzo con mayor precisión. Los componentes mejorados incluyen navegación, pestaña y las barras de herramientas. 

Otra característica nueva es que Xcode y IB ahora advertirán a los desarrolladores cuando las restricciones de vista podrían causar problemas de localización. Por ejemplo, se le avisará cuando un cambio en una vista podría hacer que las palabras en otro idioma, como el alemán, se trunquen o se recorten. Esto sin duda ahorrará mucho tiempo para los desarrolladores que admiten varios idiomas.. 

Hablando de diseños, Interface Builder ahora también admite guías de áreas seguras de diseño automático, que son sugerencias que ayudan a los desarrolladores a organizar los elementos de la IU. Esto desaprueba las guías de diseño superior e inferior en versiones anteriores de Xcode.

Conclusión

La última entrega de Xcode proporciona una gran cantidad de nuevas características que mejorarán la productividad del desarrollador. Junto con el anuncio de Swift 4, Xcode hace que la migración de Swift 3.2 a la última versión sea mucho más aceptable, gracias a su soporte para la migración gradual. Xcode también ha recibido mejoras oportunas y notables de velocidad en la indexación de búsqueda y un editor completamente reconstruido que es más consciente del contexto, con nuevo soporte para refactorización.. 

SCM ahora se ha convertido en un ciudadano de primera clase, lo que significa que los desarrolladores ya no tienen que alternar entre Xcode y un editor de terceros de SCM para sus necesidades de administración de git. El simulador se ha beneficiado de algunas de las mejoras más notables, con la capacidad de ejecutar varios simuladores concurrentes para realizar pruebas en varios dispositivos de manera más expedita, así como la conveniencia de poder cortar el cable y depurar en dispositivos físicos de forma inalámbrica. 

Mientras que iOS 11 ha fortalecido la comunidad de desarrollo gracias a sus nuevas y fascinantes funciones de SDK, Xcode 9 proporciona el vehículo de desarrollo perfecto para brindar innovación a sus usuarios. Manténgase atento a algunos tutoriales prácticos sobre el uso de los nuevos SDK de iOS. Y echa un vistazo a algunas de nuestras otras publicaciones sobre el desarrollo de aplicaciones iOS!