WSO2 ha lanzado hace muy pocos meses la última versión de Ballerina, el lenguaje de programación moderno que provee una amplia gama de herramientas para potenciar la productividad del desarrollo web.
Qué es Ballerina de WSO2
Una gran parte de los lenguajes de programación actuales incluyen bibliotecas que posibilitan el manejo del rendimiento, datos estructurados, errores o fallas, gestión de múltiples núcleos y otras tareas que gracias a Ballerina pueden ser ejecutadas directamente desde el lenguaje informático, reduciendo las fallas en los entornos distribuidos de la nube.
WSO2 Ballerina es un lenguaje de programación nativo en la nube especializado en la integración que incluye las mejores prácticas modernas de programación web, microservicios y desarrollo orientado a DevOps y Agile.
Todas las novedades de ballerina 1.2.0
La nueva versión de Ballerina 1.2.0 se constituye en la más importante del 2020, ya que incluye un conjunto de mejoras y características valiosas para los usuarios relacionadas al tiempo de ejecución, la biblioteca y herramientas para que los desarrolladores tengan una experiencia fluida y práctica al momento de escribir códigos de integración.
A continuación desarrollamos las más importantes:
- El stream tipo ha sido refinado e incluido en la especificación del lenguaje y rediseñado en la implementación del compilador. Una secuencia es un valor similar a un objeto que puede generar una secuencia de valores. Proporciona dos operaciones primitivas: siguiente y cercana. La biblioteca lang asociada con el stream tipo, lang.stream proporciona operaciones adicionales que se pueden realizar en una secuencia.
- La expresión de consulta proporciona una función de consulta integrada en el lenguaje similar a la sintaxis SQL. En esta última versión, el comportamiento es similar al de las comprensiones de listas. En su forma actual, una expresión de consulta puede ser pensada como una cadena de 4 tipos de cláusulas: from, let, where y select. Una expresión de consulta debe comenzar con una from cláusula y terminar con una select cláusula. Entre esas dos cláusulas puedes tener cero o más from, let o where cláusulas. La parte de la expresión de consulta desde la from cláusula (inclusive) hasta la select cláusula (exclusiva) se denomina “canalización de consulta”
- Una acción de consulta consiste en una canalización de consulta seguida de una do cláusula que contiene un conjunto de declaraciones. Para cada uno de los marcos de entrada emitidos por la canalización de consultas, el conjunto de declaraciones en la do cláusula se ejecuta con ese marco dentro del alcance.
- Los módulos de la biblioteca lang ahora pueden definir subtipos integrados de sus respectivos tipos. Significa que esos subtipos están definidos por la especificación del lenguaje. Por ejemplo, el lang.int módulo define los siguientes subtipos de int: Signed8, Unsigned8, Signed16, Unsigned16, Signed32y Unsigned32.
- El diseño XML se ha refinado y ya no se encuentra en el estado de vista previa. El diseño renovado presenta una sintaxis de consulta similar a XPath para una manipulación fácil y segura de los datos XML. La biblioteca lang asociada lang.xml, también se ha mejorado para complementar este diseño. Además, el acceso a XML ahora es de tipo laxo lo cual significa que la verificación en tiempo de compilación se relaja y se traslada al tiempo de ejecución. Acceder a un atributo inexistente o usar la expresión de acceso de campo en un elemento no XML dará como resultado la devolución de un error. Si se usa la sintaxis de acceso de campo opcional, se devolverá nil en lugar de un error cuando el campo no esté disponible. Se accede a los atributos con prefijo de espacio de nombres utilizando la value.prefix:attrName sintaxis donde el prefijo XML debe declararse en el ámbito.
- La expresión let permite vincular variables y evaluar una expresión con esas variables dentro del alcance. El alcance de las variables se limita a la expresión let.
- La nueva versión de Ballerina tiene un mecanismo de desaprobación: los usuarios pueden marcar funciones o métodos, definiciones de tipos, constantes, etc. como obsoletos, lo cual genera advertencias durante la compilación.
Por otra parte, WSO2 Ballerina 1.2.0 ha mejorado profundamente la reducción del tiempo de compilación. Los módulos de la biblioteca estándar también presentan algunas características y mejoras destacadas:
- El http módulo ahora admite cookies HTTP. Introduce nuevas APIs para administrar cookies tanto en el servidor como en el espacio del cliente.
- La caché módulo presenta una caché API v2. Esta nueva implementación permite al usuario proporcionar políticas de desalojo de caché personalizadas si es necesario y garantiza una mejora significativa en el rendimiento sobre la versión anterior.
- El GRPC módulo ha rediseñado su soporte para los campos con el objetivo de hacer un mejor uso de las características del lenguaje Ballerina: uno de los campos se mapea campos opcionales en los registros y los campos del mapa se mapean como registros anidados.
- El módulo Kafka se ha mejorado a una nueva versión 2.0 generando cambios muy oportunos. Esta versión proporciona soporte para serializadores o deserializadores personalizados y Avro.
Además de todas estas características y mejoras relevantes, se han abordado y resuelto los errores y problemáticas referidas a las especificaciones de idioma en el compilador así como del tiempo de ejecución.
En cuanto al idioma, la implementación del lenguaje está basado en la versión de especificación de lenguaje estable 200R1 cuya implementación representa un conjunto de funcionalidades que facilitan aún más la integración para el usuario, además de su renovación y mejora a partir de la resolución de situaciones críticas de versiones pasadas de Ballerina.
La nueva versión del WSO2 Ballerina sienta las bases para generar un conjunto aún más rico de características y funciones destinadas a simplificar y hacer más eficiente los escenarios de integración tan utilizados en la actualidad.
Para conocer de forma específica y detallada cada una de las nuevas funcionalidades y características de la versión 1.2.0 de Ballerina, ponte en contacto con nosotros y resolveremos todas tus dudas.