Frontend Live 2020: Nuevo formato - Nuevas oportunidades

Este año en Frontend Live volvemos a discutir los temas más relevantes en desarrollo: habrá 4 pistas sobre arquitectura, rendimiento, pruebas y diseño. Pero también discutiremos temas relacionados, a medida que la interfaz continúa desarrollándose y expandiéndose, aparecen soluciones interesantes para problemas antiguos (y nuevos) y, por supuesto, nuevos elementos para estudiar.



Como siempre, además de los informes, también habrá intensivos, clases magistrales y talleres y, por supuesto, discusiones abiertas (cualquiera puede hacer esto: sugiera un tema de discusión e invite a los participantes).







Para ampliar su horizonte, nuevamente elegimos solo informes creativos y prácticos sobre proyectos de la vida real. Habrá informes sobre nuevas ideas y demostraciones sobre cómo funciona y funciona todo. En las clases magistrales, te contaremos cómo los equipos resuelven dificultades repentinas, qué nuevos conocimientos inventaron y qué obtuvieron como resultado. También hablaremos de belleza.



Y hermosa y segura



En la pista de preguntas comunes, los oradores no tienen miedo de profundizar en la tecnología y obtener resultados interesantes. Le dirán cómo evitar la penetración desde el exterior a nivel de código, así como cómo trabajar en el tiempo de ejecución de escritura estática TypeScript. Los altavoces agregarán un poco de hardcore, y del hermoso desarrollo habrá muchas cosas interesantes sobre el sonido, la danza y los íconos.



Alexander Inkin (Tinkoff.ru), un apasionado desarrollador angular, experto en desarrolladores de Google, compositor y fanático del cine, mostrará su aplicación para reproducir sintetizadores en un navegador. En sus increíbles demostraciones, Alexander explicará cómo se puede utilizar la imperativa API de Web Audio en un estilo declarativo. También hablará sobre lo que ayudará a reutilizar fácilmente los bloques creados, y en general es cómodo usar la API en los entornos de componentes web o frameworks con enfoque de componentes.



Vasilika Klimova (Avaloq) , una evangelista 3D de Luxemburgo con 11 años de experiencia en desarrollo web, le encantaba usar la tecnología 3D en el front-end incluso antes de que se generalizara. Fue líder del equipo de frontend en Artec3D, donde me familiaricé con el mundo 3D de WebGL.



Vasilika te mostrará cómo le enseñó a bailar a su modelo 3D, y aprenderás qué es el aparejo, los modelos desollados y por qué los modelos óseos 3D.



En nuestra industria, la gente rara vez piensa en artículos domésticos tan pequeños como iconos svg. Nikita Mostovoy (HeadHunter) , el desarrollador de frontend líder en el equipo de arquitectura, nos sumergirá en su maravilloso mundo y nos dirá en una charla sobre cómo optimizar la adición de iconos al sitio a través de un componente en línea. Nikita también le mostrará cómo resolver el problema de los iconos que no se almacenan en caché durante SSR, cómo cambiar los iconos y optimizar el proceso de carga.



Si desea abrir código y ahorrar un par de semanas en entrenamiento, entonces Roman Sedov de Tinkoff.ru, desarrollador angular y autor de un libro interactivo sobre angular avanzado), le dirá lo que necesita poder hacer y saber. Roman apoya y desarrolla proyectos de código abierto en el mundo Angular y sabe en la práctica lo divertido que es crear bibliotecas NPM. Y también cómo escribir documentación, cómo se ve un paquete sin código innecesario, cómo no dar la impresión de materias primas en lugar de fuentes, cómo configurar la verificación del código y cómo cargarlo.



Después de cargar el código, debe estar preparado para que los piratas informáticos también lo entiendan. Tatiana Novikova (TSARKA) , una pentester experimentada y auditora de código fuente desde el punto de vista de la seguridad, mostrará qué vectores de ataque existen y cómo los piratas informáticos explotan las vulnerabilidades del frontend. También explicará por qué los frameworks web no protegen al desarrollador de errores de seguridad y cómo tratar con todos ellos.



