
﻿WEBVTT
Kind: captions
Language: es

00:00:05.000 --> 00:00:08.000
Wanda, la comunidad de podcast independientes en español,

00:00:08.000 --> 00:00:13.000
nuevo episodio, de Apple Codingdale Ya ha terminado la WWC y Por desgracia,

00:00:13.000 --> 00:00:18.000
no tengo tiempo para poder hacer el Meganálisis Por lo que este

00:00:18.000 --> 00:00:23.000
Meganálisis tendrá que esperar o más bien habrá distintos pequeños

00:00:23.000 --> 00:00:28.000
resúmenes en distintos episodios como este de Apple Coding Daily o como

00:00:28.000 --> 00:00:33.000
otros que habrá más adelante en Applecoding, en formato quincenal, en lo

00:00:33.000 --> 00:00:41.000
que es los podcasts más largos.

00:00:42.000 --> 00:00:45.000
Principalmente porque ahora mismo pues como digo no tengo tiempo para poder

00:00:45.000 --> 00:00:48.000
hacerlo estoy a tope de trabajo y a duras penas puedo ver algunos vídeos

00:00:48.000 --> 00:00:53.000
leer alguna documentación, etcétera.

00:00:54.000 --> 00:00:58.000
Pero lo que sí tengo muy claro y esto es algo que me ha sorprendido este

00:00:58.000 --> 00:01:02.000
año, es que Bueno, si tú preguntas a cualquiera sobre las impresiones de

00:01:02.000 --> 00:01:06.000
la WWC, te dirá pues qué bueno que vale más o menos pues alguna cosita

00:01:06.000 --> 00:01:10.000
aquí en iOS diecisiete que si los widgets que se pulsan, que si algún

00:01:10.000 --> 00:01:14.000
cambio por aquí bonito, que si no sé cuántas, que si tal, pero todo

00:01:14.000 --> 00:01:19.000
Cambios de muy bajo perfil.

00:01:19.000 --> 00:01:22.000
Los cambios como una actualización al final la gente se le ha pasado el

00:01:22.000 --> 00:01:25.000
hype muy pronto y obviamente toda la opinión ha quedado completamente

00:01:25.000 --> 00:01:29.000
eclipsada con la Sapel Vision Pro.

00:01:29.000 --> 00:01:33.000
Pero independientemente las novedades de iOS diecisiete, el resto de

00:01:33.000 --> 00:01:37.000
sistemas, han quedado bastante ocultas porque en realidad es una

00:01:37.000 --> 00:01:41.000
actualización de bajo perfil por lo que podríamos pensar que en realidad

00:01:41.000 --> 00:01:48.000
esta WWC aparte de la Samper Vision Pro pues ha sido de muy bajo perfil.

00:01:49.000 --> 00:01:53.000
Bien, pues lamento comunicarles que esto no es así.

00:01:54.000 --> 00:02:06.000
Desde el punto de vista de los desarrolladores Esta WWC es una de las Navidades más emocionantes e increíbles que ha dado Apple en mucho tiempo.

00:02:06.000 --> 00:02:07.000
Vamos a ver por qué.

00:02:22.000 --> 00:02:26.000
Pero antes de desgranar la WWC no podemos olvidar a nuestro colaborador

00:02:26.000 --> 00:02:30.000
habitual que en este caso vuelve a ser bebé porque vuelven las

00:02:30.000 --> 00:02:34.000
temperaturas agradables para salir los fines de semana con el coche y por

00:02:34.000 --> 00:02:39.000
lo tanto aumentan las paradas para repostar.

00:02:39.000 --> 00:02:44.000
Y te aconsejo que siempre planifiques esto por qué hacerlo en las

00:02:44.000 --> 00:02:49.000
estaciones de servicio BP para repostar por supuesto con bp ultimate con

00:02:49.000 --> 00:02:54.000
tecnología active te va a traer algo muy bueno pues para tu bolsillo ya

00:02:54.000 --> 00:02:59.000
que te puedes ahorrar hasta ocho céntimos por litro usando tu tarjeta Mi BP.

00:02:59.000 --> 00:03:04.000
Si estás en península o Baleares, o Plan Dino BP, si estás en Canarias.

00:03:04.000 --> 00:03:08.000
Siempre que parecen estaciones BP tendrás tres céntimos de ahorro por

00:03:08.000 --> 00:03:12.000
litro en tu tarjeta y además podrás obtener hasta cinco más de ahorro

00:03:12.000 --> 00:03:16.000
cuando repuesto es BP Ultimate con tecnología active.

