La velocidad ha sido uno de los principios fundamentales de Chrome desde su comienzo: trabajamos constantemente para ofrecer a los usuarios una experiencia instantánea a medida que navegan por la Web. Ahora bien, todos nos hemos sentido defraudados por alguna página web que pensamos que se cargaría rápido, pero que en realidad estuvo lejos de hacerlo. Creemos que es posible mejorar la Web y queremos no solo que los usuarios entiendan por qué un sitio podría cargarse más lento, sino también recompensar a aquellas páginas que ofrecen experiencias veloces.


En el futuro, puede que Chrome utilice insignias claras para identificar a los sitios que suelen cargarse de manera rápida o lenta. Probablemente eso se lleve a cabo de diversas formas, y tenemos pensado experimentar con diferentes opciones a fin de determinar cuál proporciona el mayor valor a nuestros usuarios. 


El objetivo de las insignias es identificar los casos en los que los sitios son creados de una manera que los hace más lentos en general, teniendo en cuenta las latencias de carga históricas. Más adelante, podríamos ampliar esto para poder identificar los casos en los que es probable que una página sea lenta en función de las condiciones del dispositivo y la red del usuario. 


Nuestras primeras exploraciones se centrarán en una serie de elementos de Chrome, incluida la pantalla de carga (pantalla de presentación), la barra de progreso de carga y el menú contextual de los vínculos. Esto último permitiría obtener estadísticas de las velocidades típicas de un sitio para que puedas estar al tanto de eso antes de comenzar a navegar. 




Nuestro plan para identificar los sitios que son rápidos o lentos se llevará a cabo en pasos graduales, basados en criterios cada vez más estrictos. Nuestro objetivo a largo plazo es definir las insignias para experiencias de alta calidad, que pueden incluir indicadores más allá de la velocidad. 


Estamos construyendo la insignia de velocidad en estrecha colaboración con otros equipos que trabajan etiquetando la calidad de las experiencias de Google. Creemos que esto garantizará que si optimizas tu sitio para que sea rápido, no se lo marcará con una insignia que no sea coherente de un elemento a otro.


Somos muy conscientes de nuestro enfoque respecto de lo que se considera una buena experiencia del usuario y esperamos llegar a algo que puedan lograr todos los desarrolladores. Si bien publicaremos actualizaciones acerca de este plan a medida que nos acerquemos a versiones futuras, optimiza tu sitio cuanto antes. Hay una serie de recursos disponibles que te mostrarán qué oportunidades puedes aprovechar para mejorar la velocidad de tu sitio.
Para evaluar el rendimiento, consulta lo siguiente:

Para obtener información sobre las prácticas recomendadas de rendimiento, consulta web.dev/fast, nuestra plataforma de aprendizaje que incluye guías y codelabs sobre cómo hacer que tus páginas se carguen al instante.


Nos encanta recompensar tu trabajo y dar a nuestros usuarios más transparencia respecto del rendimiento normal de los sitios. Esperamos que este esfuerzo anime a más sitios de la Web abierta a brindar mejores experiencias para todos los usuarios.


Publicado por Addy Osmani, Ben Greenstein y Bryan McQuade del equipo de Chrome


Introducción

¿Quieres agregar compatibilidad para un complemento de Flutter? En este artículo, verás cómo se agregó compatibilidad web al complemento url_launcher. Antes de leer, te recomendamos familiarizarte con el desarrollo de complementos y los conceptos sobre el ...

Introducción

¿Quieres agregar compatibilidad para un complemento de Flutter? En este artículo, verás cómo se agregó compatibilidad web al complemento url_launcher. Antes de leer, te recomendamos familiarizarte con el desarrollo de complementos y los conceptos sobre el desarrollo de paquetes de complementos.

Ejemplo: package:url_launcher

Primero, es necesario crear una aplicación de ejemplo que use package:url_launcher para poder verificar que funciona correctamente.
Configuración
Para poder usar complementos web, debes estar en el canal de desarrollo de Flutter. Ejecuta el siguiente comando para confirmarlo:
$ flutter channel dev
$ flutter upgrade
Ahora, debes habilitar la compatibilidad web a fin de que Flutter pueda configurar tu aplicación para ejecutarse en la Web:
$ flutter config --enable-web
Crea un directorio llamado url_launcher_example (supongamos que es ~/url_launcher_example) y crea un proyecto de Flutter allí:
$ mkdir “~/url_launcher_example”
$ cd “~/url_launcher_example”
$ flutter create .
Uso de package:url_launcher
Nuestra aplicación de ejemplo tendrá solamente un botón que inicie google.com.
Primero, actualiza pubspec para crear la dependencia con package:url_launcher. En pubspec.yaml, en dependencies, agrega la siguiente línea (resaltada en negrita):
name: url_launcher_example
 ...