Tatiana hará un recorrido por el mundo de las vulnerabilidades de front-end, comenzando con XSS y terminando con los tipos de ataques no más populares, para que pueda decir con seguridad que tiene un mínimo de higiene.



Y por supuesto, donde sin hardcore. La tecnología front-end está en constante evolución y no siempre nos mantenemos al día con este desarrollo. Alexander Rudenko (X5Labs) , ingeniero de software senior / Community Lead en Facebook Developer Circle: Moscú, lo continuará desde la última conferencia. El año pasado, Alexander nos presentó a Relay Modern , y este año le dirá cómo trabajar con Network & Data Layers en él.



Alexander le recordará los principios básicos de Relay Modern y luego se sumergirá en la capa de datos y la capa de red para hablar sobre una conexión competente al lado del servidor.



Mike Bashurov (WiseBits) , orador residente, samurai de TypeScript y fan de ReasonML, explicará cómo arrastrar la escritura estática al tiempo de ejecución en TS. ¿Para qué? Por ejemplo, para validar JSON, otros datos o para pruebas basadas en propiedades. No es fácil, pero si realmente lo desea, ¡puede hacerlo!



Mike le mostrará qué es la emisión dirigida por tipos, cómo usarla, compararla con otras soluciones y profundizar en las especificaciones de la API del transpilador (y veremos cuál es el rastro de este enfoque. Observe cómo los tipos pasan al tiempo de ejecución y valida los datos ...



Hermoso no solo por fuera, sino también por dentro



Los desarrolladores también quieren trabajar en un código atractivo y conveniente. Por supuesto, es difícil evaluar si la arquitectura es buena o no: en un proyecto tendrá éxito y en otro "algo saldrá mal". Sin embargo, una arquitectura clara siempre ayuda al trabajo en un proyecto: extender o cambiar el código se lleva a cabo sin grandes dificultades para comprenderlo y probarlo. Incluso si tienes el código de otra persona en tus manos. Los informes de la pista "Arquitectura" tratan sobre cómo hacer la vida más fácil para un desarrollador.



Denis Krasnovsky (DomClik) , gerente de desarrollo técnico, lo complacerá nuevamente con un informe sobre la optimización del código. Esta vez, Denis hablará sobre la metodología de refactorización perfeccionada en muchos proyectos. Con su ayuda, puedes dar nueva vida al código más incomprensible.



Con el nuevo algoritmo, será más fácil tomar una decisión para lidiar con problemas cuando ya haya llegado a un proyecto con legado.



Ivan Soloviev (Evrone) , no solo un desarrollador de JS frontend, sino también un practicante de Go and Rust, le gusta compararlos entre sí y con JavaScript. Ivan hablará sobre cómo la elección entre monolito y microservicios, así como mono-repositorio y polyrep, afecta la lucha contra la complejidad en grandes proyectos.



Ivan también compartirá cómo la arquitectura elegida ayudará a prevenir enfermedades de una gran interfaz como el ciclo de lanzamiento, el crecimiento de proveedores, la obsolescencia del código, la evaluación de dependencias, la duplicación de código y el código compartido.



Ali Rahimov (Okko), desarrollador frontend desde 2013, hablará sobre los beneficios de TypeScript en la arquitectura de desarrollo web y por qué los desarrolladores eligen cada vez más TypeScript para sus proyectos. Y también sobre los pros y los contras de usar el lenguaje y lo fácil que es iniciar su primer sitio web en TypeScript.



Un bloque separado estará dedicado a la mecanografía, la piedra angular del lenguaje con el que incluso los desarrolladores experimentados tropiezan.



Andrey Marchenko (Tinkoff.ru) , techlead, plataforma de desarrollo para desarrolladores, contará la historia de su proyecto. Descubra cómo ha cambiado y evolucionado la arquitectura front-end en Tinkoff. Cómo en 2015 5 desarrolladores crearon el sitio tinkoff.ru en React 0.13 y cómo vive el proyecto ahora.



Ahora ya hay 60 desarrolladores, y el monolito consta de 40 aplicaciones separadas, microfrontas, monoreps y productos técnicos.



Vladimir Grinenko (Yandex) , Jefe del Servicio de Componentes Compartidos en el Departamento de Desarrollo de la Interfaz de Búsqueda, le mostrará cómo encontrar el equilibrio perfecto para no llevar a todos a un único sistema de diseño y al mismo tiempo mantener la autoidentificación visual. Dado que Yandex fabrica productos muy diferentes (búsqueda, taxi, música, comida, educación y cine), la consistencia (consistencia) de las interfaces en Yandex es un fenómeno contradictorio tanto desde el punto de vista visual como tecnológico.



Vladimir mostrará la fórmula de los beneficios del código común: dónde funcionará y dónde es mejor escribir su propia bicicleta, y le dirá cómo reutilizar el código sin tecno-fascismo y detener experimentos.



Agradable y con resultado



Nadie quiere perder el tiempo probando con resultados incomprensibles o atravesando condiciones de prueba difíciles, incluso si los resultados son buenos. Para que el resultado cumpla con sus expectativas, nuestros oradores le dirán cómo hacer que las pruebas sean comprensibles incluso para los evaluadores y gerentes, cómo se ven las pruebas desde la perspectiva de un ex QA que cambió al desarrollo. Y en "Pruebas", además de los informes, habrá pruebas en sí mismas, en particular, nodejs-web-services y UI.



Alexander Iossa (Diginavis) , gerente de producto, presentador del canal sobre los dolores y las alegrías de los ingenieros de software, hablará sobre las pruebas BDD de aplicaciones web y cómo ayuda a escribir pruebas E2E de forma más barata y rápida. Muestra cómo la sintaxis de Gherkin junto con Cypress hace que las pruebas sean comprensibles no solo para los desarrolladores, sino también para los evaluadores y administradores.



Alexander enseñará cómo escribir pruebas, así como quién y cuándo debe y puede escribirlas. Podrá definir el lugar de las pruebas de aceptación en la canalización ci / cd, reutilizar bloques escritos previamente y luego es fácil mantener y expandir el proceso de prueba.



Alexander también sabe qué pescar en Innopolis, donde vive desde hace más de 4 años. No pierda la oportunidad de preguntarle al respecto)



