Slint, un kit de herramientas para crear interfaces gráficas

Slint

Slint , un conjunto de herramientas integral para crear interfaces de usuario nativas para dispositivos integrados y de escritorio,

Hace poco se dio a conocer el lanzamiento de la primera versión significativa del kit de herramientas GUI de Slint, que resume tres años de trabajo en el proyecto. La versión 1.0 se posiciona como lista para comenzar a usar en proyectos de trabajo.

Los objetivos principales del proyecto son el bajo consumo de recursos, la capacidad de trabajar con pantallas de cualquier tamaño, proporcionar un proceso de desarrollo conveniente tanto para programadores como para diseñadores, y garantizar la portabilidad entre diferentes plataformas.

De las plataformas, se admiten Linux, Windows, macOS, Blackberry QNX, es posible ensamblar en pseudocódigo WebAssembly para ejecutar en un navegador o compilar aplicaciones independientes que no requieren un sistema operativo. Hay planes para brindar la capacidad de crear aplicaciones móviles para las plataformas Android e iOS. Por ejemplo, las aplicaciones basadas en Slint pueden ejecutarse en una placa Raspberry Pi Pico equipada con un microcontrolador ARM Cortex-M0+ y 264 KB de RAM.

Slint usa programación declarativa para agilizar el desarrollo de la interfaz de usuario. Nuestro enfoque para optimizar el desarrollo y el rendimiento de las aplicaciones es:

La interfaz de usuario se describe en un lenguaje declarativo utilizando una sintaxis que proporciona una forma extensa de describir los diversos elementos gráficos al mismo tiempo que es fácil de leer, escribir y aprender.
El compilador Slint optimiza y traduce la descripción de la interfaz de usuario a código nativo,
La lógica comercial, que puede escribir en cualquier idioma, está conectada con la interfaz de usuario mediante las API específicas del idioma proporcionadas por Slint.

Slint viene con un lenguaje de marcado diseñado específicamente para interfaces de usuario. Este lenguaje es fácil de aprender, leer y escribir, y proporciona una manera poderosa de describir elementos gráficos, su ubicación y el flujo de datos a través de los diferentes estados. Es una sintaxis familiar para describir la jerarquía de elementos y enlaces de propiedad.

La interfaz se define utilizando un lenguaje de marcado declarativo especial «.slint», que proporciona una sintaxis para describir varios elementos gráficos (uno de los autores de Slint fue una vez responsable del motor QtQml en Qt Company).

Las descripciones de la interfaz en el lenguaje Slint se compilan en el código nativo de la plataforma de destino. La lógica para trabajar con la interfaz no está vinculada a Rust y se puede definir en cualquier lenguaje de programación; actualmente, la API y las herramientas para trabajar con Slint están preparadas para Rust, C ++ y JavaScript, pero admiten lenguajes adicionales como Python y Go está previsto.

Slint viene con soporte de herramientas para completar el código, navegar, refactorizar y resaltar la sintaxis. A medida que desarrolla y refina la interfaz de usuario, la vista previa en vivo de Slint muestra los cambios en tiempo real para proporcionar una retroalimentación instantánea.

Se proporcionan varios backends para la salida, lo que permite usar Qt, OpenGL ES 2.0, Skia y software de renderizado para renderizar sin conectar dependencias de terceros.

Para simplificar el desarrollo, se ofrece una adición a Visual Studio Code, un servidor LSP (Language Server Protocol) para la integración con varios entornos de desarrollo y un editor en línea SlintPad. Los planes incluyen el desarrollo de un editor de interfaz visual para diseñadores, que permite crear una interfaz arrastrando y soltando widgets y elementos en el modo de arrastrar y soltar.

Finalmente si estás interesado en poder conocer un poco más al respecto, puedes consultar los detalles en el siguiente enlace.

Para los interesados en este kit de herramientas, deben saber que está escrito en Rust y tiene licencia GPLv3 o licencia comercial (para uso en productos propietarios sin abrir el código). El kit de herramientas se puede utilizar tanto para crear aplicaciones gráficas para sistemas estacionarios como para desarrollar interfaces para dispositivos integrados.

El proyecto está siendo desarrollado por Olivier Goffart y Simon Hausmann, antiguos desarrolladores de KDE que trabajaron en Qt en Trolltech.

from Linux Adictos https://ift.tt/ck9evuD
via IFTTT

