Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Actualidad: Adiós a VS en Mac, Python en Excel, .exe minificado, cifrado anticuántica, gambadas veraniegas y una virguería en CSS

¡Estamos de vuelta! En nuestra ausencia (incluso con el parón veraniego) el sector no ha dejado de lanzar novedades ni un instante, especialmente en el mundo de la IA y de los LLMs (Modelos Grandes de Lenguaje).

Dentro de las noticias más "convencionales" quizá la más destacada haya sido un anuncio realizado por sorpresa hace unos días por parte de Microsoft: van a eliminar Visual Studio para Mac 😱

Tras muchos años de esfuerzo de desarrollo y millones invertidos para tratar de equipararlo con su hermano mayor para Windows, ahora deciden abandonarlo de repente. Los motivos que han alegado son que tiene una baja satisfacción de los usuarios y que se estaban enfrentando a muchísimos desafíos técnicos para poder desarrollarlo.

Con el anuncio saltaron todas las alarmas, sobre todo en el mundo .NET MAUI y del desarrollo multiplataforma. Si eliminan una parte esencial del desarrollo en macOS y por lo tanto para iOS, ¿qué va a pasar con .NET MAUI? Microsoft ha asegurado, en los propios comentarios del post, que su inversión en .NET MAUI está asegurada y que, de hecho, con .NET 8, para noviembre, van a sacar grandes novedades y mejoras. Pero lo cierto es que, desde que Microsoft compró Xamarin hace años, cada vez han ido dedicando menos y menos recursos al equipo de desarrollo de ese framework (es evidente viendo los propios repositorios). Y si quieren recuperar la confianza de los desarrolladores van a tener que poner dinero para soportar lo que dicen. De no hacerlo, otros frameworks de desarrollo móvil y multiplataforma, como Flutter o React Native, seguirán comiéndole terreno año a año.

Mientras tanto, ¿qué opciones nos quedan en Mac? Microsoft dice que siempre puedes usar Visual Studio para Windows con una máquina virtual (como de hecho hace ya mucha gente) o a través de Microsoft Dev Box, su nuevo servicio de infraestructura para desarrolladores. Pero su mayor apuesta y, además, la principal solución que propugnan, es que utilices la extensión de VSCode para .NET MAUI, que te proporciona las herramientas necesarias para crear aplicaciones multiplataforma tanto en Windows, macOS o en Linux. Está construida sobre las extensiones de C# y C# Dev Kit, y agrega funcionalidades específicas para crear aplicaciones multiplataforma con MAUI, como:

  • Poder depurar las aplicaciones en cualquier emulador, simulador o dispositivo compatibles
  • Editar las interfaces de usuario XAML con resaltado de sintaxis y completado automático de código
  • Cambiar los "targets" de depuración/compilación y crear para todas las plataformas soportadas por .NET MAUI

Es un producto gratuito muy bueno y muy interesante para unificar en un solo entorno de desarrollo todas las plataformas, pero que no está de momento a la altura de lo que brinda Visual Studio.

Otra opción que no mencionan, pero que está en la mente de casi todos, es la de utilizar Rider, el entorno de desarrollo multiplataforma para .NET de JetBrains. Este potentísimo entorno no es gratuito, pero tiene un precio muy asequible para cualquier desarrollador profesional. Es verdaderamente multiplataforma y se basa en los muchos años de experiencia de la empresa checa en creación de este tipo de IDEs, siendo su máximo exponente IntelliJ Idea, utilizado por millones de desarrolladores de Java en todo el mundo.

La retirada de Visual Studio para Mac se ha fijado el 30 de agosto de 2024, concediendo un año exacto para hacer el cambio. A ver si en el ínterin invierten masivamente en mejorar la extensión para VSCode de forma que se ponga a la altura.

Te dejamos ya con el resto de los contenidos, como siempre muy interesantes 👇🏻👇🏻👇🏻👇🏻 (Por cierto, si no estás recibiendo noticias como estas en tu bandeja de entrada deberías solucionarlo cuanto antes).

🌐 Desarrollo Web

imagen decorativa

El viewport ideal no existe

