Ya fue liberada la nueva version de Dart 2.12 y llega con Null Safety y FFI

Seguido de la anterior publicación de la nueva versión de Flutter 2, Google también dio a conocer la publicación (casi al mismo tiempo) del lanzamiento de la nueva versión del lenguaje de programación Dart 2.12, en el que continúa el desarrollo de la rama Dart 2 rediseñada radicalmente.

Para quienes desconocen de Dart (originalmente llamado Dash) deben saber que este es un lenguaje de programación de código abierto, desarrollado por Google.

Sobre Dart

Dart está pensado para ofrecer mejores resultados mediante alternativas a algunos problemas de JavaScript, pese a que en su presentación no se hicieron referencias explícitas a JavaScript. Pretende ser una herramienta sencilla para proyectos más grandes y ofrecer una mejor seguridad.

El objetivo de Dart no es reemplazar JavaScript como el principal lenguaje de programación web en los navegadores web, sino ofrecer una alternativa más moderna. El espíritu del lenguaje puede verse reflejado en las declaraciones de Lars Bak, ingeniero de software de Google, que define a Dart como un “lenguaje estructurado pero flexible para programación Web”

Entre las características únicas de Dart se destacan las siguientes:

  • Portátil: los compiladores eficientes generan código de máquina x86 y ARM para dispositivos y JavaScript optimizado para la web. Se admite una amplia gama de objetivos : dispositivos móviles, PC de escritorio, backends de aplicaciones y más. Un extenso conjunto de bibliotecas y paquetes proporciona API consistentes que funcionan en todas las plataformas, lo que reduce aún más el costo de crear verdaderas aplicaciones multiplataforma.
  • Productivo: la plataforma Dart permite un desarrollo rápido e iterativo tanto para dispositivos nativos como para la web. Y Dart ofrece construcciones ricas como aislamientos y async / await para manejar patrones comunes de aplicaciones concurrentes y controladas por eventos.
  • Robusto: el sistema de tipo seguro para nulos de Dart detecta errores durante el desarrollo. Y la plataforma general es altamente escalable y confiable, con un uso de producción durante más de una década por parte de una amplia gama de aplicaciones, incluidas aplicaciones críticas para el negocio como Google Ads y Google Assistant.

¿Qué hay de nuevo en Dart 2.12?

Este lanzamiento se destaca por la estabilización del modo de seguridad «Null» (Null Safety), que evitará bloqueos causados ​​por intentos de usar variables cuyo valor no está definido y configurado en «Null» pues permitirá a los desarrolladores detectar más fácilmente los errores nulos durante el desarrollo. Anteriormente, era difícil distinguir entre el código que anticipaba pasar como nulo y el código que no funcionaba con nulos.

Es decir, implica que las variables no pueden tener valores nulos a menos que se les asigne explícitamente un valor nulo. El modo considera estrictamente los tipos de variables, lo que permite al compilador aplicar optimizaciones adicionales. La conformidad de tipo se verifica en tiempo de compilación, por ejemplo, si se intenta asignar un valor «Nulo» a una variable con un tipo que no implica un estado indefinido, como «int», se generará un error. Null Safety es un cambio importante en el lenguaje y requiere algunos cambios al codificar.

Otra mejora importante en Dart 2.12 es la implementación estable de la biblioteca FFI , que permite crear código de alto rendimiento desde el cual puede acceder a las API de C, pues FFI permite pasar estructuras por valores y no solo por referencias.

De los demás cambios que se destacan:

  • Las estructuras anidadas, frecuentes en C, ahora son compatibles con Dart FFI.
  • Se realizaron optimizaciones de rendimiento y tamaño.
  • Se agregaron herramientas de desarrollo y un sistema de creación de perfiles de código escrito con Flutter, así como nuevos complementos para desarrollar aplicaciones en Dart y Flutter para Android Studio/IntelliJ y VS Code.

De los planes futuros para Dart en general se menciona que en la próxima versión se centrarán principalmente en cambios incrementales de lenguaje, como alias de tipo, operador de triple turno, anotaciones de metadatos genéricos y metaprogramación estática.

