De Babel à GraphQL: HolyJS 2019 Moscow Talks

Si vous êtes un développeur JS, le navigateur est votre maison, mais pouvez-vous décrire étape par étape toutes les actions du navigateur pour rendre votre belle page? Et vous avez probablement déjà entendu parler de WebAssembly, mais savez-vous ce qui est «à l'intérieur» de cette technologie?



Les rapports aideront à approfondir ces sujets et bien d'autres sujets JS. HolyJS 2019 Moscou s'est tenue en novembre, et maintenant ses vidéos sont ouvertes à tous, et nous publions traditionnellement une sélection sur Habré - en général, il y a quelque chose à prendre un week-end sur l'auto-isolement.

"JavaScript Core, de nombreux compilateurs font fonctionner ce moteur" - Michael Saboff


Michael a parlé du périphérique interne du moteur le plus rapide pour JS - JavaScriptCore.




"Rendu client, rendu serveur, pré-rendu. Le spectre complet du site Web JS et de la performance des applications »- Guillermo Rauch


Guillermo est co-fondatrice de ZEIT (elle est Vercel), la société qui crée Next.js, qui, à son tour, est l'une des principales solutions de SSR sur React. Le rapport couvre bien le rendu côté serveur.




«Figma to React: la conception du design au code» - Zar Zakharov, Alexander Kamenyar


Mais que se passe-t-il si le concepteur et le développeur travaillent ensemble pour automatiser la livraison des styles?
Figma est un nouvel outil de conception. Figma, contrairement à Sketch, travaille sur le web, l'environnement natif des systèmes de conception de composants. Elle a une API. Alexander et Zar ont montré comment se faire des amis pour concevoir des systèmes à partir de deux mondes.




«Réagissez aux stratégies de rendu: tirez le meilleur parti des performances, gardez les bots heureux» - Miguel Angel Duran Garcia


Vous pensez que le rendu dans React est limité au côté client et au côté serveur? Détrompez-vous - vous pouvez utiliser différentes stratégies de rendu, chacune ayant ses propres avantages et inconvénients. Détails dans le rapport.




«Je vais vous prendre toutes les données et vous ne le savez même pas. Je suis une extension de navigateur »- Nikita Mostovoy


Nikita a montré les nuances que vous pouvez attendre lors de l'utilisation de ces extensions et a démontré des vecteurs d'attaque vraiment élégants.




"Transpile n'importe quoi en tout!" - Anna Herlihy


Le problème avec la création d'un ORM est qu'il doit être fait pour chaque langue et technologie. Anna a expliqué comment rendre une interface adaptée à la plupart des langues et des plates-formes.




"WebAssembly sans coupures" - Andrey Roenko


Si vous souhaitez savoir ce qu'est WebAssembly sous le capot, consultez le rapport d'Andrey.




"@ Babel / comment faire" - Nicolò Ribaudo


Nicolo est l'un des principaux développeurs de Babel. À partir de son rapport, vous apprendrez à créer votre propre plugin Babel pour prendre en charge les nouvelles fonctionnalités du langage ou résoudre vos problèmes.




«I18n les principes d'un web accessible» - Romulo Cintra


Le problème de l'internationalisation est pertinent pour de nombreux développeurs et a donc de nombreuses solutions. Vous avez la possibilité de découvrir quelles options sont actuellement disponibles et sous quelle forme ils vont résoudre ce problème en utilisant la nouvelle API dans JavaScript lui-même.

Il y a un mois, nous avions déjà publié la traduction du rapport de Romulo sur Habré .




«Fragments GraphQL sur le client: historique des occurrences, erreurs d'utilisation» - Pavel Chertorogov


De plus en plus de gens commencent à utiliser GraphQL. Pavel a parlé des meilleures pratiques qui se sont accumulées dans l'industrie, et pourquoi et comment utiliser des fragments GraphQL.




«La programmation contractuelle comme moyen et non comme fin» - Artyom Harutyunyan


De nombreuses personnes souhaitent que TypeScript dispose, en plus du typage statique, d'une vérification de type à l'exécution. Mais l'équipe TypeScript ne va pas encore ajouter cette
fonctionnalité. Que faire? Artyom a proposé des options pour les types d'exécution et a fait part de leurs lacunes.




"Du code aux pixels en un clin d'œil" - Prashant Palikhe


Pouvez-vous décrire les étapes du navigateur pour afficher le contenu de la page? Sinon, Prashant a clairement montré ce qui se passe et comment il peut être optimisé.




«JavaScript au service de l'informatique théorique» - Vitaly Bragilevsky


Un rapport fondamental d'une personne qui évolue dans le milieu académique et qui est au courant de toutes les dernières tendances de la théorie des langages de programmation et de l'informatique théorique. Vitaly a parlé de la façon dont les calculs sont construits dans n'importe quelle langue, a parlé de la machine de Turing, du calcul lambda, etc.




«Comment payons-nous la transition de div à WebGL et qu'obtenons-nous (profit!), Sur les exemples de PixiJS» - Ivan Popelyshev


Après ce rapport, vous pourrez comprendre les problèmes lors du passage d'un DOM multifonctionnel à WebGL pour ouvrir les bonnes pages de documentation ou de code lorsque vous voyez des artefacts étranges qui ne devraient pas l'être.
Le rapport établit des parallèles entre les solutions sur DOM / CSS / SVG, canvas 2d et WebGL. L'accent est naturellement mis sur ce dernier.




«Efficacité de carrière et cheminement de carrière en informatique» - Dmitry Voloshin


Pour poser une pierre ou brûler une étoile. Quel est votre chemin vers l'informatique? Dmitry Voloshin a montré les moyens de développement les plus efficaces de la profession.




«(Pas | bien) récompensant l'une ou l'autre des monades en pratique et en théorie» - Dmitry Makhnev, Artyom Kobzar


Parfois, les concepts de la programmation fonctionnelle peuvent être appliqués aujourd'hui, directement à partir de votre TypeScriptJjavaScript préféré. Sur la façon de gérer facilement les erreurs et les exceptions, un rapport de Dmitry et Artyom.




«De la spécification à la mise en œuvre» - Yulia Startsev


Les rapports sur le moteur SpiderMonkey peuvent être entendus très rarement, et vous avez une excellente occasion d'écouter la personne qui travaille dans l'équipe de ce moteur et est le coprésident du TC39. Dans le rapport, Julia a parlé du chemin de Nullish Coalescing vers SpiderMonkey.




«Syntaxe de définition CSS» - Roman Dvornov


Les développeurs JS particulièrement radicaux affirment parfois que "CSS n'est plus nécessaire, tout sera dans JS." Cependant, CSS était, est et sera probablement. Le roman parlait des fondements fondamentaux dont tout le monde avait besoin.




«Développement d'un compilateur pour TypeScript sur TypeScript basé sur LLVM» - Dmitry Patsura


Les compilateurs sont un sujet extrêmement intéressant et mystérieux pour de nombreux développeurs JavaScript. Dmitry a parlé de son expérience dans l'écriture d'un compilateur StaticScript pour TypeScript dans une vue LLVM intermédiaire.



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

All Articles