Este estudio es buenísimo, la verdad. Cuando diseñas una web hoy en día tienes que tener en cuenta todo tipo de dispositivos y dimensiones de pantalla. Ante la variedad de breakpoints que existen, tradicionalmente se han utilizado 3 o 4 para los diseños habituales que, en teoría, ayudarían a abarcar a la mayor parte de los dispositivos. Este estudio ha recopilado más de 12.000 puntos de datos de tráfico sobre tamaños de viewport y han visto que existen más de 2.300 variantes de este parámetro. No solo eso, sino que la mayoría de los que se consideran "estándar" no solo representan un porcentaje ínfimo del total sino que algunos incluso no se utilizan en la realidad. Y encima lo han hecho bonito, oye... Hay varias recomendaciones sobre cómo proceder, pero la conclusión es que no hay reglas ni existen los viewport estándar: tenemos que crear diseños con reglas flexibles y tratar de simplificar el contenido. Merece la pena echarle un buen vistazo.

Mayor control a la hora de cargar Google Maps

imagen decorativa

  • 3 Mejoras en la carga de la API de JavaScript de Maps: una API para la carga flexible y asíncrona de bibliotecas, el nuevo cargador de arranque en línea y un conjunto de mejoras en el rendimiento.
  • API para importar bibliotecas dinámicamente: ahora se proporciona una API para importar bibliotecas dinámicamente. Por ejemplo, se puede cargar la Biblioteca de Lugares cuando se decida que es necesaria, lo que puede ser después de que una acción del usuario necesite información sobre lugares, ahorrando cargas innecesarias.
  • Nuevo cargador de arranque en línea: el nuevo cargador de arranque en línea nos permite utilizar google.maps.importLibrary() inmediatamente, sin necesidad de esperar a que se cargue la API. Esto también significa que se puede evitar el molesto callback global y utilizar Promesas o async/await para rastrear cuándo está lista la API de JavaScript de Maps.

Azure ofrece soporte para Socket.IO

Si desarrollas aplicaciones en tiempo real con Socket .IO, la popular biblioteca de JavaScript, ahora Azure te pone más fácil que nunca olvidarte de la parte del servidor. Dentro de su servicio Azure PubSub para este tipo de aplicaciones, ahora se ofrece una interfaz compatible con Socket. IO, por lo que puedes seguir usando las mismas APIs de Socket .IO y aprovechar las ventajas de Azure, que se encarga de la escalabilidad y la disponibilidad de las aplicaciones. El servicio Web PubSub de Azure tiene una capa gratuita muy interesante que te permite crear aplicaciones de este tipo con soporte de hasta 25 conexiones simultáneas.

👩‍💻 Lenguajes y Plataformas

imagen decorativa

¿Cuánto podemos reducir el tamaño de un ejecutable .NET?

Imagina que tienes un simple ejecutable con .NET que se limita a poner "Hola" en la línea de comandos. No queda mucho espacio de maniobra para simplificarlo más ¿verdad? Pues plantéatelo de nuevo... El programador conocido online como Washi se lo planteó y no te creerías la cantidad de cosas de bajo nivel qué puedes hacer para reducir enormemente ese tamaño. Un artículo que merece mucho la pena leer, al menos como curiosidad...

imagen decorativaSisk, una alternativa ligera a ASP.NET Core para crear servidores HTTP en C#

Sisk es una nueva biblioteca de código abierto para crear servidores HTTP en C# sin depender de ASP. NET Core. Sisk ofrece una forma más sencilla y flexible de desarrollar aplicaciones web, con funcionalidades como el enrutamiento, el middleware, los web sockets y los eventos enviados por el servidor. Sisk también tiene soporte para AOT nativo, lo que puede mejorar el rendimiento y la eficiencia. Para usar Sisk, se necesita crear una aplicación de consola en . NET e instalar el paquete NuGet correspondiente. Luego, se pueden definir los puntos finales del servidor mediante métodos estáticos o clases separadas. Sisk es una opción interesante para los desarrolladores que necesitan un servidor HTTP personalizable y sin las cargas de ASP. NET Core.

imagen decorativaNuevos requisitos para desarrolladores en la tienda de Apple