00:03:16.000 --> 00:03:18.000
Por lo tanto, no sólo es bueno para tu bolsillo.

00:03:18.000 --> 00:03:21.000
Es que también es bueno para la salud de tu motor.

00:03:21.000 --> 00:03:25.000
Descubre toda la información en mi pp punto es o en plandino pp punto es y

00:03:25.000 --> 00:03:29.000
ahí tendrás todas las condiciones y no olvides que esta promoción

00:03:29.000 --> 00:03:33.000
termina el treinta de junio.

00:03:34.000 --> 00:03:43.000
Muchas gracias a BP por colaborar con Apple, Coding Day, Si le preguntas a

00:03:43.000 --> 00:03:52.000
cualquier desarrollador del mundo mundial en entornos Apple y le dices

00:03:52.000 --> 00:04:03.000
cierra los ojos y piensa un deseo.

00:04:04.000 --> 00:04:05.000
¿Qué te gustaría que cambiara?

00:04:06.000 --> 00:04:10.000
El noventa y nueve coma nueve por ciento te diría: Core data.

00:04:11.000 --> 00:04:15.000
Porque es un infierno y porque está pecando.

00:04:16.000 --> 00:04:23.000
A ver, yo he llegado a cogerle cariño a corre data, las cosas como son,

00:04:23.000 --> 00:04:30.000
pero hay que reconocer que es excesivamente arcaico, es excesivamente un

00:04:30.000 --> 00:04:39.000
poco usables, es decir, poco intuitivo, es muy no soy capaz de definirlo realmente.

00:04:41.000 --> 00:04:46.000
Vale, entonces Resulta que este año, Apple nos ha regalado por fin aquello

00:04:46.000 --> 00:04:51.000
de lo que hemos hablado muchísimo tiempo, que iba a llegar y además ha

00:04:51.000 --> 00:04:58.000
llegado con el mismo nombre que habíamos vaticinado, con swift data.

00:04:59.000 --> 00:05:00.000
¿Qué es Suiz-DATA?

00:05:00.000 --> 00:05:05.000
Pues Suiz-DATA es la forma de poder crear de una manera cercana a Suiz, las

00:05:05.000 --> 00:05:10.000
bases de datos, lo que es la persistencia de nuestros datos, pero está

00:05:10.000 --> 00:05:15.000
hecho de una manera también hecha que permite cosas bastante

00:05:15.000 --> 00:05:20.000
impresionantes.

00:05:20.000 --> 00:05:28.000
Básicamente, porque reduce la fricción de trabajar con un modelo de datos persistido prácticamente a casi nada.

00:05:28.000 --> 00:05:31.000
También depende un poco de para que vayamos a usarlo.

00:05:32.000 --> 00:05:39.000
Es cierto que si trabajamos con Suip UI las cosas se facilitan bastante y las configuraciones son muy sencillas.

00:05:40.000 --> 00:05:44.000
Pero bueno pues al final si lo sacamos fuera intentamos hacer procesos

00:05:44.000 --> 00:05:48.000
fuera de sweet UI como por ejemplo una precarga de datos o una carga de

00:05:48.000 --> 00:05:53.000
una API a datos del modelo, etcétera.

00:05:53.000 --> 00:05:56.000
Ahí ya la cosa se vuelve un poquito más corre data, ¿vale?

00:05:57.000 --> 00:06:01.000
Con una con una nomenclatura un poquito más swift con unos predicados que

00:06:01.000 --> 00:06:05.000
se hacen ahora a través de macros y por lo tanto ponemos Haspredicate y

00:06:05.000 --> 00:06:09.000
ponemos un un closer de tipo filter en vez de tener que definir un

00:06:09.000 --> 00:06:13.000
NSpredicate como hacíamos en su momento, y luego lo realmente sencillo es

00:06:13.000 --> 00:06:17.000
que yo creo una final class normal y corriente con todas las propiedades

00:06:17.000 --> 00:06:21.000
que yo necesito, y con su inicializador y basta ponerle arriba model para

00:06:21.000 --> 00:06:25.000
que se convierta en un modelo persistido con swift data Ya está, no hay

00:06:25.000 --> 00:06:32.000
que hacer más.

00:06:33.000 --> 00:06:36.000
A partir de ahí, lo único que necesito es trabajar directamente.

00:06:36.000 --> 00:06:40.000
Si estoy trabajando con Suip Yoi un query al que podemos darle un keypad

00:06:40.000 --> 00:06:44.000
para ordenación, me va a permitir elegir lo que sería el campo por el

