JS from all sides: the top 10 reports of HolyJS 2018 Moscow
In December, we held another HolyJS, and at first the video recordings of its reports were available only to viewers, and now they are open to all. For Habr, we traditionally made a selection of 10 reports that received the highest marks from viewers. They go up the rating, so the further, the more interesting.
Under the cut - and the videos themselves reports, and their short descriptions from the conference site, and links to slides.
If the top 10 is not enough for you, there is also a more comprehensive YouTube playlist .
In fact, the tenth place was taken by Mattias Petter Johansson, known to many on the YouTube channel Fun Fun Function. But we cannot show his report (under the terms of the MPJ it is an exclusive for the conference audience), therefore, the 11th was included in the post instead.
Stas talks about the internal structure of the webpack using the example of writing a loader for working with SVG sprites. He examines the main stages of his work, showing when a loader is needed, when a plug-in, how to establish a connection between them and why it is needed. He also explains how popular plugins work - extract-text-webpack-plugin, html-webpack-plugin, react-styleguidist.
The novel (by basis.js, CSSTree and not only) almost every HolyJS demonstrates the most interesting tools and approaches that do not leave indifferent. This time a step towards Data Science was made, and Zhora was presented to the public.
In the report:
What is Data Science and why is it worth knowing about it?
How can Data Science help in the frontend and what is needed for that?
Announcement of a tool for building data analysis stands and how we came to this.
The answer to the question "who is Zhora?"
Practical examples of what can be done today and plans for the future.
Final Form: Form state management via observers
Speaker: Erik Rasmussen
Managing the state of forms is difficult. Who should know about this, if not the author of the popular Redux Form library? In the report, Eric shares the experience gained in developing and supporting the library.
The WebAssembly technology quickly broke into all popular browsers and thus became available for commercial development. The report describes what a real rake was collected when porting a large application to C ++ to the browser.
JS applications are getting bigger and more complex, and tools like Flow and TypeScript are gaining popularity. Static typing is becoming a common theme in the JS world, and we rarely ask ourselves why these types look anyway. How were the type systems of modern languages formed, what theory lies behind them and where does all this move? The report tries to briefly talk about it.
The REST API and Swagger were good for their time. Around everyone is discussing the component approach, and it is time for the backenders to think about GraphQL: a new standard for the mega-friendly API for front-end vendors and their component approach. But what is good for the frontendder can be a pain for an unprepared backend.
The report covers points that are worth considering. From which pieces is the GraphQL server going (there are already many packages on the Internet, it would be good to understand what needs to be installed and why)? What is a scheme and how to write it to make the whole thing rustle? Considered authorization, writing a primitive ACL. The issue of performance and safety is addressed. The topic of file uploading, schema generation, API documentation and versioning has been analyzed.
Once Alexander was offered to write some game for the stand at the WSD conference. He had only three weeks, complete freedom in choosing a topic, and colleagues on whom he tested all this.
A report on how to write a game for developers, and not only from the world of frontend. Why RxJS and Workers are cool, and the most popular game engine is not. Is it possible to make JS safe, and programmers happy? How to survive the war with the streams of events and critics in order to have time to roll out everything on the day of the programmer ...
Lucas himself said that his report was fairly simple and that he could put a smoothie level in the program. If you understand what functions are in JS, conditional and arithmetic operators, then well. But the program committee has decided to put "hardcore".
The main focus of the report is on the concept of Y-combinators and lambda calculi, and if you use a functional approach in industrial development, some conceptual aspects of functional programming are beyond the scope of your code. And what Lucas shows will be to the maximum extent useful for practicing the functional approach and will allow to reveal some aspects of the concept itself.
Will the approach shown apply in production? Hardly. But the ideas themselves give a look from a different angle and help to make a more complete picture.
January 2018th. Venue: Ilya's own small outsourcing company. A small error in the code costs the client $ 600k - an amount that neither Ilya nor the client has (now). This event, though not becoming (fortunately) fatal either for the project or for the company as a whole, was a decisive factor in Illya's revision of his views on writing reliable code by the development team.
In this report, Ilya highlights the results of his research, selection of technologies and architectural solutions to improve the reliability of the code of his team, as he understands this:
Bad and "wrong" code should look wrong
Jun (and not only) should be easier to write the correct code than the wrong
Everything that can be automated should be automated, but with as little blood as possible.
The speakers, who took the first two places in the list, in May can be seen on the new HolyJS with new topics: Ilya Klimov will talk about CI / CD , Lukas da Costa - about recursion . There will be many new faces, from Ryan Dahl (known from Node.js) to David Horshid of Microsoft.
The conference will be held May 24-25 in St. Petersburg , the program and tickets on the site , and from April the cost of tickets will increase.