dependencies:
  flutter:
    sdk: flutter
  url_launcher: 5.2.3
  ...
Luego, reemplaza todo el contenido de lib/main.dart con lo siguiente:

Para verificar que la aplicación funcione, ejecútala en tu dispositivo Android o iOS, o usa el simulador y ejecuta la aplicación normalmente con flutter run. La aplicación debe verse como en la captura de pantalla. Prueba a hacer clic en el botón Launch! y verifica que se abra Google.


Aplicación de ejemplo para abrir una URL

Ahora, puedes ejecutar la misma aplicación en la Web con flutter run -d chrome. La aplicación debería abrir y mostrar la versión para dispositivos móviles, pero no debería suceder nada al hacer clic en Launch!. Empecemos a escribir el complemento web para url_launcher.

Creación de package:url_launcher_web

Crea un directorio nuevo llamado url_launcher_web (supongamos que es ~/url_launcher_web):
$ mkdir “~/url_launcher_web”
$ cd “~/url_launcher_web”
Lamentablemente, no hay una plantilla para complementos web en este momento (es decir, no puedes usar flutter create), así que tendrás que crear el complemento manualmente. Sin embargo, antes de empezar a codificar, debemos analizar cómo se realizará la implementación.
Información sobre package:url_launcher
Echemos un vistazo a la implementación de package:url_launcher para que sepas qué hacer con package:url_launcher_web. El código principal se encuentra aquí. Estas son las partes más importantes que debes tener en cuenta:

Casi todos los complementos de Flutter se escriben de este modo. Crean un MethodChannel y el complemento usa el canal para enviar una llamada de método a la plataforma (es decir, Android o iOS) del complemento. Por lo tanto, la lógica de funcionamiento de este complemento en Android es que hay código escrito en Java que registra un MethodChannel en Android. El MethodChannel aguarda llamadas de método, las cuales invocan el código de Android necesario para iniciar una URL. Para lograr que este complemento funcione en la Web, debes hacer lo mismo que en las implementaciones de Android e iOS: crear un MethodChannel que aguarde llamadas de método e inicie la URL específica cuando las reciba.
Implementación de package:url_launcher_web
Las implementaciones web de los complementos de Flutter se escriben como paquetes de Dart. Empecemos con pubspec.yaml. Suponiendo que estás en el directorio url_launcher_web que creaste antes, genera un archivo llamado pubspec.yaml y pega el siguiente código en el archivo:

Información importante para tener en cuenta:
  • La sección platforms: incluye una sección para web: que declara el nombre de la clase en la que implementarás el complemento y el nombre de archivo que contiene la clase.
  • La dependencia flutter_web_plugins te permite registrar la implementación web de url_launcher.
Declaramos que nuestra implementación será una clase denominada UrlLauncherPlugin y la escribiremos en url_launcher_web.dart, así que hagamos eso ahora. Asegúrate de crear primero un directorio lib/. Luego, edita lib/url_launcher_web.dart y pega el siguiente código en el archivo:

Hay varios puntos importantes que debemos tener en cuenta en la implementación. Analicemos cada uno de ellos:
Registrar el complemento con registerWith
Al igual que en Android o iOS, los complementos web deben inicializarse antes de que la aplicación se ejecute. Esto se realiza en el método estático registerWith, que utiliza un Registrar (que proviene de package:flutter_web_plugins).
En este caso, registramos un MethodChannel para que detecte mensajes entrantes de la aplicación. Observa cómo inicializamos el MethodChannel con registrar.messenger. Todos los MethodChannel tienen un BinaryMessenger que usan para enviar y recibir mensajes. De forma predeterminada, un MethodChannel usa el BinaryMessenger predeterminado definido en Flutter. Dicho BinaryMessenger envía mensajes desde la aplicación hacia la plataforma, pero nosotros queremos escribir un complemento que se encuentre en la plataforma y reciba mensajes de la aplicación. Por lo tanto, debemos inicializar el MethodChannel con otro BinaryMessenger. Afortunadamente, el Registrar que se envía al complemento en registerWith tiene el mensajero adecuado. Si lo usamos para inicializar el MethodChannel, tendremos un MethodChannel que recibe llamadas de método de la aplicación.
Control de las llamadas de método
El MethodChannel que creamos registró handleMethodCall como el controlador de llamadas de método. Es decir que invocaremos a este controlador cada vez que el MethodChannel de la aplicación (el que creamos en package:url_launcher) envíe una llamada de método al MethodChannel de la plataforma (el que creamos en registerWith).
Si el controlador recibe una llamada de método dirigida al método ‘launch’, invocará a _launch y se abrirá una ventana nueva con la URL especificada.