00:06:44.000 --> 00:06:48.000
que quiero ordenar y luego obtener la consulta en si consulta que

00:06:48.000 --> 00:06:52.000
obviamente podemos filtrar cambiando los predicados y que también podemos

00:06:52.000 --> 00:06:56.000
utilizar pues para obtener datos que además son reactivos y la propia

00:06:56.000 --> 00:07:04.000
interfaz reacciona sin ningún problema.

00:07:04.000 --> 00:07:08.000
Lo único que tenemos que hacer de diferente es que cuando vayamos a poner

00:07:08.000 --> 00:07:12.000
un nuevo elemento dentro de lo que es ese modelo, tenemos que recuperar el

00:07:12.000 --> 00:07:17.000
contexto del contenedor y hacer una inserción en el mismo.

00:07:17.000 --> 00:07:22.000
El model container y hacer una inserción de ese elemento dentro de este

00:07:22.000 --> 00:07:27.000
model container que debe tener todas las final class de tipo model que

00:07:27.000 --> 00:07:32.000
quiero que formen parte de mi contenedor la verdad que es súper sencillo,

00:07:32.000 --> 00:07:37.000
súper simple, muy intuitivo las propias tablas incluyen elementos como

00:07:37.000 --> 00:07:42.000
atributos para que puedan ser valores únicos atributos para las

00:07:42.000 --> 00:07:47.000
relaciones de uno a n, de n a n, etcétera, y por supuesto, y una cosa que

00:07:47.000 --> 00:07:53.000
es maravillosa, es que Podemos directamente cualquier columna, cifrarla.

00:07:54.000 --> 00:07:59.000
Por fin podemos definir un atributo para que se pueda cifrar una columna y

00:07:59.000 --> 00:08:04.000
no se grabe con los datos al aire directamente, es decir, los datos tal

00:08:04.000 --> 00:08:09.000
cual se graben en esa columna y que el cifrado sea totalmente transparente

00:08:09.000 --> 00:08:14.000
para nosotros, que yo grabe el valor, en la aplicación lo voy a tener en

00:08:14.000 --> 00:08:19.000
abierto pero cuando vaya a la base de datos va a estar completamente

00:08:19.000 --> 00:08:24.000
cifrado y lo único que tengo que hacer es poner un atributo de encripte y

00:08:24.000 --> 00:08:29.000
listo y ya está Por lo tanto, la verdad que es un cambio muy, muy, muy interesante.

00:08:29.000 --> 00:08:35.000
El otro gran cambio es la llegada de el modelo de observación.

00:08:37.000 --> 00:08:40.000
Porque sí, señores, combine pasa a mejor vida.

00:08:40.000 --> 00:08:44.000
Apple se deshace de combine, Sí, sí, lo han oído bien.

00:08:44.000 --> 00:08:49.000
Apple se deshace de combine como herramienta, como librería, que da

00:08:49.000 --> 00:08:54.000
estructura a Swift UI y lo sustituye por la nueva, digamos el nuevo, la

00:08:54.000 --> 00:08:59.000
nueva anotación arroba observable.

00:09:01.000 --> 00:09:06.000
Arroba observable es una nueva manera de poder gestionar todo el ciclo de vida de SWI.

00:09:07.000 --> 00:09:12.000
Se lo voy a intentar explicar de una manera muy sencilla o bueno voy a intentar que sea lo más sencilla posible.

00:09:13.000 --> 00:09:16.000
Hasta ahora nosotros teníamos varias arrugas que podíamos utilizar para

00:09:16.000 --> 00:09:19.000
la arquitectura de Suip UI, si trabajamos en nativo que es como hay que

00:09:19.000 --> 00:09:22.000
hacerlo, nada de tefeás ni cosas raras de estas que se inventa el ser

00:09:22.000 --> 00:09:28.000
humano en momentos en los abusa del cristalico azul que está muy rico, ¿vale?

00:09:28.000 --> 00:09:29.000
No.

00:09:29.000 --> 00:09:31.000
Esas cosas no las queremos aquí en Apercobbing.

00:09:31.000 --> 00:09:36.000
En fin, pues, en ese sentido, Lo que tendríamos es que, ahora mismo,

00:09:36.000 --> 00:09:41.000
trabajando en nativos, sabemos que tenemos que hacer una Final Class

00:09:41.000 --> 00:09:46.000
conformada con Observable Object que lo que hace es propagar hacia las

00:09:46.000 --> 00:09:54.000
vistas de su UI desde dos tipos de constructores o arroba stake upject.