Apple ha anunciado que algunos requisitos para publicar en su tienda de aplicaciones se volverán más estrictos a partir del año próximo. A partir de octubre, los desarrolladores recibirán un aviso de que deben describir por qué utilizan ciertas APIs en sus aplicaciones. Así, por ejemplo, las API que pueden ser utilizadas para identificar a los usuarios se consideran “API de razón requerida” y deberemos justificar el motivo de tenerlas en la aplicación. Si no explicas de manera convincente el motivo, de momento tendrás un aviso, pero a partir de la primavera de 2024 tu aplicación será rechazada por App Store Connect.

👩‍💻 Dev Life

imagen decorativa

Windows 11 soportará archivos RAR, TAR y 7Z

Windows 11 permitirá abrir archivos comprimidos en formatos RAR, TAR o 7Z de forma nativa, sin necesidad de aplicaciones externas. Aunque tendrá una limitación: solo podrá abrirlos, pero no generarlos. De todos modos es una gran noticia ya que, especialmente el formato 7Z es con diferencia el mejor y comprime mucho más que los demás. Todos deberíamos usar 7-ZIP (gratuito y open source) porque las diferencias de rapidez y tamaño final de los archivos respecto al clásico ZIP son enormes. Al menos ahora podremos enviar los archivos sin miedo a que no los puedan abrir 😊 Esta función está disponible para los usuarios del programa Windows Insider en el Canal Beta, y la tendremos todos hacia finales de año...

imagen decorativa

La Guardia Civil quiere que actualices tu WinRAR

Y hablando del mismo tema... Si eres de los "raritos" 😜 que usan WinRAR en vez del que deberías (7-ZIP), que sepas que ha habido una vulnerabilidad muy grande que provoca que sólo por abrir un .rar se ejecute un malware. Así, sin más: no hace falta ni abrir ningún archivo de los que contenga el comprimido. La vulnerabilidad cuenta con una valoración de 7.8 sobre 10 en el índice CVSS y es tal que la propia Guardia Civil está recomendando que te actualices cuanto antes. Así que ya lo sabes...

imagen decorativa

Chrome 116 implementa algoritmos de cifrado resistentes a la cuántica

Los ordenadores cuánticos pueden realizar ciertos cálculos de manera tan eficiente que pueden romper las implementaciones criptográficas actuales. Esto significa que los datos cifrados hoy con los algoritmos convencionales podrían ser descifrados en el futuro por atacantes que usen ordenadores cuánticos, especialmente grandes corporaciones o gobiernos. El cifrado resistente a la cuántica pretende evitar esta situación.

Google ha anunciado que Chrome 116 ya soporta el protocolo de cifrado X25519Kyber768, resistente a ataques cuánticos, para establecer las claves simétricas durante el intercambio de secretos de TLS.

Kyber-768 es el algoritmo de cifrado resistente a la cuántica que ha sido elegido por el NIST como posible estándar para la ciberseguridad del futuro. Dicho de manera básica es el equivalente cuántico del algoritmo de cifrado AES convencional, el más seguro de la actualidad adoptado por el NIST como estándar. Ya está soportado también por Cloudflare, AWS e IBM.

🤖 Machine Learning y Datos

¡Python en Excel!

Microsoft ha añadido soporte para Python directamente en Excel a través de una nueva fórmula PY(). Gracias a PY podremos utilizar expresiones y bibliotecas Python (Pandas, NumPy, Matplotlib...) directamente en Excel, usando cualquier dato de tablas o PowerQuery y obteniendo a partir de ellos valores, DataFrames, gráficos... por lo que podemos hacer análisis e inferencia de modelos sin salir de Excel.

Es una colaboración entre Microsoft y Anaconda, que utiliza Python 3 y conda por debajo y que ejecuta todo el código en los servidores de Microsoft y no en local, por lo que tendremos que tenerlo en cuenta a la hora de "compartir" según que datos. Ah, eso sí, es una opción exclusiva para suscriptores de Microsoft 365, así que si tienes una licencia "pelada" de Office, no estás de suerte.

imagen decorativa

¿Se deben evitar los 20 millones de filas en una tabla de MySQL en 2023?