Usar el complemento web en la aplicación de ejemplo

¡Qué buen aspecto tiene nuestro complemento web! Llegó el momento de usarlo en la aplicación de ejemplo que creamos antes.
Modifica pubspec en ~/url_launcher_example para agregar una dependencia vinculada a ~/url_launcher_web. Los cambios deberían ser similares a la imagen que aparece debajo. Asegúrate de usar la ruta correcta correspondiente a tus directorios:
dependencies:
  flutter:
    sdk: flutter
  url_launcher: 5.2.3
  url_launcher_web:
    path: ../url_launcher_web
Ahora, ejecuta la aplicación de ejemplo nuevamente con flutter run -d chrome. Prueba a hacer clic en el botón Launch!. Debería abrirse google.com en una pestaña nueva.
¡Felicitaciones! Lograste agregar compatibilidad web a un complemento de Flutter.


Te escuchamos: qué aprendimos sobre la encuesta de usuarios de Flutter del tercer trimestre de 2019

Rendimiento, agregar a apps, complementos y mucho más



Todos los trimestres, el equipo de la Experiencia del usuario de Flutter realiza una encuesta para obtener información sobre lo que podemos hacer para ayudarte a tener éxito con Flutter. Más de 7,500 usuarios participaron en la encuesta del tercer trimestre, y estamos aquí para compartir lo que aprendimos ...

Te escuchamos: qué aprendimos sobre la encuesta de usuarios de Flutter del tercer trimestre de 2019

Rendimiento, agregar a apps, complementos y mucho más



Todos los trimestres, el equipo de la Experiencia del usuario de Flutter realiza una encuesta para obtener información sobre lo que podemos hacer para ayudarte a tener éxito con Flutter. Más de 7,500 usuarios participaron en la encuesta del tercer trimestre, y estamos aquí para compartir lo que aprendimos, como de costumbre.
En general, el 92% de los usuarios estuvieron algo satisfechos o muy satisfechos con Flutter. Esa es la primera pregunta que hacemos en cada encuesta porque es importante para nosotros diseñar un producto que te guste. Nos alegra ver el mismo nivel de satisfacción que el trimestre anterior.

Rendimiento

Flutter continúa optimizando sus aspectos básicos, y eso incluye mejorar la experiencia de rendimiento. Para entender mejor cómo nos está yendo en este tema, tomamos el desempeño de Flutter como uno de los temas principales de esta encuesta.
Mientras que el 78% de los usuarios tenían experiencia con el modo de lanzamiento o de perfil (el rendimiento solo debe evaluarse en esos modos), el 85% de ellos estaban satisfechos (ya sea algo satisfechos o muy satisfechos) con el rendimiento de Flutter. Además, preguntamos acerca de las subcategorías de rendimiento: rendimiento de renderizado, rendimiento de memoria, rendimiento de uso de energía y tamaño binario. Descubrimos que entre el 10% y el 20% de los usuarios no saben cómo evaluar esos aspectos del rendimiento, y el aspecto menos satisfactorio fue el tamaño binario (54% satisfechos). Para aquellos que necesiten más información sobre cómo evaluar y optimizar diferentes aspectos del desempeño, pronto publicaremos guías acerca de cómo hacerlo, además de la documentación existente sobre rendimiento. La encuesta nos permitió entender que algunas métricas de rendimiento, como el uso de energía o el rendimiento de la memoria, son más difíciles de evaluar que otras.


Entre el 10% y el 20% de los usuarios no saben cómo evaluar esos resultados