00:09:54.000 --> 00:09:57.000
El observador objeto tiene un ciclo de vida igual al de la vista, por lo

00:09:57.000 --> 00:10:00.000
que si la vista se refresca en un elemento externo a la propia vista y el

00:10:00.000 --> 00:10:03.000
observador objeto de los observador objeto también se reinstancia y el

00:10:03.000 --> 00:10:06.000
stake up get permanece con la instancia retenida aunque el stake up get lo

00:10:06.000 --> 00:10:09.000
mejor es usarlo como otro de los elementos que también podemos usar, que

00:10:09.000 --> 00:10:12.000
es desde el comienzo de la aplicación, poner un step up y propagarlo a

00:10:12.000 --> 00:10:15.000
través de un empirum menu que nos crea una arroba enviomenopject, que es

00:10:15.000 --> 00:10:18.000
lo que yo propongo desde el comienzo de la aplicación, hacia lo que es el

00:10:18.000 --> 00:10:21.000
resto de la aplicación, para desde ese enviomenopject, propagar un solo

00:10:21.000 --> 00:10:32.000
cambio de un solo single ton a toda la aplicación.

00:10:34.000 --> 00:10:38.000
Por lo tanto, si a eso le unimos los arroba que podemos tener como valores

00:10:38.000 --> 00:10:42.000
de estado dentro de cada vista, más los combintings, que son las

00:10:42.000 --> 00:10:46.000
referencias directas de los valores de la states, como objetos por

00:10:46.000 --> 00:10:50.000
referencia para pasarlos a otras vistas hijas, pues tendríamos varias

00:10:50.000 --> 00:10:54.000
stayvainding observa object stade object y por supuesto el protocolo de

00:10:54.000 --> 00:11:01.000
observable object.

00:11:02.000 --> 00:11:05.000
Y no podemos olvidar que los observable objects para poder tener

00:11:05.000 --> 00:11:08.000
propiedades que se propaguen hacia la vista tenían que usar publist, un

00:11:08.000 --> 00:11:12.000
montón de arroba ¿vale?

00:11:13.000 --> 00:11:15.000
¿Cómo ha quedado la cosa ahora mismo?

00:11:15.000 --> 00:11:17.000
La cosa ha quedado de la siguiente forma.

00:11:17.000 --> 00:11:22.000
Ahora tenemos solo tres elementos a usar.

00:11:29.000 --> 00:11:30.000
¿Por qué?

00:11:30.000 --> 00:11:34.000
Pues porque todo va a depender de dos elementos clave.

00:11:34.000 --> 00:11:39.000
Uno de ellos es suit data el model.

00:11:39.000 --> 00:11:46.000
Los arroba models de suit data se propagan directamente por todo Suit UI y a que actualizan las vistas de manera automática.

00:11:47.000 --> 00:11:50.000
No tengo que hacer absolutamente nada.

00:11:50.000 --> 00:11:52.000
Cambio un valor en una.

00:11:53.000 --> 00:12:01.000
Constante que yo he recuperado de una instancia de una mobile y en cuanto cambie el valor todas las vistas se van a refrescar.

00:12:02.000 --> 00:12:04.000
Solas y no tengo que propagar nada.

00:12:05.000 --> 00:12:12.000
Es más, el model nos va a permitir hacer una cosa bastante chula que es el uso del barraindaval.

00:12:13.000 --> 00:12:17.000
Recuerden que cuando yo hacía un observable object que se instanciaba en

00:12:17.000 --> 00:12:21.000
un observador object o en un stade object, podía hacer un dólar de la

00:12:21.000 --> 00:12:25.000
instancia del observable objeto y eso me permitía acceder a los bindings

00:12:25.000 --> 00:12:31.000
de todos de todas las propiedades publisht?

00:12:31.000 --> 00:12:35.000
Pues ahora, el Buyingdouble va a hacer lo mismo con los Models, por lo que

00:12:35.000 --> 00:12:39.000
ustedes podrán tener un formulario de campos de texto y poner como

00:12:39.000 --> 00:12:44.000
bindings de esos campos de texto directamente.

00:12:45.000 --> 00:12:51.000
Las propiedades del modelo para que se actualice directamente desde el propio formulario.

00:12:51.000 --> 00:12:53.000
Si quieren es posible hacerlo.

00:12:53.000 --> 00:13:03.000
Solamente hay que hacer una barravaindable de lo que es cualquier instancia de tipo model las cuales podemos inyectarlas incluso dentro de un LED.

00:13:03.000 --> 00:13:07.000
No importa, van a seguir siendo reaccionadas en las vistas.