Nikolay Moskalenko (Raiffeisenbank) , probador con 10 años de experiencia, desarrollador de frontend en React y animador, hará preguntas incómodas sobre la calidad de las pruebas. Veremos la situación con pruebas a través de los ojos de un ex QA que pasó al desarrollo. Y descubramos cómo probar rápidamente el código (¡hay más defectos de los que parece!).



Nikolay también le dirá qué pruebas es mejor elegir para ahorrar tiempo. Comprenderá qué técnicas y herramientas eliminan las dependencias externas al probar aplicaciones frontend. ¡Pero eso no es todo! Nikolay le dirá cómo acelerar la escritura de autotests en JavaScript y aumentar su legibilidad usando la notación Gherking, la biblioteca jest-cucumber.

Para el postre, existe el patrón PageObject para las pruebas de un extremo a otro en Puppeteer, que simplifica la compatibilidad con las pruebas automáticas de la interfaz de usuario.



Y finalmente, Maxim Sosnov (SKB Kontur) impartirá hasta 2 clases magistrales de prueba, un desarrollador líder, un motor de una cultura de excelencia técnica que se esfuerza por ser ágil y cumplir con la filosofía DevOps. Maxim le dirá qué son los patrones y antipatrones, cómo hacer pruebas útiles y cómo vender pruebas a un equipo para que los desarrolladores no den la espalda.



