📜 ⬆️ ⬇️

HolyJS 2017 Moscow program overview: from WebAssembly to Yarn



Very little is left before the HolyJS conference (it will take place in Moscow on December 10-11), now the final touches are being put into its program - which means we can properly present this program to Habra. What reports are waiting for us? If to sum up in one word, then “various”. HolyJS was never limited to the framework of the “front-end framework conference”, but sought to embrace the JS world in all its breadth. And this time, the spread is very noticeable: from Node.js and GraphQL to browser-based “Heroes of Might and Magic” and victory over a quantum computer using WebAssembly. As a result, when looking at the program, the eyes are so scattered that in this program it was not even possible to break it into several thematic blocks, and I just had to describe all the reports one by one.

However, we singled out something separately: keyouts. The conference will take place in three halls, but each day will begin and end with a general presentation for all, so it is logical to begin the description with these four themes from the four horsemen of the JavaScript apocalypse that will fly to Moscow from abroad.

Keynouts


Douglas Crockford - The Post JavaScript Apocalypse
')
When in the spring the legendary Douglas Crockford spoke at the St. Petersburg HolyJS with the theme “Numbers” , he casually mentioned that new programming languages ​​should appear: “we cannot leave JavaScript to our children, it would be terrible”. And this time, opening the conference with a speech on the “post-Javascript script apocalypse”, he will cover the topic in more detail. What should be the language that will eventually javascript? And what should we do now while it is not yet?

In addition to keyout, Douglas will make a “regular” report on the second day of the conference - you can read about it below.

Vitaly Friedman - New Adventures in Responsive Web Design

About Responsive Web Design speak far not the first year, but over time there are not less questions, but only more. Browsers began to support HTTP / 2, Service Workers, Responsive Images, Flexbox, SVG, Font Loading API - how is it better to use all this now? And if you started using what to do with legacy browsers?

Such questions are right for Vitaly Friedman, co-founder of the famous Smashing Magazine website. Firstly, this site has been covering such topics for years, and secondly, the site itself also has to solve such questions for itself. In general, the lack of expertise here obviously will not. And Vitaly, like Douglas, on the second day will present another report at the conference.

Azat Mardan - You don't know Node

As you know, if someone uses JavaScript, this does not mean that he knows JavaScript. This is evidenced by at least the popularity of the book “You Don't Know JS” (she promises to really teach JS even to those who believed that they already know everything). Azat Mardan states that the situation with Node.js is similar: many developers who deal with it do not quite know its capabilities. And the keynout “You don't know Node” is intended to fix this by showing five non-obvious features.

Lea Verou - / Reg (exp) {2} lained /: Demystifying Regular Expressions

Lia has already impressed many spectators with the performance of the spring St. Petersburg HolyJS, and now she will close the Moscow conference with another topic. "Regular expressions" can seem something chewed a thousand times, and at the same time it is still not completely clear (and therefore frightening). But Leah is able to explain and demonstrate everything with illustrative examples in such a way that it does not turn out to be either scary or boring. And if you think that you already know about “regulars” enough and you don’t need to hear about them again, then there will be a good opportunity to check whether you can really quickly select the right expression in your mind for some non-obvious cases.



First Day Reports


Nikolai Matvienko - Diagnostics of Node.js Applications Under the Hood

“Unobvious possibilities” of Node.js, which can be found in the keyout of Azat Mardan, is, of course, great. But what to do if there is a problem with your Node.js application, and you don’t need to fix something new, but you need to quickly repair the existing one? On Nikolay's report you will learn about the possibilities of diagnosing production-applications using debugging and tracing the application at different levels; on how to track performance problems and memory leaks inside the Node.js application.

Denis Radin - We do it beautifully with pixel shaders and write our first

Whoever considers the work on the web "primitive form-slapping", this report can show how much it can differ (if, of course, such a person turns out to be at the JS conference). The word “shaders” is well known to gamers, but their use in UI components is unfairly bypassed, and Denis intends to correct this. This report explores the experience of using GLSL (C-like OpenGL Shading Language) in developing web applications.

Egor Malkevich - (- We steal--) We extract data from the Internet

This report is a tour of the depths of the Internet in search of data. Egor will tell you about the easiest ways to steal data from the site, as well as the most complex and highly obscure at first glance. The report will be interesting to those who would like to make a useful application, but constantly postponed this task for later. That's because getting data from the internet is great!

Minko Gechev - Faster Angular applications