Este artículo pone en tela de juicio la clásica afirmación que circula por internet hace años sobre la necesidad de evitar tener más de 20 millones de filas en una tabla de MySQL debido a un posible deterioro en el rendimiento. En un experimento reciente, el autor creó varias tablas con diferentes tamaños y realizó pruebas de rendimiento exhaustivas sobre ellas. Las consultas con asterisco (*) sí que pueden generar un mayor tiempo de ejecución debido a la doble búsqueda en el árbol de índices, eso sí.

El rendimiento de las tablas está determinado por diversos factores, como el tamaño del búfer de innodb y la capacidad de almacenamiento del sistema. En lugar de basarse en un número específico de filas, es más útil evaluar el rendimiento en función de la relación entre el tiempo de ejecución de las consultas y la tasa de aciertos en el búfer de innodb. Por ello concluyó que hoy en día ese mito de los 20 millones de filas no parece muy válido, sobre todo teniendo en cuenta la disponibilidad actual de discos SSD, que cambian estos aspectos sustancialmente.

FRVR Forge: crear y publicar juegos con IA

Si todavía sigues creyendo que lo de la Inteligencia Artificial no va contigo, aquí tienes una prueba más: FRVR Forge. Se trata de un entorno de desarrollo orientado a juegos que permite crear el juego completo, incluyendo las texturas, personajes y demás recursos gráficos, describiéndolos de manera textual. No solo eso, incluso deja publicarlos en las tiendas de juegos desde el entorno cuando lo tengamos listo. En el vídeo puedes verlo en acción. De momento está en beta cerrada, así que no podrás tocarlo todavía, pero promete grandes cosas.

imagen decorativa

Se prueba en humanos el primer fármaco creado con IA

Por primera vez, un fármaco totalmente generado con inteligencia artificial ha entrado en ensayos clínicos de fase II con pacientes humanos. INS018_055 fue descubierto en 2020 y se está probando como tratamiento para la fibrosis pulmonar idiopática. Se trata de una enfermedad crónica que daña los pulmones y de la que se desconoce la causa exacta. Su prevalencia ha aumentado en las últimas décadas y puede provocar la muerte en un plazo de dos a cinco años si no se trata. El medicamento tiene resultados prometedores y confían en tenerlo en el mercado en pocos años.

⚙️ Herramientas

imagen decorativa

Proyecto IDX, el IDE en la Web de Google

Google ha lanzado un nuevo proyecto orientado a los desarrolladores: IDX. Se trata de un entorno integrado de desarrollo en la nube, para el que solo necesitas un navegador. La idea es que desde el propio navegador crees aplicaciones Web y apps multiplataforma, con emuladores de dispositivos iOS y Android incluidos. Permite importar proyectos desde GitHub o crearlos a partir de plantillas, y utilizar frameworks y lenguajes populares (Angular, React, Svelte, Flutter, Dart, Python y Go). Por supuesto te traerá un "clon" de CoPilot basado en su modelo Codey, para generar código a partir de comentarios, explicar código, etc.... De momento está en preview y hay que apuntarse para poder utilizarlo. No han revelado detalles sobre precios y disponibilidad general. A ver si no se queda en nada como tantos otros proyectos del gigante de los buscadores...

imagen decorativa

Nueva versión de .NET Upgrade Assistant en Visual Studio con más opciones y mejoras

. NET Upgrade Assistant es una herramienta que te ayuda a actualizar tus aplicaciones a la última versión de . NET y a migrar de plataformas antiguas como Xamarin Forms y UWP a las más nuevas. Acaban de lanzar una nueva versión para Visual Studio con nuevas funcionalidades y mejoras.

Ahora puedes elegir entre actualizar tu proyecto a una versión más reciente de . NET o solo actualizar algunas características del proyecto, pero sin cambiar la versión de . NET. Por ejemplo, puedes convertir el archivo de proyecto antiguo al nuevo estilo SDK sin modificar el framework de destino. También se han añadido muchas mejoras en el área de . NET MAUI, como la posibilidad de actualizar tus aplicaciones para macOS y de usar analizadores de código para corregir automáticamente el código incompatible con . NET MAUI.

imagen decorativa

Grafana lanza solución para monitorización Front-End

