📜 ⬆️ ⬇️

Review of HolyJS 2018 Piter reports: from WebAssembly to Three.js



Someone decides to go to the conference as soon as it is announced: if you already attended it last year and enjoyed it, then there is no doubt. And someone decides when the conference program is ready and you can understand exactly which reports you would like to attend.

Today we have material for the second. The program HolyJS 2018 Piter (May 19-20) still brings the final touches, but it is already possible to draw final conclusions. A variety of topics (from the features of TypeScript and memory leaks when using RxJS to porting JS compilers to Elbrus processors) - in this post we reviewed everything that is already known about HolyJS reports.

The first day


Vitaly Friedman - New Adventures In Front-End, Season 2


')
One of the most notable speeches of the previous HolyJS was Vitaly Friedman ’s report “New Adventures in Responsive Web Design”. If you did not attend it personally, you can watch the video .

And now Vitaly is returning with the new “New Adventures”. When you lead Smashing Magazine, you will learn a lot of front-end subtleties, difficulties and dirty tricks - so the report will touch on a variety of topics. As the author warns, "you will not be able to" discern back "what you learn, and we are not responsible for your subsequent nightmares."





Marina Mironovich - React, AWS Lambda and Serverless: mix, but not shake



Surely this is not the first time you hear about serverless computing, but Marina hopes that it is her report that will convince you to try them yourself. And for those who are not new to AWS lambdas, their additional features and useful development tools will be shown. In the report, she will step by step tell how to create an isomorphic application on AWS-lambda, starting with simple creation of lambda with hands from the console and ending with a project with a fully automated deployment.





Taylor Lovett - Building Alexa Skills with Node.js



The Amazon voice assistant created by Alexa is now used not only in Amazon Echo, but also in devices from other companies like Sonos. AI captures the world, and Amazon is one of the pioneers here.

Developers can create their skills for Alexa using Node.js. Now there are already tens of thousands of skills, but the ecosystem is still very young, and everything is just beginning. Taylor will show how to write, locally test and properly deploy the basic skill. He will also figure out which design patterns are best for skills.





Evgeny Gusev and Ilya Taratukhin - Reservoir Dogs, season 2: React vs Vue


"Do you smell it?" This is a frontend, son. Nothing else in the world smells like that.

I love the smell of the front end in the morning. Once we refactored one feature for twelve hours in a row. And when it was all over ... There was not a single unchanged file.

Someday this framework war will end ... ”

Yes, we are with you again! This time, the experts Mr. Blue (Ilya Taratukhin) and Mr. Green (Evgeny Gusev) are taking new heights by storm: our old friend Star and Striped React is trying to defend the frontier before the rapidly advancing Vue. Around the explosions, front-fighters here and there ... So, stand, this analogy has gone too far. Let's do it in a simple way: let's look at the two frameworks and understand how they are similar, how they differ, and who will win in this war?





Roman Dvornov - Components Catalog: Rethinking



In Avito, where Roman works, develop their catalog of components. This report is the answer to the question “why?” When there are already ready-made solutions. Topics to be covered:







Sergey Nikolaev - Developing the Three.js application using React.js


React.js provides an excellent API for developing complex user interfaces. Most developers are used to using it for DOM development. But react reconciler is much more powerful and allows you to build custom renderers for different purposes, such as: constructing three-dimensional scenes or creating canvas components, which can be managed as easily as possible thanks to the declarative React.js API.





Nikolai Matvienko - Node.js in Enterprise



The enterprise application architecture is evolving, and Node.js is already widely used by corporations. Nikolay will talk about the experience of implementing Node.js in large enterprise e-commerce projects, technical solutions used, the benefits obtained and the process of gradual replatforming and crushing monolithic architecture.





Kirill Cherkashin - Working with JavaScript Abstract Syntax Trees




Kirill, who was born in Moscow, now lives in New York and works at Google on Firebase, and also organizes the largest Angular-metap in the world. In this report, he explores approaches to analyzing and transforming JavaScript code based on its parsing and working with the resulting Abstract Syntax Tree. Babel and ESLint will be used in the examples.





Imad Elyafi - Bringing mobile web back to life



In Pinterest, where Imad is now working, the mobile web version has been redesigned on a large scale, having managed with this for 11 weeks. As a result, it was possible to achieve a result close to native applications, while maintaining a fast download speed. User engagement metrics have increased dramatically. But this path was not strewn with roses, so Imad will tell you what difficulties they encountered along the way and how they overcame them.





Alexey Bogachuk - Solution Architecture and JavaScript


Often the architecture in JavaScript comes down to choosing a framework according to the latest trends in the frontend world. And if you say that the choice of technology - this is only the seventh step in making a design decision? Every day, many projects suffer losses or even fall apart due to incorrectly chosen architecture.

Alexey will share stories that will help to correctly form the vision and significance of the architecture in modern applications, as well as prevent mistakes that can simply destroy your project.





Evgeny Pozdnyakov - RxJS: Performance and Memory Leaks in a Large Application


Let's talk about RxJS and its philosophy. About possible memory leaks and major errors when using RxJS. About the personal experience of using Rx in a large Angular 4 application and how to fix and avoid Memory Leaks. About this, few people say, almost nothing is written in the documentation. It will also tell you what to do with RxJS and what not.





Sebastian Golasch - Eme? CDM? DRM? CENC? IDK!


This report will look at the technical details behind a number of terrible abbreviations: EME (Encrypted Media Extension), CDM (Content Decryption Modules) like Widevine, and DRM (Digital Rights Management). How do we do this? Reverse-engineering Netflix and creating your own video player for Netflix!




Denis Radin - Mining crypto in browser: GPU, WebAssembly, JavaScript