FerretDB 1.0 ya fue liberado y estas son sus novedades

FerretDB

FerretDB se fundó para convertirse en el sustituto de código abierto de facto de MongoDB.

Se dio a conocer hace poco el lanzamiento de la nueva versión del proyecto FerretDB 1.0, que permite reemplazar el SGBD orientado a documentos de MongoDB por PostgreSQL sin realizar cambios en el código de la aplicación. FerretDB se implementa como un servidor proxy que traduce las llamadas a MongoDB en consultas SQL a PostgreSQL, lo que le permite usar PostgreSQL como almacenamiento real.

La versión 1.0 está marcada como la primera versión estable lista para uso general. El público objetivo principal de FerretDB son los usuarios que no utilizan las funciones avanzadas de MongoDB en sus aplicaciones, pero desean utilizar una pila de software completamente abierta.

En su etapa actual de desarrollo, FerretDB es compatible con un subconjunto de las características de MongoDB que se usan más comúnmente en las aplicaciones típicas. La necesidad de implementar FerretDB puede surgir en relación con la transición de MongoDB a una licencia SSPL no libre, que se basa en la licencia AGPLv3, pero no es de código abierto, ya que contiene un requisito discriminatorio para suministrar bajo la licencia SSPL no solo el código de la aplicación en sí, pero también los códigos fuente de todos los componentes involucrados en la provisión de servicios en la nube.

MongoDB ocupa un nicho entre los sistemas rápidos y escalables que operan con datos clave/valor y los DBMS relacionales que son funcionales y fáciles de consultar. MongoDB admite el almacenamiento de documentos en un formato similar a JSON, tiene un lenguaje bastante flexible para generar consultas, puede crear índices para varios atributos almacenados, proporciona almacenamiento eficiente de objetos binarios grandes, admite el registro de operaciones para cambiar y agregar datos a la base de datos, puede trabajar de acuerdo con el paradigma Map/Reduce, admite la replicación y la construcción de configuraciones tolerantes a fallas.

Principales novedades de FerretDB 1.0

En esta nueva versión que se presenta se destaca que se han implementado los comandos createIndexes y dropIndexes para crear y colocar uno o más índices en una colección, ademas de que el comando getMore se implementó para mostrar una nueva porción del resultado obtenido de la ejecución de comandos que devuelven un cursor, como buscar y agregar.

Otro de los cambios que se destaca de la nueva versión se agregó soporte para el operador de agregación $sum para calcular la suma de valores de grupo, asi como tambien que se agrego soporte para los operadores $limit y $skip para limitar el número y omitir documentos al agregar y que se agregó soporte para el operador $count para contar documentos al agregar.

Ademas de ello, tambien se destaca que se agregó soporte para el operador $unwind para analizar los campos de la matriz en los documentos entrantes y formar una lista con un documento separado para cada elemento de la matriz y tambien que se agregó compatibilidad parcial con los comandos collStats , dbStats y dataSize para obtener estadísticas de recopilación y base de datos y el tamaño de los datos.