Clase magistral 1. Prueba de los servicios web de nodejs



En la primera clase magistral, Maxim mostrará cómo probar correctamente un servicio de nodejs. Cómo obtener pruebas funcionales confiables usando mocha, chai, nock, supertest, usando las mejores prácticas de prueba y el sentido común. Veamos cómo estas pruebas ayudan en la refactorización.



Clase magistral 2. Pruebas de interfaz de usuario



Junto con Maxim, adaptaremos las mejores prácticas de prueba para diseñar y descubrir qué combinación de prueba es ideal para las pruebas de IU. Cubrirá prácticas tales como pruebas de captura de pantalla y pruebas funcionales y cómo incorporarlas fácilmente en su proceso de desarrollo. Herramientas usadas:



  • libro de cuentos
  • loki.js
  • biblioteca de pruebas
  • broma


Agradable y rapido



¿Qué le sucede al usuario cuando abre la aplicación? ¿Espera 2 minutos después de cada clic o se sumerge felizmente en el trabajo?



Hoy en día, el rendimiento ya no se mejora de forma retroactiva, sino mediante el desarrollo. Los desarrolladores comprueban inmediatamente cómo las decisiones arquitectónicas afectan la velocidad de carga, renderizado, interactividad, etc. Esto requiere un seguimiento constante. La prueba y la medición requieren métricas que dependen de una gran cantidad de parámetros. Por ejemplo, ¿en qué dispositivo, en qué navegador, en qué red y con qué firewall abrió el usuario la aplicación? Sin mencionar los servidores de prueba, cachés, proxies y otros detalles. E incluso después de todos estos esfuerzos, la aceleración sigue siendo un problema y un dolor de cabeza para los desarrolladores.



A pesar de todas estas dificultades,Nikolay Ryabov (Avito) , se ocupa de todo lo relacionado con el rendimiento de la interfaz dentro de Avito: recopilación de métricas, creación de perfiles, optimización. Nikolay está convencido de que la tarea de una empresa es crear funciones de manera eficiente.



En la conferencia, Nikolai propondrá combinar las capacidades de Lighthouse, webpack-bundle-analyzer y Chrome DevTools Performance en una sola herramienta. Descubra por qué esta variedad de herramientas por sí sola no le ayudará a controlar el rendimiento de forma continua.



Victor Rusakovich (Soluciones GP), un desarrollador de frontend que ha visto muchos marcos y bibliotecas, trabajando con jQuery, Backbone, Knockout, Angular, Elm, Clojure y RxJS y finalmente React. Victor hablará en detalle sobre métricas y herramientas para recopilar estadísticas sobre el rendimiento de los sitios de los clientes, qué conclusiones se pueden extraer, cómo las estadísticas no solo recopilan datos, sino que también mejoran la velocidad de los sitios.



Los oyentes del informe recibirán respuestas a las preguntas:



  • ¿Qué y cómo recolectamos?
  • ¿Cómo y por qué analizamos?
  • ¿Por qué recopilar estadísticas de los usuarios?
  • ¿Cómo sabe qué tan rápido se carga y funciona su sitio?
  • ¿Por qué molestarse con la velocidad del sitio web?


Vitaly Sysolyatin (Delivery Club) , desarrollador de techlead, JavaScript y frontend, te dirá cómo hacer SSR lo más rápido posible y qué problemas tendrás que resolver. Un ejemplo es el nuevo sitio delivery-club.ru, que se lanzó como una aplicación de una sola página con la implementación de la representación del lado del servidor.



Vitaly le dirá qué tipo de rake atravesaron y cuál será un problema para un desarrollador frontend en javascript en un entorno de servidor. Junto con Vitaly, aprenderemos cómo evitar las debilidades de JavaScript para mejorar la eficiencia de las aplicaciones. ¡Las historias de la vida real también estarán allí!