00:13:08.000 --> 00:13:09.000
Maravilloso.

00:13:10.000 --> 00:13:15.000
Pero no sólo eso, el observable es lo que sustituye al observable objeto,

00:13:15.000 --> 00:13:21.000
por lo que el observable objeto desaparece y a su vez desaparecen todos los publists.

00:13:22.000 --> 00:13:26.000
Si yo genero una final class, lo que sea, y le pongo encima observable,

00:13:26.000 --> 00:13:30.000
automáticamente todas las propiedades que hay en esa clase se convierten

00:13:30.000 --> 00:13:34.000
en publists sin tener que poner que son publists, sino que simplemente ya

00:13:34.000 --> 00:13:38.000
son propiedades que se propagan y actualizan cuando cambian en la vista

00:13:38.000 --> 00:13:42.000
que esté puesta o asociada.

00:13:43.000 --> 00:13:52.000
Nada más, ¿Qué hay que hacer para que este arroba observable se pueda utilizar directamente dentro de una vista?

00:13:53.000 --> 00:13:56.000
Pues ponerlo dentro de un stage ya está.

00:13:56.000 --> 00:14:00.000
Pones la instancia de este observable en un stage y listo.

00:14:01.000 --> 00:14:02.000
Ya está, nada más.

00:14:03.000 --> 00:14:07.000
Es con las pruebas que yo he realizado de acuerdo y luego una vez ya tienes

00:14:07.000 --> 00:14:11.000
eso pues si quieres el banking pues ya sabes lo que toca a partir a

00:14:11.000 --> 00:14:15.000
través del stay seguimos teniendo la arroba binding para poder enviarlo.

00:14:15.000 --> 00:14:17.000
Y ya está, no hay que hacer más.

00:14:18.000 --> 00:14:19.000
Es así de simple.

00:14:19.000 --> 00:14:23.000
La única pega entre comillas es que los arroba los arroba servables

00:14:23.000 --> 00:14:27.000
tenemos por ahora no sé si esto lo corregirá en el futuro tenemos que

00:14:27.000 --> 00:14:31.000
inicializar los en la propia declaración no me sirve poner un init de la

00:14:31.000 --> 00:14:35.000
propia clase, sino que, como se hacía con los states, hay que

00:14:35.000 --> 00:14:39.000
inicializarlos recordemos que una step no se puede dejar sin inicializar

00:14:39.000 --> 00:14:43.000
porque entonces o bien te lo pide el inicializador del strut o bien no te

00:14:43.000 --> 00:14:47.000
dé o tienes que ponerlo opcional vale porque tienes que inicializarlo en

00:14:47.000 --> 00:14:51.000
la declaración o inyectarlo pues en este en una robo observable ahora

00:14:51.000 --> 00:14:57.000
mismo ni siquiera a través de la inyección funciona.

00:14:57.000 --> 00:15:01.000
Solo funciona si lo inicializamos en la propia declaración.

00:15:01.000 --> 00:15:05.000
Pero bueno, tampoco es una cosa y no sé si es algo que Apple corregirá,

00:15:05.000 --> 00:15:09.000
pero desde luego lo que ha sucedido es que se ha reducido en muchísimos

00:15:09.000 --> 00:15:13.000
puntos la dificultad que tenía de manera intrínseca, la arquitectura

00:15:13.000 --> 00:15:17.000
nativa de Suip JOY, basada en todos esos elementos y sobre todo la gran

00:15:17.000 --> 00:15:21.000
enorme confusión de los observe upject y stade upject que uno no sabía

00:15:21.000 --> 00:15:26.000
muy bien cuándo tenía que usar unos y otros.

00:15:27.000 --> 00:15:31.000
El observador se usa cuando no vas a pasar el contexto a ningún otro

00:15:31.000 --> 00:15:35.000
sitio, te vas a quedar en la vista donde estás, ni tienes otros otros

00:15:35.000 --> 00:15:39.000
viewmodels en esa misma vista y el stade pool lo tienes que usar cuando

00:15:39.000 --> 00:15:43.000
tienes más elementos ahí vale entonces de esa manera perfecto.

00:15:43.000 --> 00:15:47.000
Y luego lo último es que yo simplemente genero una state en el comienzo de

00:15:47.000 --> 00:15:51.000
la aplicación, o donde me dé la gana y a través de un environment se lo

00:15:51.000 --> 00:15:55.000
paso a todas las vistas hijas que lo recuperan como una roba environment

00:15:55.000 --> 00:15:59.000
de forma que así ya no tengo que usar el envío un menú get y pues

