From the “new number format” to “code as a UI”: how HolyJS 2017 Piter went

Published on June 09, 2017

From the “new number format” to “code as a UI”: how HolyJS 2017 Piter went



    Another confirmation of how fast the JavaScript world is: just six months ago, when the HolyJS conference was held in Moscow, Angular 2 was relevant, and now Angular 4 managed to get to St. Petersburg. We assume that there was a third one, but we blinked and missed it !

    Since everything is changing so quickly, what was at the conference itself compared to the previous one? How did the eminent Douglas Crockford speak ? What were the other notable talks about? All this is under the cut.

    The first significant difference is organizational. The conference became two-day, not trying to push the maximum possible number of reports into the grid, but instead providing half-hour breaks: it was possible and how to question the speakers in the discussion zones, and participate in activities at the sponsor stands, and discuss painful with each other.


    By the way, about sponsor stands - this time everything went on a grand scale. There were not just a lot of stands, something was constantly happening around them. It seems that VKontakte attracted the most attention , having organized a contest according to the Code in the Dark rules . Opponents made up the page according to the given layout “blindly”, they could not see the result of their own actions - but all the spectators could see the result and the code. They wrote more about what was happening on the official page of the contest (and it is not surprising that this page is a VK public).



    And what about the reports themselves, for which everyone gathered? Two days not entirely retell, but we note some points.

    Douglas CrockfordHe spoke twice - with the opening keynote and the report “Goto There and Back Again”. Initially, it was assumed that the Post JavaScript Apocalypse (already known from foreign conferences) would become a keynote , but in the end it turned out to be even more interesting: viewers saw very fresh Numbers material.



    What was in it? Douglas started talking about numbers from far away, from the number of fingers on his hands and the Egyptian number system, and reached JavaScript very soon (with the words “the fact that JS has only one type for numbers saves us from a number of mistakes - but, unfortunately , this is the wrong type. ”)

    This all may seem overly distracted - how often do we need to think about how numbers were handled thousands of years ago? But without taking this step back and not seeing the big picture, it is hardly possible to understand how it is worth moving forward. And Douglas went precisely to the future, where numbers can start to be treated differently - for example, using the DEC64 format proposed by Crockford himself for “next-generation programming languages”. As he acknowledged, this is no longer possible to add to JavaScript, but "we can’t leave JavaScript to our children, it would be terrible."



    Martin Splitt has already become a regular hero of HolyJS. In December, the audience at the Moscow conference really enjoyed his performanceabout WebVR, and now he has performed with the theme “Rendering performance from the ground up”. This was a sharp contrast: instead of looking into an exciting future with new interesting devices, this time he started from the bottom - because in the present many users are not as powerful devices as we would like, and think about the price of displaying any items still have to.

    But something of Split remained unchanged: firstly, interspersed with Russian-speaking words (this time he had managed to learn not even very good words), and secondly, a very positive reaction from the audience (of course, a bad word caused a special animation). By the way, in the meantime, he himself offers his help to Russian javascripts who want to speak in English:





    Imad Elyafi talked about the experience of migrating a huge service on React, which he got on Pinterest. Moreover, the interesting experience of Imad is not limited to this: earlier he also worked on Facebook, where React appeared. Since he can compare what it is like to work with React “inside” and “outside” Facebook, I immediately wanted to ask him about it. And since we did interviews with speakers in the HolyJS online broadcast between the reports, they asked.

    The answer was this: on the one hand, on Facebook, the proximity to the creators of React is really felt (since the office is a “big hangar”, different developers often intersect with each other, and it’s easy to communicate with the team of interest). On the other hand, a third-party company can often afford more bold decisions when using React than Facebook itself. Not surprisingly, in the end, Zuckerberg himself had already moved away from his early motto “Move fast and break things” to the much more cautious “Move fast with stable infra”.



    Interviews were done with Alexey Ivanov(Evil Martians), at a conference talking about the internal structure of the webpack bundle. And as a person who actively climbed inside the webpack, we asked, among other things: “But did you get the feeling“ well, it’s all right, you should do it like that ”, and if so, I’d like to change first of all? ”Alexey replied that the sensation, of course, arose, and most of all was caused by the CSS loader: they say, now he does too much, and even the creators of webpack recognize this.



    In general, the words "setting webpack" are associated with many unpleasant and at the same time inevitable procedures. But Alexey Zolotykh, who compared ECMAScript, TypeScript and Dart in his report, noted that at least one way to avoid this pain exists: “There are many different build tools for ECMAScript / TypeScript, the only problem is that they are all difficult to configure. And Dart is simple: he has Pub, and he is out of the box. " In the case of package managers, the situation turned out to be similar - a single “boxed” version of Dart against a number of available options for ECMAScript and TypeScript, where even npm ceased to be an unambiguous standard with the advent of Yarn.



    In addition to the three languages ​​listed, front-end vendors have recently added another option. Bay Bashorov(JetBrains) spoke at HolyJS about using Kotlin in the frontend, and those who knew the Java world could experience deja vu in his talk. A couple of years ago, at Java and Android conferences, one could hear “introductory” reports about Kotlin: “there is such a young Java-compatible language that you might like more than Java, and here are its main features like nullability”. Time passed, the language gained momentum in the Java ecosystem, a lot of developers using it appeared, and conversations moved from “it exists” to a discussion of narrower and more specific issues - such as the implementation of coroutine.

    And with the recent release of Kotlin 1.1, where JavaScript compilation appeared, the story took a new turn: now javascripts listened on HolyJS about the main features of a promising young language that they can use. Will JetBrains perform equally well in the new territory? Will it turn out that at HolyJS 2019 they will already be sorting out specific details for viewers who are actively using the language in production? It is impossible to guarantee, but so far we can confidently say the following: many spectators gathered to listen about Kotlin on HolyJS, so there is a clear interest in the language.



    The JavaScript world is often blamed for the fact that the developers in it are fixated on other people's solutions, chasing new-fangled frameworks and looking for an NPM package for everyone. When it provoked the left-pad-cataclysm, appeared on Habréthe translation of the text with the heading "We forgot how to program?", and there are many who feel, "It seems we have begun to forget how to write in JavaScript itself." All of these at the conference could please the report of Jacob Mattson's “Forgotten funky functions”: he spoke specifically about the possibilities of the language, which turned out to be undeservedly forgotten.



    Finally, she closed the conference with her keynote, Lia Veru , cheerfully starting “I am from the island of Lesbos, which technically makes me a geographic lesbian.” While someone divides everyone into “tech developers” and “humanities designers,” Leah loves both the code and the design, so much so that an hour before the performance, she corrected the color hex codes in her presentation so that the color reproduction on the projector would be as much as possible conceived .

    And the presentation itself was appropriate: she suggested looking directly at the code in terms of UX / UI. “We are used to thinking that UX is something for designers. But if you open the definitions of the words "usability", "UX" and "UI", they are generally not about design, they are much wider. " How to code the API to get a good user experience? Leah called the many components - reaching the end to the point that you need to be able to be not only professional, but also unprofessional: “We are used to portraying ourselves as more and more hardcore, but from the point of view of usability it actually hurts. When you know too much, you stop understanding usability issues. This is called the "curse of knowledge. " Leah pulled out of the timing, delaying the closing of the conference - but judging by the applause, many viewers would gladly listen to it again and again.

    See you in Moscow in December! Let's see how many versions of Angular have time to get out before it.