Grafana Cloud Frontend Observability es una solución lanzada por Grafana Labs para monitorizar la salud del frontend, investigar problemas, resolver errores y visualizar telemetría desde Grafana. Mide y reporta Web Vitals (como el tiempo hasta la recepción del primer byte o el pintado de contenido entre otros) y permite analizar datos en cualquier dimensión y agrupar y clasificar errores por volumen y frecuencia. Para facilitar la localización de errores, los agrupa por similitudes y también los clasifica por volumen y frecuencia, de modo que los desarrolladores puedan ver qué URL o navegadores presentan más errores e investigar en consecuencia. Gracias a ello, detectar y responder a errores en la interfaz de usuario de aplicaciones web es un poco más fácil utilizando el mismo sistema de almacenamiento y procesado de puntos de datos que usas en el backend.

Azure AD ahora se llama Microsoft Entra

imagen decorativaMicrosoft ha anunciado que le cambia el nombre a Azure Active Directory y pasará a llamarse Microsoft Entra. De hecho, se convierte en una familia de productos para asegurar el acceso de cualquier identidad a cualquier aplicación o a cualquier recurso en la nube u on premise. Ha presentado dos nuevos productos: Microsoft Entra Internet Access, un Gateway Web Seguro que protege las aplicaciones y los recursos de Internet, SaaS y Microsoft 365, y Microsoft Entra Private Access, un acceso a la red de tipo Zero Trust que protege las aplicaciones privadas y los recursos de la empresa. Juntos, forman la solución Security Service Edge (SSE) de Microsoft. Como de costumbre con Microsoft, todo muy claro y sencillo 🤦🏻‍♂️

En el enlace se explican también los cambios de licencia y los precios para los productos. También te dará una visión general de las capacidades para desarrollo con Microsoft Entra External ID, que ofrece varias opciones personalizadas para verificación de identidad de usuarios externos.

🤦‍♂️ Gambadas

imagen decorativa

La orwelliana “Web Integrity API” de Google para cambiar cómo funciona la Web

Una cosa de la que se ha hablado mucho este verano es de la propuesta de Google para cambiar la esencia de cómo funciona la Web. Han corrido ríos de bits, y con razón.

De momento es solo una idea de cuatro ingenieros, pero básicamente el titular es que Google quiere añadir una capa de control a la Web. Se trata de una propuesta de estándar Web que crearía una "API de integridad del entorno" para permitir a los sitios web saber si el navegador del usuario ha sido modificado o no.

Esta "Web Integrity API" permitiría que los servidores web solicitaran al usuario una "prueba de integridad de su entorno" antes de enviarle datos. Para ello tendría que contactar con un servidor de terceros encargado de dar fe de ello, obteniendo un token de integridad firmado que verificaría su entorno para poder desbloquear los contenidos.

Google lo justifica con que la API podría ayudar a los anunciantes a contar las verdaderas impresiones de los anuncios, a detener los bots en las redes sociales, a evitar el fraude en los juegos web, a hacer cumplir los derechos de propiedad intelectual y a mejorar la seguridad de las transacciones financieras.

Sin embargo, también se trata de introducir en el navegador un sistema de control (estilo DRM) que impediría el acceso a los contenidos a los usuarios que tengan el navegador modificado o personalizado, evitando que nadie se salte muros de pago o acceda a contenidos tras ellos. O sea, lo que Google plantea es un mecanismo de control con el que podría denegar el acceso a aquellos usuarios que no utilicen el software y el hardware "adecuados".

Cada vez la Web e Internet en general se quieren parecer más a todo lo contrario para lo que fueron pensados. Es una pena...

imagen decorativa

Irak casi bloquea Telegram a nivel mundial

En agosto, el gobierno de Irak bloqueó la popular aplicación de mensajería Telegram, citando la necesidad de proteger los datos personales de los iraquíes. Para lograrlo, el gobierno iraquí lo que hizo fue "piratear" las IPs de Telegram usando BGP (el protocolo de enrutado de Internet) y redirigiéndolas hacia ningún sitio. El problema es que estas rutas redirigidas salieron de Irak y se empezaron a propagar a otros nodos y otros países. Lo bueno es que Telegram había utilizado el protocolo seguro RPKI, un mecanismo de seguridad que sirve precisamente para evitar que ocurra la propagación indiscriminada de rutas BGP, por lo que la cosa se quedó en un susto 🤦🏻‍♂️