Alexander Baltsevich (Synesis), un bloguero líder y con cabeza científica que practica experimentos educativos. En Frontend Live, Alexander explicará cómo React ofrece 60 fps incluso con un gran flujo de actualizaciones por segundo. Veamos cómo React logra una velocidad de comparación de O (n) con los algoritmos más avanzados con comparaciones de árboles del orden de O (n ^ 3).



Y, por supuesto, veremos ejemplos de combate de cómo puedes dispararte en el pie con tanta aceleración.



Bellamente cuadrado



El cerebro del desarrollador y del usuario opera en diferentes ondas. El primero encontrará la función brillante, mientras que el segundo simplemente se confundirá al intentar cambiar la cantidad de artículos en la canasta. Y lo que quiere el usuario parece insoportablemente simple para un genio. Sin embargo, los desarrolladores también usan aplicaciones y sufren lo mismo cuando el diseño, la interfaz o incluso el color les impide tener en sus manos lo que ordenaron. En la pista de diseño, habrá informes sobre el color y la interfaz para los usuarios.



Glafira Zhur (SpurIT), desarrollador líder de equipos y de accesibilidad, apasionado por las interfaces y su accesibilidad desde una edad temprana. En Frontend Live hablará sobre el impacto psicológico del color, que no depende de la moda, las tendencias y el capricho del cliente. Revelará cómo el color en la interfaz afecta la percepción de la información y cómo los desarrolladores pueden usarlo para controlar el estado de ánimo, la elección y la experiencia del cliente.



También aprenderemos sobre la accesibilidad de las interfaces en términos de soluciones de color.



Anna Selezneva (Spiral Scout) , desarrolladora de frontend creativa, ponente en conferencias y reuniones, coorganizadora de reuniones de MinskCSS y MinskJS y conferencias CSSMinskJS. Anna le recordará que estamos desarrollando interfaces de usuario -. Aprendamos a tener en cuenta la idea de que personas reales lo usarán al implementar una interfaz.



Según Anna, “hace 10 años, nuestro problema eran las esquinas redondeadas entre navegadores, y ahora tenemos que hacer que el sitio sea receptivo, accesible y eficiente”.



Finalmente, Vitaly Fridman (Smashing Magazine) , cofundador de la revista en línea, autor de libros y consultor de frontend / UX de mente abierta, hablará sobre el impacto de la conveniencia del servicio en las conversiones y los indicadores comerciales clave . La charla de Vitaly versará sobre el desarrollo de formularios web para el usuario final, quien a menudo determina la conveniencia de todo el servicio precisamente por ellos.

Los formularios web suelen ser inaccesibles y difíciles de usar, y Vitaliy describirá los puntos débiles típicos que los clientes encuentran con demasiada frecuencia. Finalmente, aprenderemos a crear una interfaz que nos permita recibir información del cliente de manera amigable, ayudando así tanto a las conversiones como a incrementar los indicadores clave de negocio.



Consulte la lista completa de informes en el sitio web de la conferencia . En la versión móvil del sitio, puede agregar los informes que desee a su agenda. No olvide reservar su entrada (los precios subirán el 15 de septiembre).



Frontend Live 2020se llevará a cabo del 23 de septiembre de 2020 al 2 de octubre de 2020 en línea en todo el mundo. Hemos creado un nuevo formato para ello, que es tan efectivo como las reuniones fuera de línea. Puede sentir la energía de la comunidad, recargarla, establecer contactos con colegas de la industria y obtener asesoramiento de expertos. Incluso puedes tener una fiesta posterior en línea con bicicletas hasta la mañana para tu vida y carrera. Todo es como en la vida :) El



horario de cada día ya está elaborado, pero son posibles pequeños cambios. Y escribiremos sobre los chips de eventos de la conferencia en telegram , facebook , twitter y VKontakte .



All Articles