Denis visitors are already familiar with HolyJS, for example, according to the report “UI Components on Pixel Shaders”, and his main work is connected with photorealistic web games, but now he will speak on a completely different topic. A year ago, they consulted him on the question “Is it possible to mine cryptocurrency in the browser using the GPU”, and Denis investigated the question - and now he is ready to share his knowledge about what to expect when to use the pool of browser miners.





Second day



Dmitry Patsura - React Native Deep Inside


Dmitry has extensive experience in development (in addition to React / React Native, he has PHP, C, C ++, Go in baggage), and also not for the first time talks about React Native. But this time, having pushed off from already existing experience, he will climb into the very inside. In the course of the report, a native module for both iOS and Android will be written for complete immersion.





Maxim Yuzva - Soft skills


This report will answer the question: “Would Ilon Musk be able to launch and land a rocket if he knew JavaScript, React or Angular the best in the world?” Spoiler: “Yes.”

So, how to become an engineer of the XXI century? Maxim Yuzva - frontend-tmlid, hiring and resource manager in EPAM Systems; FrontSpot community organizer and BeerJS frequenter.





Dmitry Bezhetskov - Experience of porting JS to Elbrus


Few people worked with such exotic as Elbrus processors. And Dmitry didn’t just deal with him - he got the experience of porting various JS compilers to Elbrus, from V8 FullCodegen to Ion from SpiderMonkey, to UNIPRO. At the conference, he will tell about the pros and cons of engines in terms of porting and sawing new platform-specific features. In general, about what you hear infrequently - if such exotics interests you in principle, then you should not skip the report.





Sebastien Chopin Atinux - REST API Documentation in Node.js without writing it


When using Node.js, creating the correct API documentation is sometimes a very time-consuming task. However, there are solutions like Swagger, OpenAPI, Postman, and the like. But Sebastian believes that you can automate everything even more than usual, allowing developers to focus on development. And at the conference will tell exactly how.





Vitaly Friedman - Dirty Little Tricks From The Dark Corners of eCommerce


What can go wrong in an eCommerce project? Yes, just about everything: from choosing a product and adding it to the basket to a letter of confirmation and, in fact, the delivery of goods. Each step should be carefully checked for possible errors and misunderstandings.

In this report, Vitali will consider how you can increase the conversion, as well as simply improve the user experience with the help of some little things. With the report you can get away with ready-made ideas and approaches.





Dmitry Karlovsky - Quantum Mechanics of Code Execution


Suppose a client has a slow device, and you need to do a bunch of hard actions in a UI thread.
How to achieve 60 frames per second without turning the code into spaghetti?
How to cancel the already started calculations, when they need to be repeated with more relevant data?

Suppose you have a server that calculates a response to a request from 1 ms to 10 s.
How to make so long tasks do not block fast ones without creating a stream for each request?
How to cancel already started calculations when the client disconnects?

Spoiler: stackfull fibers will help us give each task CPU time in 16 ms quanta.





Aleksey Kozyatinsky - JavaScript debugging using Chrome DevTools


Alex is not the first year in the team of Chrome DevTools, creating and improving there tools for debugging JavaScript. And the talk about these tools will go: Alexey will tell about how they are implemented, starting with breakpoints and ending with asynchronous stacks and memory profiling.





Andrei Starovoit - TypeScript: why is it so difficult?


In the report we will discuss the evolution of the type system TypeScript. Main questions:





Victor Vershansky - Mongoose Subtleties: Discriminators, Nested Schemas, Virtuals


Listeners will get acquainted with the principles of working with the life cycles of uniform but heterogeneous data structures embedded in Mongoose.js.
Mongoose Basics:
- Basic principles and approaches to work.
- Typical mistakes beginners.

Why and how:
- Virtual fields and virtual methods.
- Nested schemes.
- Discriminators.





Mikhail Poluboyarinov - What to expect from JavaScript in 2018?


In January, a regular meeting of the TC39 committee was held, at which the ES2018 specification was finally formed. In her footsteps, Mikhail Poluboyarinov, the organizer of PiterJS and IT Global Meetup, a developer with 18 years of experience, a member of the HolyJS Program Committee, will go on a performance.





Denis Kolodin - Yew: Rust + WASM Framework for Creating Single-Page Application


The report will describe how the Yew framework was developed, an analogue of React and Elm, written entirely in Rust and compiled into an honest WebAssembly. How to create a framework without a garbage collector, effectively provide immutable, without the need to copy the state due to the rules of ownership of Rust data and what are the features when translating Rust in WebAssembly.





Lyza Danger Gardner - Web Annotation: The Web's Conversation Layer


Web Annotation, which has become the W3C standard, is intended to create a layer for communication over the web. Theoretically, it allows anyone to annotate any Internet content, and this is a noble goal in the spirit of the Internet itself: democratic, open and standardized.

But with this free come and complexity. Those who publish content lose control over what people say about it. And the standard itself does not imply protection against the capture of the discussion by trolls. The evolution of Web Annotation shows in miniature the evolution of the entire Internet - with the same issues of security, identification and freedom.





Finally, there are three cases where we are not yet ready to provide a description of the report, but we can say something.

First, Alexey Kalmakov will speak on the topic “Offline VS online client speed metrics”.

Secondly, Nikolai Ryzhikov will turn out to be another speaker: an activist from the Clojure and FProg communities, a member of the committee for the development of the FHIR standard, the CTO of the Health Samurai project.

And thirdly, the report of Ilya Klimov will end the conference. Prior to that, he spoke at HolyJS with the theme ““ Strict ”JavaScript: Types Against Reality” - and 6,000 video views speak for themselves. Probably, this time it will turn out not less interesting.

If you finally understand what you want on HolyJS - the ticket can be purchased on the website . And if you still do not understand, and you need some other information (for example, the exact schedule of reports), it can be found in the same place.

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


All Articles