On the one hand, we all understand the importance of web applications opening and running as quickly as possible. On the other hand, we are doing cumbersome single-page applications, where it is often required to load many resources at once, and then perform so many calculations in the main thread that the “brakes” are not surprising. How to achieve rendering at 60 FPS and fast loading of the Angular application? Minko is going to talk about both.

Andrei Melikhov - How many frontenders do you need to write a mobile application?

For mobile developers, the mention of React Native usually causes a reaction “for the prototype it will do, but you cannot do a serious production application like this, you need to be native there”. But what if to cross the native approach and separate screens on React Native? And what if to entrust part of the work to the front-end? In Yandex.Money they tried to do it - and Andrei Melikhov will tell you how this experience ended, what problems they faced and what results they achieved.

Alexey Zolotykh - Architectural etudes: how not to ruin the architecture of your project

You started a huge project with a rollicating web interface and with Napoleonic plans for 2-3 years. Chose a framework, set up a builder, download from GitHub, or generate a skeleton, the foundation of your future application. You may even have a prototype. And here the question arises, what to do next, because the mistakes in the early stages are the most painful. It is very easy to break wood.

During the report, Aleksey will take a standard and clear template project for everyone and try to build its further architecture, applying all the knowledge that he has accumulated over 10 years of work in the front end.

Vitaly Slobodin - Headless browsers: what, how and why

When looking at the title of the report, many may think "why should I listen to it, I already know what headless browsers are." And indeed, such browsers have long been entered into the lives of developers - with their help they test the code, check the quality and conformity of the layout, and not only. But the problem is that the developers know little about how their tool works and works. So the question “how” from the title is no less important - and many will be able to find an answer for themselves.

Vladimir Dashukevich - How to defeat a quantum computer using WebAssembly?

Today, we quietly enter our passwords and credit card numbers on TLS-protected pages. This is largely due to the simple and reliable RSA protocol, which was proposed as early as the 1970s. But this protocol can theoretically be hacked by a new type of computer - a quantum computer.

Vladimir will tell you what a quantum computer is and how it can break the entire Internet, how modern browsers will try to prevent such problems, and how we can protect user data right now. It will be about encryption algorithms such as SIDH, which can not be cracked at the moment by a quantum computer, and about their use in the browser using WASM.

Alexey Bogachuk - Security: vulnerabilities of your application

Are the threats of XSS still relevant? It has been about 20 years since Cross Site Scripting (XSS) appeared as a type of attack. Since then, we have gained a wealth of experience and knowledge, the protection of our sites has become much more difficult, and numerous frameworks have been designed to protect us from mistakes. But the latest data shows a completely different picture: in the first quarters of 2017, the number of reports of XSS attacks and the number of vulnerabilities found increased several times.

Alexey will talk about why your applications are in danger, why frameworks don't save, how to find vulnerabilities and what tools to use for this.

Mikhail Bashurov - Yarn, npm v5 or pnpm - who is cooler?

“Two developers somehow got into one prison cell for ten years. Came out one day. Well, it was still an hour on the street to discuss which package manager was better and went away. ” Jokes, but for all the endless debating of this topic, it does not become less pressing. And Michael is going to compare instead of a simple holivar by specific indicators: speed, CLI, lockfiles and determinism.

Alexander Korotaev - Game "Heroes of Might and Magic" in the browser: long, difficult and unbearably interesting

The story of the formation of a programmer through the development of a "dream game". This report will open the window to the world of fans of their business and point the way to the development of large games in the browser. Personal experience of the war with performance and the search for the right path, solutions to pressing problems and incredible discoveries in the world of JS.

The report discusses useful case studies of the JS game developer: techniques for efficient data storage, drawing the UI on the Canvas, and ways to approach the parsing of binary files.

Mathias Buus Madsen - HyperDB - a scalable key-value store

Matthias is developing a new HyperDB P2P database in JavaScript, and will tell in detail about it to HolyJS. Since the creator of the project will be talking, it is not surprising that the conversation will be detailed, deep and from different sides: both “how it works inside” and “what you can do with it”. Separately, “discussion zones” can be useful here, where each HolyJS speaker will go after his report: if questions remain after the report, it will be possible to elicit all the details directly from the speaker.



Second day reports


Douglas Crockford - Managing Asynchronicity with RQ

And again Douglas Crockford. This time, not with a general discussion about the “language of the future”, but with a concrete response to the specific challenges of today. RQ is a small JS-library from Crockford, designed to help work with asynchrony in server applications. According to Crockford himself, it is “intended to facilitate use with the help of minimalism, and even more so with the help of minimalism.”