También nos enteramos de que solo la mitad de los usuarios (47%) usan Dart DevTools (un conjunto de herramientas de rendimiento para Dart y Flutter) con el objetivo de medir el rendimiento de sus apps de Flutter. La mitad de los que no han usado Dart DevTools dijeron que no sabían que existían (48%) y una quinta parte de ellos no sabían cómo usarlas (21%). Nos esforzaremos más por difundir DevTools. También integraremos más estrechamente DevTools con los IDE, lo que facilitará el lanzamiento de funcionalidades específicas de DevTools, posiblemente sin necesidad de abrir un navegador web separado.


Preferencia de rendimiento de la herramienta generadora de perfiles

Agregar a apps

Agregar a apps es la adopción incremental de Flutter mediante la adición de una pantalla renderizada de Flutter a una aplicación existente para iOS o Android, en lugar de crear un proyecto únicamente para Flutter desde el principio. Esta es una gran manera de adoptar Flutter cuando hay restricciones que te impiden escribir una app desde cero, y nuestro equipo está trabajando para mejorar ese enfoque.
A partir de la encuesta, nos enteramos de que el 56% de los encuestados están interesados en esta función, y el 36% de ellos ya han intentado implementar agregar a apps a sus aplicaciones existentes, mientras que el 40% no sabía que eso era posible con Flutter. En la página de wiki, se incluyen instrucciones experimentales de agregar a apps. Aunque muchos usuarios querían probar esa función en lugar de crear una app completa para Flutter, el 64% de los usuarios interesados dijeron que intentarían hacer la transición a una aplicación completa para Flutter en un año, en lugar de tener una app híbrida.
La encuesta también ayudó al equipo a identificar planes futuros, como qué patrón de IU se debe priorizar (es decir, pantalla completa frente a pantalla parcial), qué herramientas se deben mejorar primero y muchas otras cosas. También fue una novedad para nosotros que la falta de cobertura en middleware (como la interoperabilidad plataforma ⇄ Flutter) fue el mayor reto para aquellos que ya probaron agregar a apps, incluso más que la falta de capacidad/API o documentación. El equipo está trabajando para lograr una mejor experiencia. Puedes ver su progreso en la página de GitHub del proyecto de agregar a apps (2019).

Complementos

El ecosistema es otra parte crucial de Flutter, ya que permite a los desarrolladores ampliar las capacidades con paquetes y complementos cuando el marco de trabajo principal no admite una función en particular. En la encuesta del segundo trimestre, incluimos una serie de preguntas relacionadas con el ecosistema para entender sus puntos débiles. En el tercer trimestre, agregamos dos preguntas abiertas para entender mejor qué complementos (o falta de ellos) impiden el desarrollo y la publicación de tus apps.
El 16% de todos los encuestados respondieron estas preguntas, e identificamos más de 70 temas comunes. A continuación, se enumeran algunos de los que se mencionan con más frecuencia. La principal ventaja para nosotros es que los complementos indicados ya existen en pub.dev. Esto nos dice que elevar la calidad de los complementos existentes debería ser uno de los objetivos más importantes en los próximos trimestres.
  1. Ubicación (p. ej., Google Maps)
  2. Contenido multimedia (p. ej., reproductor de audio o video, o grabación de audio o video)
  3. Webview
  4. Anuncios (p. ej., AdMob o anuncios nativos)
  5. Pagos
  6. Administración de datos
  7. Compatibilidad de imágenes (p. ej., Lottie o SVG)
  8. Cámara
  9. Notificaciones
  10. Servicios en segundo plano
Nos centraremos en mejorar tu experiencia en el ecosistema de Flutter y también te facilitaremos la búsqueda de complementos de calidad. Como punto de partida, Dart ha lanzado recientemente (¡en su octavo cumpleaños!) la función editores verificados para pub.dev a fin de facilitar a los usuarios la identificación de editores de confianza. Esta fue una de las mejoras planificadas que se mencionan en el resumen de la encuesta anterior Estate atento para ver si hay más mejoras.


La primera página de dart.dev incluye algunos paquetes de Flutter verificados

Experiencias frustrantes

