Выпуск 45: Ирония JavaScript или с новым стандартом!

В новогодний выпуск к нам в гости пришел Сергей Рубанов (Twitter и GitHub): человек-энциклопедия спецификаций ECMAScript, OpenSource-контрибьютор, докладчик различных фронтенд конференций и митапов и один из оранизаторов Moscow BeerJS. Обсудили уходящий год, что он нам принес в плане поддержки новых стандартов, обновлений популярных фреймворков и библиотек, новых технологий и методологий разработки браузерных и серверных приложений на JavaScript и веб-стандартах. Немного поговорили о ближайщем будущем WebAssembly, PWA и WebVR.

Скачать выпуск (mp3, 50 MB)
  • Спасибо, за подкаст.
    Но у гостя лучше звук чем у ведущих… Было бы круто если бы 2й ведущий обзавелся нормальным микрофоном, его вообще не разобрать…

  • Sultan Arziev

    скажи еще раз “честно говоря” и я…
    https://youtu.be/8V5iRux2KQA?t=2m25s

  • Александр Староверов

    Vue выстрелил, тк лучше реакта во всем по чуть-чуть.

  • zox

    Спасибо за подкаст, но участники плавают в клиентских фреймворках, ошибки и неточности.

    • Признаю, что ошибки не так уж и редки. Во всем разбираться невозможно, поэтому лично я последнее время почти перестал говорить про то, с чем плотно не работаю. Если хотите уменьшить количество неточностей, присоединяйтесь к прямой трансляции https://t.me/RadioJSPodcast и указывайте на ошибки в прямом эфире, либо пишите в комментариях что было не так, что особенно удобно делать на SoundCloud, где комментарии привязаны к точному времени.

  • Евгений Копысов

    В выпуске поднималась тема универсального пакетного менеджера. Как ведущие себе представляют пакетный менеджер под С/C++, у которого с модульностью то проблемы из коробки. Я уж не говорю про окружение и зоопарк систем сборок…

    • А чем вам не подходит «родной» пакетный менеджер для операционной системы? У многих админов вообще ненависть к языковым пакетным менеджерам и я их прекрасно понимаю. Они (эти самые языковые пакетные менеджеры) хороши ровно до тех пор, пока все, что они ставят — это файлики в исходном языке. Но как только у пакета появляется зависимость в чем-то низкоуровневом — все, это неконтроллируемая хрень.

      • Евгений Копысов

        Я не говорил, что мне не подходит пакетнЫй менеджер ос. Хотя свежесть версий библиотек в офф репах дистрибутивов линукс оставляет желать лучшего. Под win такого понятия вобще нет. У меня, собственно, вызывает сомнение идея универсального пакетного менеджера сравнимого по удобству с npm. Если мы говорим о компилируемых языках.

        • ну их нельзя сравнивать. Попробуй на чистой системе поставь через npm какой-нибудь sqlite или websockets, который содержит с/с++ часть — если у тебя не стоят «родные» тулзы на системе — ничего не получится. Да, ставить всякие leftpad и jquery — крайне удобно.

          • Евгений Копысов

            Ведущие почему-то сравнили, я считаю это не корректным.

          • Вполне может быть. Это потому что меня не было :-Р

      • Евгений Копысов

        Кстати чем разработчикам JS не подходит “родной” пакетный менеджер? А они “негодяи” такие сделали свои npm и bower? 😉

        • Ну ответ очевиден 🙂 Они просто его не осилили :-Р

          • Евгений Копысов

            А не потому- что цели у пакетных менеджеров несколько разные? В пакеты ОС JS либы просто не входят. Туда входят либы необходимые для ПО включенного в дистриб.

          • Ну я не совсем согласен. Что значит для ПО включенного в дистриб. По умолчанию, например, тот же nginx не входит в базовую поставку дистра. Но ты же можешь зайти в порты/репозитории и поставить его? И он поставит все необходимые ему зависимости, если таковы имеются, но не установлены на целевой системе. Или ты хочешь поставить, например, mpv плеер, у него в зависимостях ffmpeg, libav, кодеки и прочее — пакетный менеджер все подтянет и поставит. Но зато ты, пользуясь штатными средствами ОС сможешь увидеть все установленные в системе приложения, можешь четко понимать какие файлы и куда установлены конкретным пакетом. Другое дело, что у тебя на одном хосте может быть сотня сайтов и в каждой использоваться своя версия того же jquery — и вот тут уже у штатных пакетов проблема. Вот поэтому и есть всякие npm/bower/gem/composer и иже с ними.

          • Евгений Копысов

            > Ну я не совсем согласен. Что значит для ПО включенного в дистриб. По умолчанию, например, тот же nginx не входит в базовую поставку дистра. Но ты же можешь зайти в порты/репозитории и поставить его?

            Да в базовую не в ходит, но он есть в репе. Там конкретная версия этой программы, которая так же зависит от конкретных версий либ. Ну скажем nginx заивист от lib-curl(я точно не знаю входит ли он в зависимость). Т.Е. он там стоит не для разработчика, который хочет ее использовать, а для конкретной программы(возможно не одной).
            Суть в том что пакетные менеджеры не совсем для разработчика – они для корректного функционирования ОС. Т.е. стабильное ПО сбалансированное по версиям.

            > Другое дело, что у тебя на одном хосте может быть сотня сайтов и в каждой использоваться своя версия того же jquery — и вот тут уже у штатных пакетов проблема. Вот поэтому и есть всякие npm/bower/gem/composer и иже с ними.

            С этим согласен.

  • как замену JSX можно взять ClojureScript в связке с https://github.com/tonsky/rum .
    При этом ваши компоненты будут выглядеть вот так:
    “`[:input { :type “text”
    :allow-full-screen true
    :id “comment”
    :class [“input_active” “input_error”]
    :style { :background-color “#EEE”
    :margin-left 42 }
    :on-change (fn [e]
    (js/alert (.. e -target -value))) }]“`