Downfall: la nueva vulnerabilidad en procesadores Intel

imagen decorativaEste mes de agosto se ha descubierto una nueva vulnerabilidad de los procesadores Intel que te afecta con casi total seguridad. Downfall, que es como la han bautizado, permite al software atacante el acceso a los datos de otros programas que comparten el mismo hardware, lo cual conduce a la obtención de contraseñas, claves de cifrado y todo tipo de datos privados. Es capaz de romper los límites normales de aislamiento, como máquinas virtuales, procesos, aislamiento usuario-núcleo e Intel SGX, así que afecta ¡incluso a VMs en hardware compartido en el cloud! La cosa es muy gorda...

Downfall afecta a los procesadores Intel Core desde la sexta generación, Skylake de 2014, hasta la undécima Tiger Lake. Intel ha lanzado una actualización de microcódigo para mitigar la vulnerabilidad, pero ésta puede causar hasta un 50% de sobrecarga para algunas cargas de trabajo. Pero al menos es solucionable 😖

Toyota detiene todas sus plantas en Japón 20 horas por un fallo informático

imagen decorativaEl pasado día 29 un fallo en el software que gestiona las fábricas de Toyota hizo que tuviese que detener la producción de las 14 que tiene en Japón, con 28 líneas de producción en total. El sistema se pudo recuperar parcialmente tras 20 horas, aunque no ha trascendido exactamente que pasó. Este problema se uno a que tuvieron en marzo, que se debió a un ciberataque (aunque a uno de sus proveedores) y afectó a su plataforma de pedidos. La empresa tuviera que detener la producción en todas sus fábricas domésticas, afectando a más de 13.000 vehículos y haciendo que sus acciones cayeran inmediatamente en bolsa.

👾 Frikadas

imagen decorativa

Viendo la frecuencia de refresco de tu monitor ¡con CSS!

Esta es una frikada de las buenas. A Luna, una programadora/diseñadora, se le ha ocurrido una manera fascinante de mostrar a los usuarios la frecuencia de actualización de su pantalla. Para ello hace girar a gran velocidad un gráfico de disco similar a un zoótropo, pero especialmente diseñado. A medida que gira, los números que representan la frecuencia de actualización de tu monitor permanecen visualmente estables, a diferencia de los números circundantes, por lo que puedes ver qué frecuencia o frecuencias soporta tu monitor. Una manera más de demostrar que TODO es "hackeable" para hacer casi cualquier cosa menos para lo que estaba pensado 😁

imagen decorativa

macintosh.js

Una máquina virtual de un Macintosh Quadra de 1991, con Mac OS 8, ejecutándose como una aplicación Electron, o sea, con HTML, CSS y JavaScript por debajo. No es una emulación de las ventanas para parecerse: es el sistema completo como proyecto Open Source que puedes encontrar en GitHub. ¿Por qué? Pues porque se puede 😁

imagen decorativa

Reduciendo el código fuente de VSCode... retocando nombres

Visual Studio Code lleva dentro una buena cantidad de JavaScript... Pero mucho JavaScript, ya que, por debajo, es una app web. El equipo ha logrado reducir el tamaño del código que se entrega con el producto en casi 4 MB, y todo ello sin tener que eliminar ni refactorizar nada. ¿Cómo? Simplemente gracias a un nuevo paso en su compilación para hacer "manipulación de nombres". Increíble pero cierto. Este enlace es una estupenda lectura sobre cómo el equipo abordó el problema y logró poner en marcha la solución.

campusMVP campusMVP es la mejor forma de aprender a programar online y en español. En nuestros cursos solamente encontrarás contenidos propios de alta calidad (teoría+vídeos+prácticas) creados y tutelados por los principales expertos del sector. Nosotros vamos mucho más allá de una simple colección de vídeos colgados en Internet porque nuestro principal objetivo es que tú aprendas. Ver todos los posts de campusMVP
Archivado en: General

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.