También hicimos otra pregunta abierta sobre las molestias recurrentes. Si bien los problemas de GitHub están abiertos a cualquier persona que quiera publicar, comentar o sumarse, en esta encuesta quisimos obtener datos de fricciones que los usuarios podrían no haber informado en GitHub.
Recopilamos más de 1,600 comentarios de esta única pregunta, y varios miembros del equipo dedicaron muchas horas a leerlos y clasificarlos en categorías. Nos pusimos al tanto de algunas fallas menores pero frecuentes que potencialmente pueden llevar a molestias y frustraciones, como problemas relacionados con la recarga en caliente y la depuración, inconvenientes con las actualizaciones y la migración, y muchos otros aspectos. Los subequipos de Flutter se enteraron acerca de temas relevantes para su trabajo, y esto condujo a muchos debates productivos. Por ejemplo, estamos trabajando en mejorar la generación de informes para entender los problemas de recarga en caliente. Si tienes molestias recurrentes, no dudes en publicarlas. Estamos haciendo un seguimiento de aquellas que tengan la etiqueta "a: annoyance".


Sigue el progreso en GitHub

Te agradecemos nuevamente por participar en la encuesta. Sigue proporcionando información valiosa al equipo de Flutter y ayúdanos a planificar para los próximos trimestres. El equipo de investigación de UX de Flutter también realiza una variedad de estudios de experiencia del usuario para que podamos descubrir cómo mejorar tu experiencia con Flutter. Si te interesa participar, regístrate para próximos estudios.



El mes pasado, presentamos el próximo Android Developer Challenge y te pedimos que envíes tus ideas centradas en la innovación útil y con tecnología de aprendizaje automático en los dispositivos. ¿Pero qué significa "innovación útil"? ¡Nos alegra que lo preguntes! Para ayudarte a encontrar inspiración, reunimos algunas de las ofertas de aprendizaje automático en dispositivos de Google y ejemplos recientes de esta tecnología llevada a la práctica. No olvides ...


El mes pasado, presentamos el próximo Android Developer Challenge y te pedimos que envíes tus ideas centradas en la innovación útil y con tecnología de aprendizaje automático en los dispositivos. ¿Pero qué significa "innovación útil"? ¡Nos alegra que lo preguntes! Para ayudarte a encontrar inspiración, reunimos algunas de las ofertas de aprendizaje automático en dispositivos de Google y ejemplos recientes de esta tecnología llevada a la práctica. No olvides enviar tu idea antes del 2 de diciembre.
 


Cómo afrontar el problema del cogollero del maíz con aprendizaje automático

Te presentamos a Nazirini Siraji. Cuando ella y su equipo de desarrolladores notaron que había una peste que amenazaba los cultivos y la supervivencia de granjeros en Uganda, aprendieron a usar TensorFlow para combatirla. Recopilaron datos de entrenamiento de campos cercanos en forma de imágenes. Con TensorFlow, reentrenaron MobileNet (una técnica conocida como aprendizaje por transferencia) y usaron TensorFlow Converter para generar un archivo FlatBuffer de TensorFlow Lite que implementaron en una aplicación de Android. Un granjero puede usar esa aplicación para tomar una foto de su cultivo y el marco de la imagen se utiliza para detectar si hay daños provocados por el cogollero del maíz. En función de los resultados, se sugiere una posible solución. ¡Suena genial!

 


Cómo ayudar a los médicos a detectar enfermedades respiratorias con el aprendizaje automático

Tambua Health convierte cualquier smartphone en una eficiente herramienta de análisis no invasiva que ayuda a los médicos a determinar la probabilidad de que se manifieste una enfermedad respiratoria. El equipo desarrolló una aplicación con TensorFlow Lite que los médicos pueden usar para analizar los pulmones en busca de sonidos anormales, como sibilancias, estertores, estridores y otros sonidos inesperados.

 


Adidas usa el aprendizaje automático para facilitar la experiencia de compra

Hasta las marcas aprovechan los beneficios del aprendizaje automático. Como adidas, que presentó hace poco una nueva experiencia llamada "Bring It to Me" en su tienda de Londres. Los compradores pueden usar la búsqueda visual para escanear productos en sus teléfonos mientras están en la tienda, y la aplicación les permite verificar si están disponibles y pedirlos en su talla sin hacer fila. ML Kit es la tecnología que ayuda a crear esta experiencia detrás de escena. Otro ejemplo de cómo el aprendizaje automático ayuda a los usuarios a lograr sus objetivos más rápidamente.

Ventajas del aprendizaje automático en dispositivos