Alexey Okhrimenko - Fatal lack of Node.js

And again Node. The phrase "fatal flaw" has long been a part of the developers' lexicon, usually meaning "we didn’t do this technology, so let's do the same." But Alexey believes that Node has not the fatal flaw that everyone thinks about these words, but another one. And the report will not just tell you which one, but also try to correct this shortcoming.

Alexey Taktarov - Animations in the world of states

We have already learned how to build clean interfaces and write “undo-redo” in a few lines. But what about animation? They are often bypassed, and they do not always fit into the (state) DOM approach. There are great solutions like React Motion, but what if you need to do complex animations or work with Canvas using the physics engine?

Alexey will tell how he works with animations in React-applications, compares several approaches (D3, React-Motion, “dirty components”) and will illustrate this with many interactive demos. Also tells how he "launches" animations in Redux-applications. The report is a part of the research, the purpose of which is to arrive at a pure and declarative way of defining animations in React-applications.

Slobodan Stojanovic - Testing serverless applications

The word "serverless" now sounds very often. But while many texts and reports on this topic dealt with superficial questions (“what is it at all”, “what are the advantages” and “why did they foolishly call the term, do you still have the server”), the pitfalls often remain underwater. In real use, there are immediately questions that you don’t ask yourself at the first moment: for example, how does the serverless approach affect testing? What is the main difference from testing traditional Node.js applications? Slobodan intends to answer these questions and others.

Martin Splitt - Better, faster, getting more from the web platform

At St. Petersburg's HolyJS, Martin analyzed the rendering performance from the bottom, starting with a single pixel. This passion “to go there, until many do not reach” is typical for him - and in Moscow he will deal with features that he considers to be either underestimated or too new for public attention. They will be: Web Workers (for parallel work without blocking the UI stream), Streams API (for working with data as it becomes available, without waiting for the end of the transfer) and WebAssembly.

Pavel Chertorogov - GraphQL: we conclude a lucrative contract between the server and the client

GraphQL replaces the REST API. GraphQL Model - developed for 2 years by the speaker of the principles of construction, types and relationships. Pavel will tell how to squeeze all the juices from a typed scheme and static code analysis, and will affect “divine refactoring”. There will be a lot of information on the backend.

Vitaly Friedman - Big Bang Redesign: Smashing Magazine's 2017 Relaunch, a Case Study

The idea of ​​“taking and arranging a super-design from scratch” often seems very, very successful. But in practice, it often turns out to be very, very unsuccessful (the complexity and riskiness of an undertaking is always underestimated, and they overestimate themselves). The Smashing Magazine website is well aware of this - but they decided on it anyway. And now Vitali is ready to tell all about it: what decisions were made, mistakes were made, lessons were learned and dirty hacks were used. Among other things, it will be about HTTP / 2, service workers and serverless architecture - so you can find out more about how fashionable words really work in production.

Emil Bay - Real-world applications of hash functions

Hash functions are something that many developers use (even if they don’t know about it), but very few create it. It is easy to treat them as “someone else's problem” and not even think about the possibilities of their use, besides coming to my head instantly. This report will make you think, considering specific situations - with JavaScript and without furious mathematics.

Mikhail Udalov - Inter Windows Communication, or How to build a full-featured RPC in the browser

Mikhail will consider different approaches to building client-side-communication between web applications. Discuss the problems (and their solutions) that will be faced in order to build a full-featured RPC in the browser. The report is designed for practicing JS-developers.

Gerard Sans - Bending time with Schedulers and RxJS 5

Observables have become popular for a number of reasons. But, according to Gerard, something is said about less than it would be worth: about Schedulers. He intends to restore justice - and to consider Schedulers in detail, starting with the basic API and ending with less well-known features.


Anton Lobov - TypeScript, or Why is it so difficult

In just a couple of years, TypeScript managed to turn from another “JavaScript with classes” into a powerful tool for typing complex JavaScript code. From the point of view of the developer, everything has become more obvious and more convenient. But not everything is as obvious as we would like.

Anton will help to figure out which pitfalls are fraught with the typing offered in TypeScript, why it is so complicated and how it directly influences language support from the IDE and other development tools (sometimes in a very unexpected way).



Now almost all the information is available, allowing you to decide whether to go to the conference. And if your answer was positive, go to the conference website for tickets. And if your answer “would go if it were in Moscow”, then the site has an option for you: tickets for the online broadcast. We are waiting for December 10-11 at the conference and at the monitors!

Source: https://habr.com/ru/post/342938/


All Articles