Menú

ADOPTAR?

    PROBAR?

    • Arrow es una librería de programación funcional para Kotlin que fue creada mezclando 2 populares librerías ya existentes (kategory y funKTionale). Si bien Kotlin ya contiene bloques nativos para la programación funcional, Arrow provee, además, paquetes de alto nivel de abstracción, listos para ser usados por desarrolladoras/es de aplicaciones. Provee, además, tipos de datos, clases, efectos, ópticos y otros patrones de programación funcional así como integraciones con otras famosas librerías. Nuestras primeras impresiones positivas de Arrow se han visto confirmadas cuando la usamos para construir aplicaciones que ahora están en producción.

      Historia
    • Varios de nuestros equipos usan Flutter y realmente les gusta. Es un framework multiplataforma que permite escribir aplicaciones móviles nativas en Dart. Se beneficia de Dart y se puede compilar en código nativo y se comunica con la plataforma de destino sin puente y cambio de contexto. La funcionalidad hot-reload de Flutter sigue siendo impresionante y proporciona una respuesta visual súper rápida al editar el código. Estamos seguros de recomendarles que prueben Flutter en uno de sus proyectos.

      Historia
    • Jest-when es una librería JavaScript ligera que complementa Jest proporcionando los argumentos de llamada de una función simulada. Jest es una gran herramienta para probar el stack, jest-when te permite esperar ciertos argumentos de funciones simulada, y así te permite escribir tests unitarios más robustos para módulos con muchas dependencias.

      Historia
    • Micronaut es un framework de la JVM para construir servicios usando Java, Kotlin o Groovy. Se distingue por dejar una pequeña huella en la memoria y por un corto tiempo de arranque. Logra estas mejoras evitando usar reflexión en tiempo de ejecución para la inyección de dependencias (DI) y la generación de proxies, que es un defecto común entre los frameworks tradicionales, y usa, en cambio, un contenedor DI/AOP que realiza la inyección de dependencias en tiempo de compilación. Esto lo vuelve atractivo no solo para microservicios estándar del lado del servidor, sino también en contextos por ejemplo de IoT, aplicaciones Android y funciones serverless. Micronaut usa Netty y tiene soporte de primera clase para programación reactiva. También incluye funcionalidades como service discovery y circuit breaking que lo hace amigable para la nube. Micronaut es un participante muy prometedor para los frameworks full-stack del entorno de la JVM y verlo cada vez en más y más proyectos en producción, nos incita a moverlo a Trial.

      Historia
    • A principios de este año, React Hooks fueron introducidos en el popular framework de JavaScript. Ellos permiten el uso de state y otras funcionalidades de React sin escribir clases, ofreciendo un procedimiento más claro que otros componentes de higher-order o render-propsp para casos de uso. Librerías como Material UI y Apollo han cambiado a usar Hooks. Hay algunos problemas con el testeo de Hooks, en especial con Enzyme, que contribuyó a reexaminar Enzyme como herramienta favorita.

      Historia
    • El mundo de JavaScript se mueve bastante rápido, y a medida que adquirimos más experiencia en el uso de un framework, nuestras recomendaciones cambian. La Biblioteca de Pruebas de React es un buen ejemplo de un framework que con un uso más profundo, ha eclipsado las alternativas para convertirse en la opción por defecto más sensata a la hora de probar frontends basados en React. A nuestros equipos les gusta el hecho de que los tests escritos con este framework son menos frágiles que con frameworks alternativos como Enzyme, porque se les anima a probar las relaciones de los componentes individualmente en lugar de probar todos los detalles de implementación.

      Historia
    • El uso de literales de plantilla etiquetados styled components hace posible colocar el CSS necesario para aplicar estilo a un componente React directamente en el código JavaScript que crea el componente. Esto reduce en gran medida las dificultades en el manejo de CSS y evita la necesidad de convenciones de nombres u otros medios para evitar conflictos de nombres en el CSS. Las personas desarrolladoras pueden ver el estilo al mirar la definición del componente y no tienen que memorizar varios megabytes de CSS. Por supuesto, colocar el CSS en el código JavaScript puede dificultar la obtención de una visión coherente del diseño de diferentes componentes, por lo que recomendamos comprender las consecuencias que tiene utilizar este enfoque.

      Historia
    • Con su versión 2.0, TensorFlow mantiene su prominencia como framework líder en el sector de Machine Learning (ML). TensorFlow comenzó como un paquete de procesamiento numérico que se expandió gradualmente para incluir librerías que permiten varias aproximaciones y entornos de ejecución de ML, abarcando desde las CPUs de los móviles hasta grandes clusters de GPUs. Por el camino, se habilitó una gran cantidad de frameworks para simplificar las tareas de creación de redes neuronales y entrenamiento. Al mismo tiempo, otras frameworks, especialmente PyTorch, ofrecían un modelo de programación imperativa que hacía la depuración y ejecución más simple y fácil. TensorFlow 2.0 sigue ahora por defecto a flujo imperativo (ejecución eager) y adopta Keras como única API de alto nivel. Mientras estos cambios modernizan la usabilidad de TensorFlow y lo hacen más competitivo frente a PyTorch, se trata de una reescritura significativa que a menudo rompe la retrocompatibilidad — muchas herramientas y frameworks de servicio en el ecosistema de TensorFlow no funcionarán de manera inmediata con la nueva versión. De momento, hay que considerar si queremos diseñar y experimentar en TensorFlow 2.0 pero volver a la versión 1 para servir y ejecutar los modelos en producción.

      Historia

    EVALUAR?

    • Fairseq es un conjunto de herramientas de modelado s2s (sequence-to-sequence) desarrollado por Facebook AI Research que permite a investigadoras/es y desarrolladoras/es entrenar modelos personalizados para traducción, síntesis de texto, modelado de lenguaje y otras tareas de procesamiento de lenguaje natural. Es una buena elección para usuarios de PyTorch. Provee referencias de implementación para varios modelos s2s (sequence-to-sequence), admite distribuir entrenamientos a través de múltiples GPUs y máquinas. Es muy extensible y dispone de varios modelos pre-entrenados, incluyendo RoBERTa, una versión optimizada de BERT.

      Historia
    • Flair es un framework sencillo basado en Python para el procesamiento de lenguaje natural (NLP). Permite a los usuarios realizar tareas estándar de NLP, como reconocimiento de entidades nombradas (NER), part-of-speech tagging (PoS), desambiguación y clasificación del sentido de las palabras y funciona bien en una variedad de tareas de NLP. Flair presenta una interfaz sencilla y unificada para una variedad de embeddings de documentos y palabras, incluyendo BERT, Elmo y las propias de Flair. También tiene soporte multilingüe. El framework en sí, está construido sobre PyTorch. Lo estamos usando en algunos de nuestros proyectos y nos gusta su facilidad de uso y sus potentes abstracciones.

      Historia
    • Gatsby.js es un framework para escribir aplicaciones web con una arquitectura conocida como JAMstack. Parte de la aplicación se genera en tiempo de compilación y se despliega como un sitio estático, mientras que el resto de la funcionalidad se implementa como una aplicación web progresiva (PWA) que se ejecuta en el navegador. Dichas aplicaciones funcionan sin código que se ejecute en el lado del servidor. Sin embargo, por lo general, PWA realiza llamadas a APIs de terceros y soluciones SaaS para la gestión de contenido. En el caso de Gatsby.js, todo el cliente y el código de tiempo de compilación están escritos utilizando React. El framework incluye algunas optimizaciones para aumentar la percepción de velocidad de la aplicación web. Proporciona el código y la división de datos out-of the box para minimizar los tiempos de carga y acelera el rendimiento al navegar por la aplicación mediante la captación previa de recursos. Las APIs se llaman a través de GraphQL y varios plugins simplifican la integración con los servicios existentes.

      Historia
    • Hemos visto muchas implementaciones exitosas de GraphQL en nuestros proyectos. También hemos visto algunos patrones de uso interesantes, incluyendo GraphQL for server-side resource aggregation. Dicho esto, existen inquietudes sobre el mal uso de este framework y algunos de los problemas que pueden ocurrir. Por ejemplo problemas de rendimiento alrededor de consultas N+1 y código repetitivo necesario cuando se agregan nuevos modelos, conduciendo a complejidad. Hay alternativas a estos problemas como el cacheo de consultas. Sin embargo, no es una “bala de plata”, todavía pensamos que vale la pena una evaluación como parte de tu arquitectura.

      Historia
    • KotlinTest es una herramienta de prueba independiente para el ecosistema de Kotlin que les ha gustado a nuestros equipos. Permite pruebas unitarias basadas en propiedades, una técnica que hemos resaltado anteriormente en el Radar. Las ventajas clave son que ofrece una variedad de estilos de pruebas para estructurar los conjuntos de pruebas y que posee un conjunto completo de matchers, lo que permite pruebas expresivas en un elegante lenguaje específico de dominio (DSL) interno.

      Historia
    • NestJS es un framework Node.js del lado del servidor escrito en TypeScript. Al integrar la riqueza de la comunidad de Node.js, NestJS proporciona una arquitectura de aplicación lista para usar. El modelo mental para desarrollar NestJS es similar a la versión del lado del servidor de Angular o a la versión TypeScript de Spring Boot, por lo que la curva de aprendizaje para las personas desarrolladoras es baja. NestJS soporta protocolos como GraphQL, Websocket y bibliotecas ORM.

      Historia
    • Cuando utilizamos HTML y tecnologías similares para la creación de libros y de otros tipos de publicaciones, se debe tener en cuenta la paginación. Incluyendo contadores de página, elementos repetidos en cabeceras y pies de página, así como mecanismos que evitan molestos saltos de página. Paged.js es una librería open-source que implementa una serie de polyfills para los módulos de CSS Paged Media y Generated Content for Paged Media. Todavía es experimental pero cubre un gap importante en el “escribe una vez, publica en todas partes” historia del HTML.

      Historia
    • Quarkus es un framework basado en contenedores y nativo de la nube de Red Hat para escribir aplicaciones en Java. Tiene un tiempo de arranque muy corto (decenas de milisegundos) y tiene utilización de memoria baja lo que lo convierte en un buen candidato para FaaS o para escalado hacia arriba o hacia abajo de manera frecuente en un orquestador de contenedores. Al igual que Micronaut, Quarkus consigue esto utilizando técnicas de compilación ahead-of-time para realizar la inyección de dependencias en tiempo de compilación y evitar los costes de la reflexión en tiempo de ejecución. También funciona bien con la Imagen Nativa de GraalVM que reduce aún más el tiempo de arranque. Quarkus soporta los modelos tanto imperativo como reactivo. Junto a Micronaut y Helidon, Quarkus lidera la carga en la nueva generación de frameworks Java que tratan de solucionar el problema del tiempo de arranque y consumo de memoria sin sacrificar la efectividad de la persona que desarrolla. Ha recibido mucha atención por parte de la comunidad y merece la pena mantenerla bajo vigilancia.

      Historia
    • Apple ha dado un gran paso adelante con su nueva framework SwiftUI para implementar interfaces de usuario en plataformas macOS e iOS. Nos gusta que SwiftUI se mueva más allá de la relación parche entre Interface Builder y XCode, y adopte una aproximación coherente, declarativa y centrada en el código. Ahora puedes ver tu código y la interfaz visual resultante una al lado de la otra en XCode 11, proporcionando una experiencia mucho mejor para la persona desarrolladora. La framework SwiftUI también se ha inspirado en el mundo React.js que ha venido dominando el desarrollo web durante los últimos tiempos. Los valores inmutables en los modelos de vista y un mecanismo de actualización asíncrono proporcionan un modelo unificado de programación reactiva. Esto proporciona a las/os desarrolladoras/es una alternativa totalmente nativa a la proporcionada por frameworks reactivos similares como React Native o Flutter. Aunque SwiftUI representa definitivamente el futuro del desarrollo de Apple UI, es bastante nueva y llevará tiempo limar sus bordes ásperos. Estamos deseando ver documentación mejorada y una comunidad de personas desarrolladoras que puedan establecer un conjunto de prácticas para pruebas y otros aspectos de ingeniería.and a community of developers who can establish a set of practices for testing and other engineering concerns.

      Historia
    • Crear entornos confiables para la ejecución de tests automatizados es un problema recurrente, particularmente dado que el número de componentes de los que dependen los sistemas modernos sigue incrementándose. Testcontainers es una librería Java que ayuda a mitigar este reto gestionando dependencias dockerizadas para tus tests. Esto es particularmente útil para gestionar repetidamente instancias de bases de datos o infraestructuras similares, pero también puede ser usado en navegadores web para tests de UI. Nuestros equipos han encontrado esta librería útil para realizar tests de integración más fiables con estos contenedores programables, ligeros y desechables.

      Historia

    RESISTIR?

    • No solemos mover herramientas obsoletas a “Hold” en el Radar. Sin embargo, nuestros equipos creen firmemente que Enzyme ha sido reemplazado por React Testing Library en el campo del Unit Testing para componentes React UI. Los equipos que usan Enzyme han visto que esta herramienta se centra en el testing de las partes internas de los componentes haciendo los test frágiles difíciles de mantener.

      Historia
    ¿No encuentras aquello que querías ver?

    Cada edición del radar incluye blips que contienen la información encontrada durante los últimos seis meses. Es posible que ya hayamos incluido el tema que estás buscando en radares anteriores. Hay veces que omitimos algunos temas debido a que hay demasiado de que hablar. O también, puede faltar algo debido a que en el radar buscamos reflejar nuestra experiencia, no lo basamos en un análisis exhaustivo del mercado.

    Nuevo o modificado,Ningún cambio