De Babel a GraphQL: HolyJS 2019 Moscow Talks

Si usted es un desarrollador de JS, entonces el navegador es su hogar, pero ¿puede describir paso a paso todas las acciones del navegador para representar su hermosa página? Y probablemente ya haya oído hablar de WebAssembly, pero ¿sabe qué hay "dentro" de esta tecnología?



Los informes ayudarán a profundizar en estos y muchos otros temas de JS. HolyJS 2019 Moscú se celebró en noviembre, y ahora sus videos están abiertos a todos, y tradicionalmente publicamos una selección sobre Habré; en general, hay algo para pasar un fin de semana en autoaislamiento.

"JavaScript Core, muchos compiladores hacen que este motor funcione" - Michael Saboff


Michael habló sobre el dispositivo interno del motor más rápido para JS - JavaScriptCore.




"Representación del cliente, representación del servidor, representación previa. El espectro completo de la entrega de rendimiento de aplicaciones y sitios web de JS ”- Guillermo Rauch


Guillermo es cofundador de ZEIT (ella es Vercel), la compañía que crea Next.js, que, a su vez, es una de las principales soluciones para SSR en React. El informe cubre bien el tema de representación del lado del servidor.




"Figma para reaccionar: entrega de diseño al código" - Zar Zakharov, Alexander Kamenyar


Pero, ¿qué pasa si el diseñador y el desarrollador trabajan juntos para automatizar la entrega de estilos?
Figma es una nueva herramienta de diseño. Figma, a diferencia de Sketch, funciona en la web, el entorno nativo de los sistemas de diseño de componentes. Ella tiene una API. Alexander y Zar mostraron cómo hacer amigos diseñar sistemas de dos mundos.




"Reaccione las estrategias de renderizado: aproveche al máximo el rendimiento, mantenga contentos a los robots" - Miguel Angel Duran García


¿Crees que la representación en React está limitada al lado del cliente y del servidor? Piénselo de nuevo: puede usar diferentes estrategias de representación, cada una de las cuales tiene sus propias ventajas y desventajas. Detalles en el informe.




"Tomaré todos tus datos y ni siquiera lo sabrás. Soy una extensión de navegador ”- Nikita Mostovoy


Nikita mostró los matices que puede esperar al usar estas extensiones y demostró vectores de ataque verdaderamente elegantes.




"Transpila cualquier cosa a todo!" - Anna Herlihy


El problema con la creación de cualquier ORM es que debe hacerse para cada idioma y tecnología. Anna habló sobre cómo hacer una interfaz adecuada para la mayoría de los idiomas y plataformas.




"Montaje web sin cortes" - Andrey Roenko


Si está interesado en saber qué es WebAssembly bajo el capó, vea el informe de Andrey.




"@ Babel / cómo hacerlo" - Nicolò Ribaudo


Nicolo es uno de los principales desarrolladores de Babel. A partir de su informe, aprenderá cómo hacer su propio complemento Babel para admitir nuevas características del lenguaje o resolver sus problemas.




"I18n los principios para una web accesible" - Rómulo Cintra


El problema de la internacionalización es relevante para muchos desarrolladores y, por lo tanto, tiene muchas soluciones. Tiene la oportunidad de conocer qué opciones hay ahora y de qué forma van a resolver este problema utilizando la nueva API en JavaScript.

Hace un mes ya publicamos la traducción del informe de Rómulo sobre Habré .




"Fragmentos de GraphQL en el cliente: historial de apariencia, errores de uso" - Pavel Chertorogov


Cada vez más personas están comenzando a usar GraphQL. Pavel habló sobre las mejores prácticas que se han acumulado en la industria, y por qué y cómo usar fragmentos GraphQL.




"La programación del contrato como un medio, no un fin" - Artyom Harutyunyan


Mucha gente quiere que TypeScript tenga, además del tipeo estático, la verificación de tipos en tiempo de ejecución. Pero el equipo de TypeScript todavía no va a agregar esta
funcionalidad. ¿Qué hacer? Artyom propuso opciones para tipos de tiempo de ejecución y expresó sus deficiencias.




"Del código a los píxeles en un abrir y cerrar" - Prashant Palikhe


¿Puedes describir los pasos del navegador para mostrar el contenido de la página? Si no, Prashant mostró claramente lo que está sucediendo y cómo se puede optimizar.




"JavaScript al servicio de la informática teórica" ​​- Vitaly Bragilevsky


Un informe fundamental de una persona que gira en el entorno académico y conoce las últimas tendencias en teoría de lenguajes de programación e informática teórica. Vitaly habló sobre cómo se construyen los cálculos en cualquier idioma, sobre la máquina de Turing, el cálculo lambda, etc.




"¿Cómo pagamos la transición de div a WebGL y qué obtenemos (ganancias!), En los ejemplos de PixiJS" - Ivan Popelyshev


Después de este informe, podrá comprender los problemas al cambiar de un DOM multifuncional a WebGL para abrir las páginas correctas de documentación o código cuando vea artefactos extraños que no deberían existir.
El informe establece paralelismos entre las soluciones en DOM / CSS / SVG, canvas 2d y WebGL. El enfoque, por supuesto, está en lo último.




"Eficiencia profesional y trayectoria profesional en TI" - Dmitry Voloshin


Para poner una piedra o quemar una estrella. ¿Cuál es tu camino hacia TI? Dmitry Voloshin mostró las formas más efectivas de desarrollo en la profesión.




"(No | bien) recompensar a cualquiera de las mónadas en la práctica y en teoría" - Dmitry Makhnev, Artyom Kobzar


A veces, los conceptos de la programación funcional se pueden aplicar hoy, directamente desde su TypeScriptJjavaScript favorito. Sobre cómo manejar convenientemente errores y excepciones, un informe de Dmitry y Artyom.




"De la especificación a la implementación" - Yulia Startsev


Los informes sobre el motor SpiderMonkey se pueden escuchar muy raramente, y tiene una gran oportunidad de escuchar a la persona que trabaja en el equipo de este motor y es el copresidente de TC39. En el informe, Julia habló sobre el camino de Nullish Coalescing a SpiderMonkey.




"Sintaxis de definición CSS" - Roman Dvornov


Los desarrolladores de JS especialmente radicales a veces afirman que "CSS ya no es necesario, todo estará en JS". Sin embargo, CSS fue, es y es probable que sea. La novela habló sobre los fundamentos fundamentales que todos necesitan.




"Desarrollo de un compilador para TypeScript en TypeScript basado en LLVM" - Dmitry Patsura


Los compiladores son un tema extremadamente interesante y misterioso para muchos desarrolladores de JavaScript. Dmitry habló sobre su experiencia escribiendo un compilador StaticScript para TypeScript en una vista LLVM intermedia.



, . HolyJS 2020 Piter — , . , — . .

All Articles