00:15:59.000 --> 00:16:04.000
bueno, también es un poco más sencillo hacia el respecto.

00:16:04.000 --> 00:16:12.000
Solamente con estos dos cambios que ha hecho Apple, Ya tenemos un cambio absolutamente maravilloso y estupendo.

00:16:12.000 --> 00:16:18.000
Pero todo eso hay que añadir los widgets accionables que soportan tanto tolls como botones.

00:16:18.000 --> 00:16:23.000
De forma que un widget puede cambiar la información de manera directa y

00:16:23.000 --> 00:16:28.000
además ahora los widgets ya no necesitan tener un INTENT aparte en un

00:16:28.000 --> 00:16:33.000
target aparte solo para configurar ese intent para poder ser editables

00:16:33.000 --> 00:16:38.000
vale se han facilitado muchísimo y se han metido animaciones dentro de

00:16:38.000 --> 00:16:43.000
las actualizaciones de los datos tanto en las actividades en vivo como en

00:16:43.000 --> 00:16:48.000
los propios widgets Los widgets ahora tienen un protagonismo absoluto.

00:16:48.000 --> 00:16:54.000
Están dentro del Apple Watch, están en el escritorio del Mac, del Mac OS S Sonoma.

00:16:55.000 --> 00:16:59.000
Están en la pantalla de bloqueo del iPad por lo tanto los widgets se

00:16:59.000 --> 00:17:03.000
convierten en un elemento esencial nos va a permitir una interacción

00:17:03.000 --> 00:17:07.000
básica no es una mini aplicación pero sí poder tocar botones que hagan

00:17:07.000 --> 00:17:11.000
cosas o poder tocar toguels que también hagan cosas, marcar tareas como

00:17:11.000 --> 00:17:15.000
hechas, tocar un botón que haga una consulta de algún dato y cuando hay

00:17:15.000 --> 00:17:19.000
una actualización de ese dato en tiempo real se puede animar ese cambio

00:17:19.000 --> 00:17:23.000
de ese dato sin ningún tipo de problema También se han hecho varios

00:17:23.000 --> 00:17:27.000
cambios en scope Se han creado formas a partir de las cuales cuando yo

00:17:27.000 --> 00:17:31.000
tengo imágenes o tengo colores creados en el catálogo de assets, se

00:17:31.000 --> 00:17:35.000
generan variables estáticas en tiempo real, nos permiten acceder a las

00:17:35.000 --> 00:17:39.000
imágenes, por lo que si yo pongo una imagen en el catálogo de Asset, que

00:17:39.000 --> 00:17:43.000
se llama mi imagen, pues me genera de manera automática un punto mi

00:17:43.000 --> 00:17:47.000
imagen, por lo que yo simplemente pongo image, paréntesis punto mi imagen

00:17:47.000 --> 00:17:51.000
y ya está, y no me tengo que acordar del nombre porque ya no hay que

00:17:51.000 --> 00:17:55.000
pasar una cadena y con los colores igual también paso mi color vale como

00:17:55.000 --> 00:17:59.000
el detergente y directamente lo cogería vale por lo tanto son pequeñas

00:17:59.000 --> 00:18:11.000
grandes mejoras que han tenido.

00:18:11.000 --> 00:18:15.000
Las previews, por ejemplo, de Suip UI, que ahora son un poco más

00:18:15.000 --> 00:18:19.000
engorrosas pues ahora son súper simples a través de las macros y

00:18:19.000 --> 00:18:23.000
también funcionan las prevíos con joi kit podemos usar el hash preview

00:18:23.000 --> 00:18:27.000
que es en la nueva forma de crear previews directamente con UI Kit y poder

00:18:27.000 --> 00:18:31.000
poner nuestro view controller directamente en la zona de previo de Suip UI

00:18:31.000 --> 00:18:35.000
y ver cómo se instancia en, cómo se va actualizando en tiempo real

00:18:35.000 --> 00:18:45.000
según estemos trabajando.

00:18:46.000 --> 00:18:50.000
En resumen, hay mogollón de cambios en, yo qué sé, machine learning, hay

00:18:50.000 --> 00:18:54.000
en en salud, en Apple Pay, mejoras en la parte de compras integradas

00:18:54.000 --> 00:18:58.000
etcétera porque tenemos ahora una versión de swift UI nativa que mejora

00:18:58.000 --> 00:19:02.000
y hace aún más fácil todo el tema de las suscripciones, las compras

00:19:02.000 --> 00:19:09.000
integradas, etcétera.