Finalmente si estás interesado en conocer más al respecto sobre esta nueva versión del lenguaje de programación, puedes consultar los detalles en el siguiente enlace.

 

from Linux Adictos https://ift.tt/2Oc5Ktw
via IFTTT

Ya fue liberada la beta de Arduino IDE 2.0 y estas son sus novedades

El equipo de Arduino dio a conocer hace pocos dias mediante un anuncio que la versión 2.0 (beta) del IDE de Arduino está disponible para descargar y que sus repositorios de código se están convirtiendo en código abierto.

Entre las novedades que se presentan, se menciona que se ofrecen funciones avanzadas, una mejor experiencia de usuario y un tiempo de compilación más rápido, además de que a medida que se escribe, el editor sugiere (finalmente) el autocompletado de variables y funciones según las bibliotecas que hayan incluido.

Sobre Arduino

Para quienes desconocen de Arduino, deben saber que este es una compañía de desarrollo de software y hardware y que proporciona un IDE que admite más de 1000 placas de desarrollo de la familia Arduino, oficiales o no.

Hasta ahora, el IDE de Arduino ofrece una interfaz simple y clara, suficiente para la mayoría de los usuarios, incluidos los nuevos en la plataforma.

Mientras que los usuarios más experimentados lo critican por sus capacidades de edición limitadas en comparación con los editores modernos. Además, todavía requieren capacidades de depuración avanzadas, con la capacidad de recorrer el código, verificar el contenido de las variables, la memoria y los registros en los puntos de interrupción.

El IDE en sus versiones actuales 1.x está desarrollado en Java, y su base de código monolítico dificulta la implementación de características tan avanzadas en una multitud de plataformas y sistemas operativos.

El código comenzó a refactorizarse en 2018 con grandes cambios, además de que la herramienta arduino-cliofrece todas las características básicas de IDE que los usuarios avanzados pueden integrar en el IDE profesional de su elección. Arduino-cli fue escrito en Golang.

En 2019, se lanzó el «Arduino pro IDE» en versión Alpha. Este nuevo IDE construido sobre arduino-cli se basa en una pila de software moderno (Theia y Electron).

¿Qué hay de nuevo en la beta del IDE de Arduino 2.0?

Tal y como se mencionó al inicio, el nuevo IDE de Arduino 2.0 tiene un editor más moderno que su predecesor, su interfaz se ha vuelto más receptiva, pero los creadores dicen que las traducciones también se ejecutarán más rápido que antes. Aun que a primera vista, el nuevo editor tiene un aspecto muy similar al anterior, por ejemplo, se ha conservado la barra con los botones para verificar y cargar el código.

La placa que se va a programar ahora se puede configurar allí directamente. La barra lateral es nueva, con depuración, el tablero y el administrador de biblioteca, que ofrece tres funciones útiles y también se refiere a las opciones de configuración.

Y es que es la misma plataforma que Electron basada en las tecnologías web en la que se construye Visual Studio Code y gracias a la cual viene con capacidades completamente nuevas. Estos incluyen, por ejemplo, la finalización automática de código, que además de C++ también ayuda a escribir archivos JavaScript, HTML y CSS, pero también la capacidad de usar varias herramientas de Serial Monitor diferentes para comunicarse con páginas en paralelo.

Otra de las características que se destaca de esta versión beta de Arduino IDE 2.0, es que tiene un depurador en vivo, lo que facilita la búsqueda de errores en fragmentos de código.

Los puntos de interrupción se pueden establecer en el panel de depuración, de modo que se puedan detectar errores en un fragmento específico de código y se puedan ajustar las variables durante la depuración. El depurador admite todas las placas Arduino que se ejecutan en plataformas SAMN y Mbed, mientras que para otras placas de terceros, sigue un manual técnico para configurar el depurador.

Finalmente, el equipo de Arduino mencionan que el desarrollo de Arduino IDE 2.0 ha sido posible gracias a donaciones y la compra de placas Arduino originales.

A los desarrolladores se les pagó con esto para trabajar en el software de código abierto.

La versión beta se puede descargar para Windows x86-64bit, Linux o macOS, aunque Arduino todavía llama al software experimental y lo advierte de posibles errores.

Si quieres conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/3sUjnwj
via IFTTT