El uso del aprendizaje automático en el dispositivo de un usuario conlleva una serie de ventajas. En primer lugar, se reduce el volumen de datos que envías al servidor y esto permite proteger más la privacidad de los usuarios. Además, como la información está en los dispositivos, también puede funcionar sin conexión y es ideal para áreas sin cobertura, como aquellas en medio de la selva, en el desierto o en el metro de Londres. Por último, el aspecto más interesante de ejecutar el modelo en dispositivos es el nivel bajo de latencia, que permite crear todo tipo de experiencias nuevas para los usuarios. El aprendizaje automático no sirve solamente para automatizar tareas, sino que puede ser de gran ayuda para tus usuarios y convertirlos en superhéroes.
En Google, ofrecemos distintas tecnologías que te permiten sacar provecho del aprendizaje automático:
  • ML Kit ofrece un SDK preconfigurado que te ayuda a ejecutar tareas con modelos de aprendizaje automático de Google muy eficientes.
  • TensorFlow Lite Framework te permite optimizar un modelo personalizado para ejecutarlo en Android.
  • También existe la infraestructura de Firebase y Google Cloud, que puede ayudarte a entrenar modelos en dispositivos con AutoML Vision Edge para tipos específicos de modelos, o bien ofrecerte la potencia de procesamiento que necesitas para entrenar tu propio modelo.
Si tienes una idea interesante que pueda ayudar a los usuarios a lograr sus objetivos, ¡cuéntanos de qué se trata! Elegiremos diez conceptos y les brindaremos a esos desarrolladores conocimiento experto y orientación para ayudarlos a hacer realidad sus proyectos. Además, cuando la aplicación esté lista, la difundiremos entre miles de millones de usuarios de Google Play mediante una colección y mucho más. Puedes conocer todos los premios aquí.
Todavía tienes tiempo para enviar tu idea antes del 2 de diciembre. Estamos ansiosos por conocer tus proyectos y trabajar contigo a fin de que cada vez más usuarios tengan acceso a innovación útil con tecnología de aprendizaje automático en los dispositivos.

“Pude hacer mi primera contribución ayer, y hoy se fusionó. Estoy muy entusiasmado con mis primeros pasos en código abierto", dijo un participante sobre la Primera Cumbre para Contribuyentes de Código Abierto, que tuvo lugar el pasado mes de septiembre en Guadalajara, México. ¿Cómo involucrar a otros en código abierto?, ¿Cómo podemos hacer este espacio más inclusivo para grupos con baja representación en este campo?


Con estas preguntas en mente y el llamado a contribuir al software que está impulsando los productos favoritos del mundo, Google se asoció con la revista Software Guru, Wizeline Academy, OSOM (un consorcio iniciado por la Googler Griselda Cuevas para involucrar a más desarrolladores mexicanos en código abierto), IBM , Intel, Salesforce e Indeed para organizar la Primera Cumbre de Contribuyentes de Código Abierto en México. La Apache Software Foundation y el CNCF fueron algunas de las organizaciones que patrocinaron la conferencia. 

El evento consistió en dos días de entrenamiento y presentaciones de una selección de proyectos de código abierto, incluidos Apache Beam, Gnome, Node JS, Istio, Kubernetes, Firefox, Drupal y otros. A través de 19 talleres, los participantes pudieron aprender sobre el estado del código abierto en América Latina, y recibieron entrenamiento práctico y asesoría personalizada; para convertirse en contribuyentes activos en software de código abierto u OSS, por sus siglas en inglés. Si bien no son remuneradas, estas colaboraciones son la forma más popular de aprender a programar y crear un portafolio para jóvenes profesionales o personas que buscan hacer un cambio de carrera hacia tecnología.


Según lo informado por muchos grupos que promueven el OSS en los últimos años, la diversidad sigue siendo una gran deuda en la industria tecnológica. En promedio, sólo el 8.4% de los empleados en diez de las principales compañías tecnológicas son Latinx. La brecha es aún mayor en el software de código abierto, donde sólo el 2.6% de los encargados de proyectos de Apache son latinx. La diversidad en la tecnología además de ser lo correcto, también es un buen negocio: lograr una participación más diversa en el desarrollo de software dará como resultado productos más inclusivos y exitosos, que atiendan un conjunto más completo de casos de uso y necesidades en una población determinada.


Si bien los números de representación en la creación de software lucen sombríos, el uso de OSS está creciendo rápidamente; se estima que las tecnologías OSS de nube y big data crecerán 5 veces para 2025 en América Latina. ¿La principal barrera para contribuir? El Idioma.



Video:1er Cumbre de Contribuidores de Open Source Software (CCOSS)