Пилотный выпуск

Представляем вам подкаст о web-разработке RadioJS. Интересные новости, события и люди в мире JavaScript!

Пилотный выпуск для вас записали:

Говорили о:

 

Мы планируем записывать выпуски регулярно. Первое время будем пробовать разные форматы, поэтому нам очень важно знать ваше мнение. Пожалуйста, оставьте отзыв и предложения в комментариях.

Скачать выпуск (mp3, 20 MB)
  • michael

    1. у миши как то звук отличается, похоже микрофон похуже, в общем выделяется по сравнению с другими ведущими.

    2. для меня пока в целом сложноват подкаст, но думаю может в будущем смогу больше понимать о чем речь и получать больше полезной информации из него

  • Ребята, круто, молодцы!
    Костя самый уверенный, не зря ведет свой подкаст 😉

    Критика:
    Про web components говорите чепуху:
    – это совсем сырая технология не смотря на _первичную_ поддержку браузеров (все спеки в Editor’s draft)
    – polymer это полифил для web components, который _не_ базируется на них, а эмулирует некоторые части этого стека “технологий” (весьма костыльно надо сказать)
    – сегодня нет ни одного компонента чистой реализации WB (есть ссылки? делитесь!), есть только реализации на библиотеках типа polymer, и без них они не работают, так как эти библиотеки дают фичи, которых нет в спеках (и не планируются), но используются компонентами
    – Object.observe() никак не относится к WB, это предполагаемая часть ES6
    – и т.п. и т.д.

    Другие моменты:
    – Object.observe() помогает понять что что-то поменялось, но работает асинхронно, и поэтому не может применяться в системах требующих немедленной реакции, приводящие их в согласованное состояние… в итоге, если происходит изменение, то оно не будет обработано до следующего code frame, что является недопустимым для большинства систем (если вы меняете свойство “a”, и затем читаете свойство “b”, которое функционально зависит от “a”, вы получите неактуальное значение, так как оно будет вычислено в следующем code frame). Это не говоря о том, что нужно бороться с множественными событиями изменения одного поля и т.п. Таким образом, применение Object.observe() весьма ограничено и не является прямой заменой set/get, и явно не убийца библиотек/фреймворков для работы с данными, как нам продают…
    – если вы разрабатываете сайт или приложение а’ля TodoMVC, то 10 “маленьких” библиотек это ок. Но если приложение “серьезное” – то это обычно 20-30 достаточно больших тесносвязанных модулей какого нибудь фреймворка. Если их разбить на независимые компоненты, то получаем 100-200 модулей, которые зависят друг от друга (+оверхед на абстрагирование и связи). Если проект “сделал и забыл”, то это, наверное, не проблема. Но если проект разрабатывается и поддерживается год-два – это станет кромешным адом (поддержка версий). Кроме того независимые библиотеки полифилят одни и те же вещи (оверхед по коду), обычно плохо интегрируются между собой, забрасываются, имеют тенденцию на смену курса (API) и т.п. Потому для сложных приложений обычно разумней использовать фреймворк, нежели множество мини-библиотек.
    – grunt/gulp/brocolli не являются сборщиками, это менеджеры задач (task runner), одна из популярных задач для них – это сборка (но это не сборщики!). Они отличаются способом обработки файлов и выполнения задач. Говорить про синтаксис описания задач и какой из них больше нравится – это верх дилетантсва!
    – localStorage имеет ограничени 5 Mb, а если учесть, что там можно хранить только строки – то 2,5 Mb, так как строки в JS хранятся как utf16. 2,5Mb не так много и потому basket.js может подойти только для простых (легковесных) приложений и ленивых разработчиков. Технология не нова, например, Яндекс.почта хранит ресурсы (js/css) в localStorage уже года 2-3 😉

    • filipovskii_off

      Рома, больше спасибо за фидбек!

      Я хотел бы возразить по поводу Web Components 🙂

      – Тег , часть WC, поддерживается в Chrome и Firefox http://caniuse.com/#feat=template
      Custom Elements поддерживаются в Chrome и Opera http://caniuse.com/#feat=custom-elements
      Спеки в working draft.

      – Есть Polymer Platform, это как раз полифилы. Есть сам Polymer, это фреймворк на основе WC с блек-джеком и дата-биндингами: http://www.polymer-project.org/docs/polymer/polymer.html

      – Компоненты на чистом WC есть. Посмотри тут: http://customelements.io/
      То, что попалось мне: https://github.com/geelen/x-gif

      – С Object.observe я был не прав, признаю. Он не часть WC.

      • Я и не отрицал поддержку браузерами, написал что поддержка _первичная_, можно считать ее пробной/экспериментальной, так как спеки не готовы и есть еще нерешенные вопросы.

        WC это солянка технологий (стек):
        – HTML imports
        – , который является частью html5 – сложно судить о статусе, так как спека “живая”
        – Custom Elements
        – Shadow DOM

        Спеки есть на w3c, действительно в статусе Working Draft. Но эти версии по большей части устарели. И тот же, вроде официальный, сайт по WC http://webcomponents.org/ ведет на w3c.github.io, где эти спеки в более актуальном состоянии и в статусе Editor’s draft.

        Working draft и Editor’s draft – разные статусы, последний более ранний и даже не считается публичным объявлением спеки. http://stackoverflow.com/questions/6692762/what-is-the-difference-between-a-w3c-working-draft-and-an-editors-draft
        Текущие реализации не гарантируют, что все так и останется и не будет кардинальных изменений или что вообще все отменят и не придумают что-то новое.

        То как быстро устаревают спеки, как меняются и какая путаница с первичной документацией (например, основной документ про WC http://w3c.github.io/webcomponents/explainer/ анулировали, сделали отсылку на wiki http://www.w3.org/wiki/WebComponents/ в которой половина ссылок битая…), показывает насколько еще все в начальной стадии.

        За ссылки на чистые WC спасибо 😉

  • Николай Животворев

    Интересно послушать, ссылки полезные. Спасибо. Будем слушать.