Google presenta GKE Autopilot, un administrador para configurar correctamente Kubernetes

Kubernetes es una plataforma de código abierto extensible y portátil para administrar cargas de trabajo y servicios en contenedores, promueve tanto la escritura de configuración declarativa como la automatización. Básicamente es un ecosistema grande que se expande rápidamente y que cuenta con una gran cantidad de servicios, soporte y herramientas.

Google hizo que el proyecto Kubernetes fuera de código abierto en 2014. El desarrollo de Kubernetes se basa en la década y media de experiencia de Google en la gestión de la carga y la escala en la producción, junto con las mejores ideas y prácticas de la comunidad.

Google Kubernetes Engine (GKE), anteriormente conocido como Google Container Engine, es un sistema de gestión y orquestación para contenedores Docker que se ejecutan en los servicios de nube pública de Google.

Google Container Engine se basa en Kubernetes, el sistema de gestión de contenedores de código abierto de Google. Las empresas suelen utilizar Google Kubernetes Engine para hacer lo siguiente:

  • Crear o cambiar el tamaño de los clústeres de contenedores de Docker.
  • Crear pods de contenedores, controladores de replicación, trabajos, servicios o balanceadores de carga.
  • Cambiar el tamaño de los controladores de aplicaciones.
  • Actualizar los clústeres de contenedores.
  • Depurar clústeres de contenedores.

Los usuarios pueden interactuar con Google Kubernetes Engine mediante la CLI de gcloud o Google Cloud Platform Console. Los desarrolladores de software utilizan con frecuencia Google Kubernetes Engine para crear y probar nuevas aplicaciones empresariales. Los administradores también utilizan contenedores para satisfacer mejor los requisitos de escalabilidad y rendimiento de las aplicaciones empresariales, como los servidores web.

Google ha reconocido que los usuarios tienen dificultades para configurar correctamente Kubernetes e introdujo el nuevo servicio llamado «GKE Autopilot» con el objetivo de simplificar la implementación y administración de nodos.

Los observadores dicen sobre Kubernetes que primero, ha ganado una importancia crítica en el espacio de la orquestación de contenedores, y segundo, su complejidad es tanto una barrera para la adopción como una causa frecuente de errores.

«A pesar de seis años de progreso, Kubernetes todavía está demostrando ser muy complejo», escribió Drew Bradstock, líder de producto de Google Kubernetes Engine (GKE), en una publicación que anunciaba Autopilot. «Y lo que hemos visto durante el año pasado es que muchas empresas dan la bienvenida a Kubernetes con los brazos abiertos, pero se enfrentan a su complejidad».

Gran parte de GKE ya es un servicio administrado, pero Google presentó Autopilot, un servicio de implementación para GKE, que agrega automáticamente una nueva capa delgada de administración.

Una de las diferencias entre los dos radica, entre otras cosas, en el nivel de gestión. Kubernetes funciona con nodos (servidores individuales), clústeres (una serie de servidores físicos o virtuales), contenedores (en los que se ejecutan los programas) y pods (un grupo de uno o más contenedores en un nodo). Si bien GKE administra a nivel de clúster, Autopilot también incluye nodos y pods en su herramienta de administración.

El mejor lugar para comprender las características y limitaciones de Autopilot es en su documentación, tomando nota de las opciones marcadas como «preconfiguradas» (lo que significa que no se pueden cambiar) para que los administradores tengan menos trabajo.

Esencialmente, es otra forma de comprar y administrar recursos de GKE que ofrece menos flexibilidad, pero más conveniencia. Dado que Google maneja una mayor parte de la configuración, ofrece un SLA más alto de 99.9% de tiempo de actividad para los módulos de piloto automático en múltiples áreas.

“Con el lanzamiento de Autopilot, los usuarios de GKE ahora pueden elegir entre dos modos de funcionamiento diferentes, cada uno con su propio nivel de control sobre sus clústeres de GKE y las responsabilidades de GKE relacionadas.

