Home » Noticias » Swift 1.2 Beta 2 disponible, cambios en Playground, Crash Organizer y otros
Swift 1.2 Beta 2

Swift 1.2 Beta 2 disponible, cambios en Playground, Crash Organizer y otros

Hace apenas 2 semanas, Apple sorprendió a todos con la presentación de iOS 8.3, una nueva beta que venía a romper la forma en que se trabajaba hasta ese momento con no más de una versión de prueba publicada para los desarrolladores. Pero al igual que la gran novedad de iOS 8.2 es el soporte del Apple Watch, la de iOS 8.3 es la nueva versión 1.2 del lenguaje Swift.

Sin duda, esto demuestra que Apple tiene varios equipos trabajando por poner al día sus sistemas y romper con esa imagen que han forjado con sus últimas versiones de no probar lo suficiente los lanzamientos. Y no solo eso, si no que se habla de un nuevo programa de beta público para iOS 8.3 (como ya existe para OS X) y que Apple tendría a cuatro equipos diferentes trabajando en las versiones 8.2, 8.3, 8.4 y la futura 9 que se presentaría en el próximo WWDC. A eso hay que sumar el equipo de ingenieros que trabaja en Swift como futuro cada vez más claro para los sistemas de Apple.

Novedades de Swift 1.2 y Xcode 6.3 Beta 2

Apple ha incorporado algunas interesantes novedades al lenguaje que lo siguen depurando y afinando aun más, dándole unas capacidades aun más potentes. La más destacada sin duda es la posibilidad de mezclar la evaluación de condiciones estándar dentro de un if, con los nuevos enlaces de opcionales if-let, que permiten estar anidados a partir de comas.

De esta forma ya no habría que dividir un if en dos instrucciones separadas, si no que podríamos enlazar el opcional evaluando si tiene o no contenido y cargar su posible valor en una constante a la vez que realizamos otras comprobaciones que nada tenga que ver con este opcional y que queramos que se ejecuten a la vez.

El operador de coalescencia nula (??) que permite evaluar si un opcional tiene valor y en caso contrario devuelve un valor por defecto, ahora tiene la posibilidad de ser usado para condicionales e incluir operadores lógicos y de comparación, de forma que tanto en la evaluación del opcional como en su opción a devolver se amplían las posibilidades de funcionamiento, como muestra el siguiente ejemplo que Apple ilustra en su documentación:

En este ejemplo validamos una condición múltiple con operador lógico: si la variable allowEmpty es verdadera o la propiedad .count del opcional items? devuelve contenido porque no está vacía usará esta condición para validar el if. Pero si el opcional items? está vacío, usará la otra expresión en la validación. Siempre, la elección de un lado u otro del operador de coalescencia dependerá del opcional, porque si está vacío aunque la otra condición se cumpla, se evaluará la expresión a la derecha del operador ??.

Además hay otros pequeños retoques como la eliminación en las cadenas de la propiedad .utf16Count, de forma que ahora hay que usar la función count (que por otro lado sustituye a la actual countElements) con el valor de la cadena como UTF16, es decir:

Crash Organizer

Pero esta nueva beta también trae novedades importantes, esta vez sobre el propio software Xcode. Como la incorporación de la nueva herramienta Crash Organizer o de gestión de informes de cuelgues de apps dentro de Xcode. De esta forma, desde el propio entorno, se sincronizarán los informes de fallos graves que sucedan en nuestras apps, tanto los de los usuarios internos como externos que estén probando con TestFlight, como los usuarios finales de la App Store que hayan decidido en la configuración de su sistema compartir la información de errores con los desarrolladores.

Xcode 6.3 Crashes Organizer

A través de esta nueva e interesante opción podemos ver todas las versiones de apps que tengamos publicadas y acceder a la información de los informes de cuelgues tanto de la App Store como de TestFlight, el número total de dispositivos donde ha ocurrido dicho cuelgue, un informe de muestra del conjunto de cuelgues, un informe diario de incidencias y con la seguridad de eliminar toda la información personal que pueda contener cada informe para que los datos sean completamente anónimos pero sirvan de guía a los desarrolladores para optimizar y corregir sus apps.

Los informes están disponibles para todas aquellas apps subidas a iTunes Connect que hayan sido procesadas con símbolos (archivos dSYM). La herramienta permite incluso ver el código fuente asociado al cuelgue dentro de su contexto para localizar mejor el fallo.

Cambios en los playground

Playground Xcode 6.3 Beta 2Otro de los grandes cambios vienen de la mano de los playground. Además de haber mejorado el rendimiento y el desplazamiento del código, los playground también obtienen novedades interesantes como la posibilidad crear y editar documentación con texto enriquecido dentro del mismo, utilizando etiquetas de comentario “//:” o “/*: */”. Se puede cambiar el modo de visualización del Playground a modo enriquecido o bruto, para ver los cambios y aprovechar estas nuevas funciones.

Pero sin duda, la gran novedad es que ahora playground muestra los resultados de evaluar expresiones en línea con el código y no en la ventana del editor asistente y la línea de tiempo. La forma de invocar estos resultados es la misma, pulsando en el botón a la derecha del resultado con el +. Pero la diferencia es que en vez de abrirse el editor asistente y mostrarnos la línea de tiempo como hasta ahora, se crea una pequeña ventana dinámica debajo de la línea con los resultados. Ventana que podemos cerrar cuando queramos, obviamente.

Como vemos en la captura, las ventanas pueden marcarse y sobre ellas modificar el tamaño, así como cuando se trata de un resultado numérico, podemos ver la gráfica directamente o (con los pequeños botones situados en ella) cambiar entre la vista de una sola línea, con la lista de resultados o con la gráfica.

Otro pequeño paso

Sin duda, esta nueva versión supone un nuevo e importante pequeño paso, donde se le está dando una gran prioridad a depurar Swift y el programa Xcode, así como el sistema iOS, corrigiendo y optimizando al más alto nivel. De hecho, otra de las cosas que hace referencia la documentación es a una importante mejora en la depuración de código con Swift, sobre todo cuando se depura directamente con un dispositivo, así como muchos errores corregidos del famoso SourceKit que tantos problemas ha dado y sigue dando con sus cuelgues inesperados a la hora de evaluar el código que escribimos en tiempo real.

Les invitamos a que se descarguen esta nueva versión, la prueben (sobre todo los playground que han ganado varios enteros en cuanto a productividad) y nos vemos para la próxima. Hasta entonces, Good Apple Coding.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

Unity 5.5 ya disponible

Unity lanza su versión 5.5 con importantes novedades como un gestor de código propio de Unity integrado en los servicios de la compañía en la nube, mejoras en las partículas, nuevas herramientas de animación y mucho más... descubre las novedades en nuestra noticia y baja ya la nueva versión si eres usuario de este popular motor de juegos.