De los demás cambios que se destacan de la nueva versión:

  • Ahora se usan iteradores para `sort`, `limit`, `skip` y `projection`
  • Bump dependencias
  • Mejoras del seguimiento de recursos
  • Se añadieron pruebas para el argumento `skip` de `find` y `count
  • Cierre el iterador correctamente
  • Mejoras en la inicialización de números grandes en datos de prueba

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Para los interesados en el código, deben saber que está escrito en Go y se distribuye bajo la licencia Apache 2.0.

Y deben saber que la mejor forma de probar FerretDB es modificarlo y ejecutarlo en el host (Linux, macOS o Windows) con PostgreSQL y otras dependencias que se ejecutan dentro de los contenedores de Docker a través de Docker Compose.

En Linux, docker debe instalarse en el host. En macOS y Windows, se debe usar Docker Desktop, mientras que en Windows, debe configurarse para usar WSL 2 sin ninguna distribución; todos los comandos deben ejecutarse en el host.

from Linux Adictos https://ift.tt/ZNH7TPE
via IFTTT

Mullvad Browser, el nuevo navegador web de la mano de Tor y Mullvad VPN

Mullvad Browser

El navegador Mullvad es otra opción para los usuarios de Internet que buscan un navegador de privacidad que no necesite un montón de extensiones y complementos

Hace pocos días Tor Project y el proveedor de VPN Mullvad presentaron un navegador web llamado «Mullvad Browser» desarrollado conjuntamente y centrado en proteger la privacidad del usuario.

Mullvad Browser está técnicamente basado en el motor Firefox e incluye casi todos los cambios del Tor Browser, con la principal diferencia de que no utiliza la red Tor y envía solicitudes directamente (una variante del Tor Browser sin Tor).

Se supone que Mullvad Browser puede ser de interés para los usuarios que no desean trabajar a través de la red Tor, pero que desean que los mecanismos disponibles en Tor Browser aumenten la privacidad, bloqueen el seguimiento de visitantes y protejan contra la identificación del usuario.

Mullvad y Tor Project han sido parte de la misma comunidad que se dedica a desarrollar tecnología que prioriza la protección del derecho a la privacidad de las personas desde hace muchos años. Mullvad contribuye al Proyecto Tor al más alto nivel de membresía, Shallot, y fue miembro fundador del Programa de membresía del Proyecto Tor.

Para mayor seguridad, Mullvad Browser, como Tor Browser, tiene una configuración de «Solo HTTPS» para cifrar el tráfico en todos los sitios donde sea posible. Se incluyen los complementos NoScript y Ublock Origin para reducir la amenaza de los ataques de JavaScript y el bloqueo de anuncios. El servidor Mullvad DNS-over-HTTP se utiliza para determinar los nombres. Los ensamblajes listos se generan para Linux, Windows y macOS.

Se acercaron a nosotros para ayudarlos a desarrollar su navegador porque querían aprovechar nuestra experiencia para crear un producto que se basa en los mismos principios y con niveles de seguridad similares al navegador Tor, pero que funciona independientemente de la red Tor. El resultado es Mullvad Browser, un navegador web gratuito que preserva la privacidad para desafiar el modelo de negocios demasiado frecuente de explotar los datos de las personas con fines de lucro.

De forma predeterminada, se utiliza el modo de navegación privada, que elimina las cookies y el historial de navegación una vez que finaliza la sesión.

Hay tres modos de seguridad disponibles: Estándar, Más seguro (JavaScript está habilitado solo para HTTPS, la compatibilidad con etiquetas de audio y video está deshabilitada) y Más seguro (sin JavaScript). DuckDuckgo se utiliza como motor de búsqueda. Incluye el complemento Mullvad para mostrar la información de la dirección IP, los detalles de la conexión VPN de Mullvad (la VPN de Mullvad es opcional) y deshabilita rápidamente la compatibilidad con WebRTC.

 

Nuestro objetivo era brindar a los usuarios las protecciones de privacidad de Tor Browser sin Tor. Por ejemplo, el navegador Mullvad aplica un enfoque de «esconderse entre la multitud» a la privacidad en línea mediante la creación de una huella digital similar para todos sus usuarios. Las configuraciones y configuraciones ‘listas para usar’ del navegador enmascararán muchos parámetros y características que se usan comúnmente para extraer información del dispositivo de una persona que puede hacerla identificable, incluidas las fuentes, el contenido renderizado y varias API de hardware.

Las diferentes API como WebGL, WebGL2, Gamepad, Sensors, entre otras están deshabilitadas o restringidas para proteger contra el seguimiento de usuarios y el resaltado específico de visitantes. screen.orientation, así como las herramientas de envío de telemetría, Pocket, Reader View, están deshabilitados, el retorno de datos se organiza solo sobre una parte de las fuentes instaladas.

Para bloquear la identificación por tamaño de ventana, se utiliza el mecanismo de buzón, que agrega relleno alrededor del contenido de las páginas web. Administrador de contraseñas eliminado.

De las diferencias con el navegador Tor: no se utiliza la red Tor, no hay soporte para diferentes idiomas, se devuelve el soporte para WebRTC y Web Audio API, uBlock Origin y Mullvad Browser Extension están integrados, la protección de arrastrar y soltar está desactivada, las advertencias ya no se muestran durante las descargas, fuga la protección entre pestañas está deshabilitada en la información de NoScript que se puede usar para identificar al usuario.

Mullvad Browser no está vinculado a Mullvad VPN y puede ser utilizado por cualquier persona. El código del navegador se distribuyebajo la licencia MPL 2.0, el desarrollo se realiza en el repositorio del proyecto Tor.

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

from Linux Adictos https://ift.tt/0s98cZR
via IFTTT