“GKE ya ofrece un nivel de automatización de vanguardia que hace que configurar y operar un clúster de Kubernetes sea más fácil y rentable que el bricolaje y otras ofertas administradas; El piloto automático representa un avance significativo. Además del plano de control completamente administrado que GKE siempre ha proporcionado, el uso del modo de operación de piloto automático aplica automáticamente las mejores prácticas de la industria y puede eliminar todas las operaciones de administración de nodos, maximizando así la eficiencia de su clúster y contribuyendo a fortalecer la seguridad.

Fuente: https://cloud.google.com

from Linux Adictos https://ift.tt/3kRmzWE
via IFTTT

Flutter 2 ya fue liberado y llega como un marco universal

Google dio a conocer hace poco la introducción de la nueva versión del marco de interfaz de usuario Flutter 2, con el cual anunció la transformación de un proyecto de un marco de desarrollo de aplicaciones móviles a un marco universal para crear cualquier tipo de software, incluidas las aplicaciones de escritorio y web.

Para quienes desconocen de Flutter, deben saber que este se considera como una alternativa a React Native y permite lanzar aplicaciones para diferentes plataformas, incluyendo iOS, Android, Windows, macOS y Linux, basadas en la misma base de código, así como aplicaciones para ejecutar en navegadores.

Las aplicaciones móviles previamente escritas en Flutter 1, después de cambiar a Flutter 2, podrán adaptarse para trabajar en el escritorio y la Web sin tener que volver a escribir el código.

Sobre Flutter

La mayor parte del código de Flutter se implementa en Dart y el motor de tiempo de ejecución para ejecutar aplicaciones está escrito en C++.

Al desarrollar aplicaciones, además del lenguaje Dart nativo de Flutter, puede usar la interfaz de función extranjera de Dart para llamar al código C/C++.

La portabilidad de Flutter también se extiende a los dispositivos integrados, es decir, a dispositivos más pequeños como Raspberry Pi y Google Home Hub.

En este punto, dice Google, una de las plataformas integradas donde Flutter ya está operando se basa en sistemas operativos de pantallas inteligentes que alimenta a los gustos de Google Home Hub.

El alto rendimiento de ejecución se logra compilando aplicaciones en código de máquina para plataformas de destino. Al mismo tiempo, no es necesario volver a compilar el programa después de cada cambio: Dart proporciona un modo de recarga en caliente que le permite realizar cambios en una aplicación en ejecución y evaluar inmediatamente el resultado.

Hoy, anunciamos Flutter 2 : una importante actualización de Flutter que permite a los desarrolladores crear aplicaciones hermosas, rápidas y portátiles para cualquier plataforma.

Con Flutter 2, puede usar la misma base de código para enviar aplicaciones nativas a cinco sistemas operativos: iOS, Android, Windows, macOS y Linux; así como experiencias web dirigidas a navegadores como Chrome, Firefox, Safari o Edge. Flutter incluso se puede integrar en automóviles, televisores y electrodomésticos inteligentes, proporcionando la experiencia más universal y portátil para un mundo de computación ambiental.

Sobre Flutter 2

Flutter 2 afirma que es totalmente compatible con la creación de aplicaciones web, adecuadas para implementaciones de producción, ya que se mencionan tres escenarios principales para usar Flutter para la Web:

  • Desarrollar aplicaciones web independientes (PWA, Progressive Web Apps)
  • Crear aplicaciones web de una sola página (SPA, Single page apps)
  • Convertir aplicaciones móviles en aplicaciones web.

Entre las características de las herramientas de desarrollo para la Web se encuentran el uso de mecanismos para acelerar el renderizado de gráficos 2D y 3D, el diseño flexible de elementos en la pantalla y el motor de renderizado CanvasKit compilado en WebAssembly.

Y debido a que los navegadores de escritorio son tan importantes como los navegadores móviles, agregamos barras de desplazamiento interactivas y atajos de teclado, aumentamos la densidad de contenido predeterminada en los modos de escritorio y agregamos compatibilidad con lectores de pantalla para la accesibilidad en Windows, macOS y Chrome OS.