00:19:10.000 --> 00:19:15.000
En fin, una auténtica locura, nuevos controles mucho más interesantes en

00:19:15.000 --> 00:19:20.000
Sugi UI, capacidad de hacer animaciones en los skrulls, capacidad de

00:19:20.000 --> 00:19:25.000
controlar la posición de los skrulls en tiempo real de verdad, no como

00:19:25.000 --> 00:19:31.000
hasta ahora, En fin, me emociono solo de comentarlo, ¿vale?

00:19:31.000 --> 00:19:37.000
O sea, son un montón de opciones que están dando en cientos, ¿vale?

00:19:37.000 --> 00:19:41.000
Son prácticamente más de ciento setenta vídeos los que hay de todas

00:19:41.000 --> 00:19:45.000
estas novedades sin contar aparte de esos ciento setenta vídeos los

00:19:45.000 --> 00:19:49.000
cuarenta y tantos que hay sobre visión os que si entramos a hablar de las

00:19:49.000 --> 00:19:53.000
opciones de desarrollo que tiene visión o ese y de cómo integra SWI y de

00:19:53.000 --> 00:19:57.000
cómo lo convierte de bueno bueno de flipar, o sea el trabajo que hay

00:19:57.000 --> 00:20:01.000
detrás por parte de Apple es absolutamente de quitarse el sombrero,

00:20:01.000 --> 00:20:05.000
desredes diez reverencias y decirles gracias, por favor, gracias por

00:20:05.000 --> 00:20:13.000
facilitarnos la vida a estos niveles.

00:20:14.000 --> 00:20:23.000
Así que en un resumen muy rápido de lo más destacado, porque si me pongo a resumirlo todo y a comentarlo todo, nos dan las subas.

00:20:23.000 --> 00:20:36.000
O los da la próxima WWF, tenemos tantos cambios, tantas novedades y tan cosas de las de por fin gracias a Apple, por fin gracias a Apple.

00:20:36.000 --> 00:20:39.000
Esas pequeñas cositas desde la más mínima, la más importante que

00:20:39.000 --> 00:20:42.000
cambian completamente la experiencia de desarrollo y sobre todo la hacen

00:20:42.000 --> 00:20:47.000
aún más sencilla.

00:20:48.000 --> 00:20:52.000
Todo lo que los usuarios no han recibido este año con un actualización de

00:20:52.000 --> 00:20:56.000
perfil muy bajo lo han recibido los desarrolladores poniendo al día todas

00:20:56.000 --> 00:21:00.000
sus herramientas y incluyendo increíbles novedades como por ejemplo las

00:21:00.000 --> 00:21:04.000
macros de Swift que son las responsables de gran de estos cambios que os

00:21:04.000 --> 00:21:08.000
hemos comentado, macros que a grandes rasgos lo que hacen es transformar,

00:21:08.000 --> 00:21:12.000
crear como una especie de estado intermedio entre el código que yo

00:21:12.000 --> 00:21:20.000
escribo y el código compilado.

00:21:20.000 --> 00:21:24.000
Una macro es como algo que se pone en medio del código que yo escribo y el

00:21:24.000 --> 00:21:28.000
código que se compila para transformar mi código escrito en una versión

00:21:28.000 --> 00:21:32.000
ampliada del código que he escrito que permite crear macros que permiten

00:21:32.000 --> 00:21:36.000
realizar tareas que normalmente serían más complejas y transformarlas de

00:21:36.000 --> 00:21:42.000
una manera más sencilla.

00:21:42.000 --> 00:21:46.000
Por ejemplo, el ejemplo que he puesto, la macro de los predicados, hash

00:21:46.000 --> 00:21:50.000
predicate, convierte en un NS Predicate de OBJETIC el clásico de toda la

00:21:50.000 --> 00:21:54.000
vida de Jobs se convierte desde un desde un closet de un filter de una

00:21:54.000 --> 00:21:58.000
condición vale pues es algo que es maravilloso y como eso el arroba

00:21:58.000 --> 00:22:02.000
observable también funciona con macros y muchísimas de las grandes,

00:22:02.000 --> 00:22:10.000
muchísimo de los grandes cambios que hay ahora mismo también funcionan con macros.

00:22:11.000 --> 00:22:15.000
Por lo tanto, pues es, como digo, una forma de hacer el código más

00:22:15.000 --> 00:22:19.000
legible, más cómodo, más fácil de realizar y estas macros antes de la

00:22:19.000 --> 00:22:23.000
compilación convierten el código bonito en ese código de una de un mega

