Chrome está colaborando con marcos de código abiertoEl Código Abierto u Open Source se refiere al código fuente del software que es abiertamente alcanzable y que puede ser cambiado y distribuido por cualquier persona. La propuesta de código abierto estipula diez requerimientos para las licencias de software de código abierto. El principio El código fuente de un software se hace público: cualquiera puede leerlo, desarrollar el propio software y copiarlo. El software puede ser utilizado o distribuido más para trabajar hacia una web mejor
Chrome es un colaborador activo del ecosistema de frameworkEl framework se refiere a una estructura básica subyacente en la ingeniería de software, que sirve al programador como estructura de desarrollo para su programación de apps. Los frameworks se usan principalmente en el desarrollo de software orientado a objetos y en enfoques de desarrollo basados en componentes. Características Un framework incluye los bloques de construcción básicos de un programa y por ende determina el diseño de la estructura básica más web y nuestra charla en Chrome Dev Summit 2019 cubre lo que hemos trabajado durante el año pasado.
Siga leyendo para obtener un resumen extendido de la charla con detalles y recursos adicionales.
¿Cómo mejoramos la web?
El objetivo¿Qué es un objetivo?En marketing, un objetivo es el resultado que se pretende alcanzar en un periodo de tiempo, a través el uso de los recursos disponibles. Por tanto, se debe formular de una forma clara y hace falta que sea accesible y medible. más de todos los miembros del equipo de Chrome es mejorar la Web. Trabajamos para mejorar las APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene más del navegadorUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los más y V8, el motor principal de JavaScriptJavaScript es un lenguaje de programación que funciona en el lado del cliente y con el que las webs pueden ser más funcionales. Incorporación en código HTML El código JavaScript puede ser incrustado en las páginas HTML, para que adquieran funcionalidad. Existen varias opciones. Puede estar entre las etiquetas <SCRIPT> y </SCRIPT>, puede estar contenido en un archivo externo, puede ser un parámetro de las etiquetas HTML, y puede estar más y WebAssembly que impulsa a Chrome, para que los desarrolladores estén equipados con funciones que les ayuden a crear excelentes páginas web. También intentamos mejorar los sitios web que ya están en producción hoy en día contribuyendo a las herramientas de código abierto de muchas formas.
La mayoría de los desarrolladores web
confían en herramientas de código abierto siempre que sea posible y prefieren no construir una infraestructura completamente personalizada. Los frameworks de JavaScript del lado del cliente y las bibliotecas de UI constituyen una porción creciente del uso de código abierto. Datos sobre los tres marcos y bibliotecas del lado del cliente más populares,
Reaccionar, Angulary Vue, muestra que:
- 72% de los participantes en el
Primera encuesta anual para desarrolladores y diseñadores web de MDN
utilice al menos uno de estos marcos y bibliotecas. - Encima
320.000 sitios en los 5 millones de URLEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo más principales analizados por HTTPEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado más Archive utilizan al menos uno de estos marcos y bibliotecas. - Cuando se agrupan por tiempo empleado, 30 de las 100 principales URL utilizan al menos uno de estos marcos y bibliotecas. (La investigación se realizó con datos internos).
Esto significa que mejores herramientas de código abierto pueden resultar directamente en una mejor web y es por eso que los ingenieros de Chrome han comenzado a trabajar directamente con autores externos de marcos y bibliotecas.
Contribuciones a los marcos web
Los marcos que se utilizan comúnmente para construir y estructurar páginas web se dividen en dos categorías:
- Marcos de interfaz de usuario Una interfaz de usuario es un medio por medio de del cual una persona puede controlar un software o hardware específico. Lo ideal es que las interfaces de usuario sean fáciles de utilizar para que la interacción sea lo más instintiva e intuitiva factible. En el caso de los programas informáticos, esto se denomina interfaz gráfica de usuario. Desarrollo y tipos de interfaces de usuario A diferencia de la más (o bibliotecas), como Preact, React o Vue, que proporcionan control sobre la capa de visualización de una aplicación (a través de un modelo de componente, por ejemplo).
- Frameworks web, como Next.js, Nuxt.js y Gatsby, que proporcionan un sistema de un extremo a otro con características de opinión integradas, como la representación del lado del servidorLos servidores son ordenadores centrales y potentes dentro del campo de la tecnología de la información que procesan y proporcionan software y archivos en una red. Desde el punto de vista de un cliente, varios ordenadores en una red pueden ponerse en contacto con el servidor central para conseguir la información solicitada. En la arquitectura cliente-servidor, el servidor puede ser un software que proporciona un servicio y se ejecuta en más. Estos marcos suelen aprovechar un marco de interfaz de usuario o una biblioteca para la capa de vista.

Los desarrolladores pueden optar por no usar marcos, pero al juntar una biblioteca de capas de vista, enrutador, sistema de estilo, renderizador de servidor, etc., a menudo terminan creando su propio tipo de marco. Aunque obstinados, los marcos web se encargan de muchas de estas preocupaciones de forma predeterminada.
El resto de esta publicación destaca muchas mejoras que han aterrizado recientemente en diferentes marcos y herramientas, incluidas las contribuciones del equipo de Chrome.
Angular
El equipo de Angular ha enviado una serie de mejoras a la versión 8 del marco:

Reducción del tamaño del paquete para angular.io con compilaciones diferenciales (desde Versión 8 de Angular)
- Soporte para sintaxis de importación dinámica estándar para rutas de carga diferida.
- Soporte para trabajadores web para ejecutar operaciones en un hilo de fondo separado del hilo principal.
- Hiedra, El nuevo motor de renderizado de Angular que proporciona un mejor rendimiento de recompilación y una reducción en el tamaño de los paquetes, está disponible en modo de vista previa para proyectos existentes.
Puede obtener más información sobre estas mejoras en
«Versión 8 de Angular»
y el equipo de Chrome espera trabajar de cerca con ellos el próximo año a medida que aparezcan más funciones.
Next.js
Next.js es un framework web que usa React como capa de vista. Además de un modelo de componente de interfaz de usuario que muchos desarrolladores esperan de un marco del lado del cliente, Next.js proporciona una serie de funciones predeterminadas integradas:
- Enrutamiento con división de código predeterminada
- Compilación y agrupación (usando Babel y
paquete web) - Representación del lado del servidor
- Mecanismos para obtener datos a nivel de página
- Estilo encapsulado (con styled-jsx)
Next.js se optimiza para tamaños de paquete reducidos y el equipo de Chrome ayudó a identificar áreas en las que podríamos ayudar a mejorar aún más el rendimiento. Puede obtener más información sobre cada uno de ellos al ver sus solicitudes de comentarios (RFC) y solicitudes de extracción (PR):
- Una estrategia mejorada de fragmentación de paquetes web que emite paquetes más granulares, lo que reduce la cantidad de código duplicado obtenido a través de múltiples rutas (RFC,
PR). - Carga diferencial con el patrón módulo / nomodule que puede reducir la cantidad total de JavaScript en las aplicaciones Next.js hasta en un 20% sin cambios de código (RFC,
PR). - Seguimiento de métricas de rendimiento mejorado que utiliza la API de sincronización del usuario (PR).

También estamos explorando otras características para mejorar la experiencia del usuario y del desarrollador al usar Next.js, como:
- Habilitación del modo concurrente para desbloquear la hidratación progresiva o parcial de los componentes.
- Un sistema de conformidad basado en paquetes web que analiza todos los archivos de origen y activos generados para mostrar mejores errores y advertencias (RFC).

Un ejemplo de un error de compilación de conformidad en Next.js (prototipo)
Nuxt.js
Nuxt.js es un framework que combina Vue.js con diferentes bibliotecas para proporcionar una configuración obstinada. Al igual que Next.js, incluye muchas funciones listas para usar:
- Enrutamiento con división de código predeterminada
- Compilación y agrupación (usando Babel y
paquete web) - Representación del lado del servidor
- Obtención de datos asincrónicos para cada página
- Almacén de datos predeterminado (Vuex)
Además de trabajar directamente para mejorar el rendimiento de diferentes herramientas, hemos ampliado la
fondo marco para proporcionar apoyo monetario a más bibliotecas y marcos de código abierto. Con nuestro apoyo reciente para Nuxt.js, algunas características están programadas para aterrizar en un futuro cercano, incluida una representación de servidor más inteligente y optimizaciones de imágenes.
El fondo marco acelera los esfuerzos de diferentes marcos y bibliotecas con el objetivo de mejorar su desempeño. Si está trabajando en una herramienta de código abierto y necesita asistencia, por favor aplica!
Babel
También hemos avanzado en la mejora del rendimiento de una importante herramienta subyacente en casi todos los marcos mencionados:Babel.
Babel compila código que contiene una sintaxis más nueva en un código que los diferentes navegadoresConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet más pueden entender. Se ha vuelto común de usar @ babel / preset-env para apuntar a navegadores modernos donde se pueden especificar diferentes objetivos de navegador para proporcionar suficiente polyfilling requerido para todos los entornos elegidos. Una forma de especificar los objetivos es utilizar <script type="module"> para apuntar a todos los navegadores que Soporta módulos ES.
Para optimizar para este caso, lanzamos un nuevo ajuste preestablecido;
@ babel / módulos-preestablecidos. En lugar de convertir la sintaxis moderna a una sintaxis anterior para evitar errores del navegador, preset-modules corrige cada error específico transformándolo a la sintaxis moderna no rota más cercana posible. Esto da como resultado un código moderno que se puede entregar casi sin modificar para la mayoría de los navegadores.

Desarrolladores que ya usan preset-env también se beneficiarán de estas optimizaciones sin tener que hacer nada, ya que pronto se incorporarán preset-env también.
¿Que sigue?
Trabajar en estrecha colaboración con bibliotecas y marcos de código abierto para proporcionar mejores experiencias ayuda al equipo de Chrome a darse cuenta de lo que es fundamentalmente importante para los usuarios y desarrolladores por igual.
Si trabaja en un framework, biblioteca de interfaz de usuario o cualquier forma de herramientas web (agrupador, compiladorUn compilador es un programa que traduce código fuente escrito en un lenguaje de alto nivel como Java, a un lenguaje legible por la máquina llamado código objeto, lenguaje de destino o inclusive lenguaje ensamblador. De este modo, un compilador podría llamarse traductor, pero sus tareas son más amplias porque, como parte de la compilación del programa, además informa de errores al leer el código. Cómo funciona Un compilador siempre más, linter),
solicitar el fondo marco!