Además, en el anuncio se menciona que el soporte para aplicaciones de escritorio está en versión beta y se estabilizará este año en una versión futura junto con el anuncio de que Canonical, Microsoft y Toyota trabajaran en el soporte para el desarrollo con Flutter.

  • Por su parte, Canonical ha elegido Flutter como el marco principal para sus aplicaciones y también está utilizando Flutter para desarrollar un nuevo instalador para Ubuntu.
  • Mientras que Microsoft ha adaptado Flutter para dispositivos multipantalla plegables como Surface Duo.
  • Finalmente, Toyota planea usar Flutter para sistemas de información y entretenimiento en el automóvil.

Si quieres conocer más al respecto sobre esta nueva versión de Flutter 2, puedes consultar los detalles en el anuncio original. El enlace es este.

Mientras para los que estén interesados en poder instalar Flutter, pueden seguir las instrucciones al final del post de Diego. El enlace es este.

from Linux Adictos https://ift.tt/3egw9RS
via IFTTT

yay: cómo instalar este asistente de AUR en distros basadas en Arch Linux

Yay

Arch Linux es un sistema operativo que funciona muy bien, pero no es la mejor opción para todos los usuarios. Por ese motivo, incluso se hacen memes que hacen referencia a usuarios expertos y también existen distribuciones más amigables como Manjaro o AntergOS. De hecho, yo escribo mucho desde Manjaro USB y estoy encantado, en parte por Pamac, su tienda de software que nos permite instalar todo tipo de paquetes, como lo que hay en AUR. Pero, ¿y qué pasa con otras distribuciones basadas en Arch Linux? Puede que sea una buena opción usar Yay.

La cuestión es que en Arch Linux hay software que se tiene que compilar. Un usuario poco experto se puede meter en AUR y desanimarse nada más ver la página principal, y más cuando busca cualquier software y ve tanta información. Yay se ha diseñado un poco para esto, siendo un asistente para usarlo siempre que queramos instalar software de A(rch) U(ser) R(epository). Las siglas vienen de «Yet Another Yogurt», y recoge y hace todo lo necesario para instalar software de ese AUR que tanto gusta a cualquiera que use Arch Linux (si no está allí, no existe… para Linux).

Cómo instalar Yay

Básicamente, Yay hará todo ese tedioso trabajo de compilación por nosotros, dejándonos sólo la tarea de introducir un comando y revisar algunos avisos, como de dónde instalar algún paquete o si hay algún problema. Para instalarlo, haremos lo siguiente:

  1. Instalamos los paquetes base-devel y git, si no los tenemos. Los comandos serian los siguientes:
sudo pacman -S base-devel
sudo pacman -S git
  1. Ahora tenemos que instalar Yay. Hay dos versiones, la estable y la de desarrollo, y aquí vamos a explicar la de la versión estable. Lo primero será clonar el repositorio de Git, por lo que volvemos al terminal y escribimos esto:
cd /opt
sudo git clone https://aur.archlinux.org/yay.git
  1. Ahora cambiamos el nombre del dueño del directorio fuente, cambiando «pablinux» por el nombre de vuestro usuario:
sudo chown -R pablinux:users ./yay
  • Si no sabemos el usuario o grupo, podemos averiguarlo escribiendo id debugpoint.
  1. Ahora vamos al directorio y compilamos:
cd yay
makepkg -si
  1. Esperamos y ya tendríamos este cómodo software instalado.

Aunque yo no lo veo estrictamente necesario, en Manjaro está disponible en el repositorio de la comunidad, por lo que se puede instalar con pacman -S yay.

Instalando paquetes y realizando otras acciones

Instalar software con este asistente es sencillo. Lo único que tenemos que hacer es escribir «yay» en lugar de «pacman». Por ejemplo, para instalar TuxGuitar, escribiremos yay -S tuxguitar. Otros comandos que son igual que con pacman son el de actualizar (yay -Syu) o borrar un programa y todos los archivos relacionados (yay -Rns tuxguitar).

De esta pequeña guía, lo único un poco más complicado, pero tampoco mucho, es instalar el asistente. Una vez instalado, veréis que todo es más sencillo en vuestro sistema basado en Arch Linux, claro está, si preferís usar el terminal o vuestro centro de software no permite instalar software de AUR. En cualquier caso, hablamos de una herramienta que merece la pena instalar.

from Linux Adictos https://ift.tt/3c55ncg
via IFTTT