00:22:23.000 --> 00:22:27.000
sintactic shooger lo convierten en el código real que más feo y más

00:22:27.000 --> 00:22:31.000
engorroso y eso es lo que se compila finalmente por lo tanto yo me libro

00:22:31.000 --> 00:22:35.000
de tener que hacer ese código engorroso y obtengo un montón de ventajas

00:22:35.000 --> 00:22:39.000
que estoy seguro que muchas librerías que salgan a partir de este año

00:22:39.000 --> 00:22:48.000
van a aprovechar también.

00:22:48.000 --> 00:22:52.000
Así que bueno pues esto es un pequeño, pequeño resumen de algunas de las

00:22:52.000 --> 00:22:56.000
cosas más interesantes partiendo de la base de que me queda mucho por ver

00:22:56.000 --> 00:23:00.000
porque no he visto casi nada porque como digo bueno pero he podido por lo

00:23:00.000 --> 00:23:04.000
menos hacer pequeños proyectos dos pruebas, hacer un proyecto completo

00:23:04.000 --> 00:23:08.000
con sus data que graba los datos y que funcione, que actualice y que hace

00:23:08.000 --> 00:23:12.000
todo, etcétera y madre mía el año que viene va a haber que cambiar todo

00:23:12.000 --> 00:23:16.000
el booth cambie en Suiza de Broward, porque la cosa ha cambiado para bien,

00:23:16.000 --> 00:23:21.000
ha cambiado para ser mucho más simple y mucho más fácil de controlar.

00:23:22.000 --> 00:23:24.000
Así que ¿Poco más?

00:23:37.000 --> 00:23:39.000
Y poco más, al final, ¿qué es lo que sucede?

00:23:39.000 --> 00:23:52.000
Pues que la gente se olvida de que la WWC las siglas significan worldwide developer conference vale no significa worldwide de consumes.

00:23:53.000 --> 00:23:54.000
No lo sé.

00:23:54.000 --> 00:23:55.000
Algo así.

00:23:55.000 --> 00:23:59.000
Vale, es decir, es la conferencia mundial de desarrolladores que duran

00:23:59.000 --> 00:24:03.000
cinco días no solo la presentación de las siete de la tarde y que este

00:24:03.000 --> 00:24:07.000
año y la verdad que hay que agradecerlo sí empezó en Stead of the

00:24:07.000 --> 00:24:11.000
Union, porque el año pasado el Stead of De Union fue una cosa un poco

00:24:11.000 --> 00:24:19.000
rara pero este año sí ha merecido y sí ha estado muy, muy bien, créanme.

00:24:19.000 --> 00:24:23.000
Por lo tanto, bueno pues al final tenemos eso que la WWC empezó el lunes

00:24:23.000 --> 00:24:27.000
cinco de junio a las diez y media hora española, que fue cuando empezó

00:24:27.000 --> 00:24:32.000
el plazón Steittle Jr.

00:24:32.000 --> 00:24:36.000
La presentación, pues bueno, la presentación estuvo muy guay, sobre todo

00:24:36.000 --> 00:24:40.000
la última parte, la anterior, toda la parte de hora y media para vendernos.

00:24:41.000 --> 00:24:44.000
Que han quitado el hate a city, pues en fin.

00:24:44.000 --> 00:24:47.000
Pues no, en fin, pues eso.

00:24:47.000 --> 00:24:50.000
Podían haber puesto solo a la presentación de Apple Vision y ya está.

00:24:50.000 --> 00:24:52.000
Pero vamos, ese es el tema.

00:24:52.000 --> 00:24:56.000
Ok, pero desde luego insisto, perfil bajo en iOS diecisiete el resto de

00:24:56.000 --> 00:25:00.000
sistemas, salvo ocho s, que si tiene un cambio más importante Pero lo

00:25:00.000 --> 00:25:04.000
realmente importante son todos los cambios que han hecho a nivel de desarrollo.

00:25:04.000 --> 00:25:08.000
Ahí es donde está la chicha y ahí es donde hay que decir una y mil veces.

00:25:08.000 --> 00:25:11.000
Gracias a Apple por un muy buen trabajo.

00:25:11.000 --> 00:25:19.000
Ya saben que si les ha gustado comparta en redes sociales por favor menciónenos como jCFMunoff y nos oímos pronto si Jobs quiere.

00:25:20.000 --> 00:25:23.000
Hasta entonces un saludo y go.

00:25:42.000 --> 00:25:49.000
Puedes escuchar más episodios de Applecoding en Cuanda.com, la comunidad de podcasts independientes en español.