Опять учить новое? Сигналы (signals) в JavaScript

Поделиться
HTML-код
  • Опубликовано: 13 апр 2024
  • Javascript - язык программирования, который постоянно меняется. Многим это не нравится потому, что необходимо все время что-то учить. Вот теперь появилось предложение добавить в javascript нативные сигналы.
    НЕТ ВОЙНЕ!
    Выразить благодарность
    ko-fi.com/larchanka
    boosty.to/larchanka
    yoomoney.ru/to/410011886858328
    BTC: 127J5x79L9bb7T4jiYJ2U7jHNDLXEx4kT3
    USDT (TRC20): TWRQit8o1JJGWjAph3DZFysygUxSwqiq9Q
    TON: UQBDiFGDTLpp1zWLefv0LnH9TbEeUIcPSoO5uDNwhzktKP33
    Как я стал программистом
    • КАК Я СТАЛ ПРОГРАММИСТОМ
    Как я переехал в Европу
    • Как я переехал в Европу
    Стрим: Карьера программиста
    • Карьера программиста: ...
    VPN, который я использую
    get.surfshark.net/SH1Wy
    ➡️ Сайт: i.mobila.name/xT
    ➡️ Instagram: i.mobila.name/yp
    ➡️ Twitter: i.mobila.name/Ua
    ➡️ Telegram: i.mobila.name/b7d
    👉🏻 Больше влогов здесь:
    #larchankavlog #larchanka
    👉🏻 Ежедневные влоги:
    #larchankadaily
    👉🏻 Чем я снимаю:
    ➡️ iPhone 14 Pro
    ➡️ Еще одна камера: DJi Osmo Action
    ➡️ Еще одна камера: Sony DSC-WX500
    Музыка:
    Fictional Character - Gregory David
    Run for Cover - Matt Large

Комментарии • 82

  • @SurenEnfiajyan
    @SurenEnfiajyan Месяц назад +22

    Пока это всего лишь proposal. Многие такие proposal-ы даже закрыли. Я лично скептично отношусь к этой фиче.

    • @biovawan
      @biovawan Месяц назад

      Почему?

    • @SurenEnfiajyan
      @SurenEnfiajyan Месяц назад +10

      @@biovawan Имеешь ввиду мой скепсис? Я лично считаю, что это, во-первых, делает неявные вещи под капотом (кэширование и менеджмент зависимостей). Это создает вероятность выстрелить себе в ногу и создавать трудно отлавливаемые и отлаживаемые баги. Во-вторых, стейт менеджмент может быть специфичен для каждого фреймворка, и по мне, эта фича не очень универсальна. Даже если это нативно работает быстрее, не значит что надо просто так впихнуть все в язык, превращая ее в свалку.

    • @smith-dev
      @smith-dev Месяц назад +1

      @@SurenEnfiajyan это буквально делают для фреймворков.

    • @SurenEnfiajyan
      @SurenEnfiajyan Месяц назад

      @@smith-dev Знаю, в стандарт они хотят впихнуть всю эту сложность в натив. Просто стейт менеджемент, хотя и распространенная штука, она довольно специфическая, и может быть гораздо сложнее, чем этот стандарт предлагает. Например в Ангуляре RxJS со всеми его премудростями, ChangeDetectorRef и ChangeDetectionStrategy. Про остальные молчу. Создать стей манеджмент на все случаи жизни врядли получится.

    • @biovawan
      @biovawan Месяц назад

      ​@@SurenEnfiajyan Для начала, никто никого не заставляет использовать сигналы. Всё добровольно ;)
      * Неявные вещи: оч даже всё понятно, что откуда и куда присваивается. Будет пример, сможет предметно обсудить. Кэш обновляется функцией `set(...)` и всё, состояние изменено.
      * Выстрелть себе в ногу: сколько программирую с angular и сигналами, пока всё цело XD. Тут можно, конечно, свести к тому, что, мол, малый проект и т.п. Будут примеры, сможем предметно обсудить.
      * Фича не универсальна: слишком абстрактно. Как мы, профи, знаем, всё зависит от задачи; нет "серебряной пули".
      * [...] не значит что надо просто так впихнуть все в язык [...]: давай по порядку. Для чего смешивать тёплое с мягким? Если фича работает быстро, почему ей нельзя существоввать? Каким образом быстродействующий API JS превращяет JS в свалку? Надеюсь ты понимаешь, что любой функционал тестируется и только тогда добавляется в движок. Ах да, тёплое быстродействие, мягкое - свалка.
      Буду рад прочесть более детальную аргументацию ))
      Успехов в изучении JS

  • @HEX_CAT
    @HEX_CAT Месяц назад +1

    Спасибо за классное видео❤❤❤🎉🎉🎉

  • @mikhalpalych
    @mikhalpalych Месяц назад +21

    Не опять учить новое, а, о, что-то новое, чтобы выучить

    • @equim7363
      @equim7363 Месяц назад +6

      Да, давайте заниматься бессмысленной тратой времени

    • @danielluko7635
      @danielluko7635 Месяц назад +2

      так говорят только те, у кого помимо js нет никаких фреймворков

    • @ubobcat
      @ubobcat Месяц назад

      Задрот! Найди наконец-то девушку

    • @maxhermany
      @maxhermany 29 дней назад

      Хватит уже что-то учить, надо жить ☝️🥸

  • @zergon321
    @zergon321 Месяц назад +2

    "My job is to keep our code running while other packages are changing theirs" (C) Interview with Senior JS Developer

  • @biovawan
    @biovawan Месяц назад +3

    4:39 это не смешивание кода, а предоставление инструментария. Для профи нет проблем освоить еще один API. Расширение API происходит из нужды программистов. Кажется что JS сравнивается с другими языками, которые на рынке уже многие десятилетия. Чтобы и JS "устаканился", он так же должен пройти путь "взросления". У меня ещё возникло ощущение, что нынешние начинающие хотят за раз всё и сразу, и стать сеньёром. Не бывает такого. Наберитесь терпения ;) Упорство и труд всё перетрут.
    5:10 в чем проявляется кардинальное изменение? Разве код написанный 15 лет назад перестал работать? Это эволюция языка и обогащение функционалом.

  • @Endru1994
    @Endru1994 Месяц назад

    Да ,вы правы!

  • @user-ij6tq2dn7y
    @user-ij6tq2dn7y Месяц назад +1

    Переменная, которая не меняется - это же круто. Ждем функции, которые не функционируют)

  • @smith-dev
    @smith-dev Месяц назад +2

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

  • @VladimirBattle-li1pw
    @VladimirBattle-li1pw Месяц назад

    Согласен на 100%

  • @AZaytsev90
    @AZaytsev90 Месяц назад +2

    Прикольно. А я даже не знал, что вообще существуют сигналы

    • @klirmio21
      @klirmio21 Месяц назад +3

      Так они не существуют, их еще не добавили

    • @q3articus
      @q3articus Месяц назад

      @@klirmio21 что за бред, в Ангуляр фреймворке например они еще полгода назад появились.

    • @klirmio21
      @klirmio21 Месяц назад +2

      @@q3articus так я тебе не за ангуляр, а за нативный primitive в JS, про который он в этом видео и говорит)

  • @dandyhorsse
    @dandyhorsse Месяц назад

    Геймекьюб лучший подарок
    вы большой молодец!

  • @snatvb
    @snatvb Месяц назад

    Мне нехватает pipe оператора. Предложиои давно, висит до сих пор 😢

  • @Akira-zv6pt
    @Akira-zv6pt Месяц назад +5

    Миш, возвращай старые превью к роликам, они были очень вайбовые и выделялись от всех остальных!

    • @biovawan
      @biovawan Месяц назад +1

      Что изменилось?

    • @dizzivoneverec2737
      @dizzivoneverec2737 Месяц назад

      ​@@biovawanто что голова сидит 1/3 видоса дома, потом 2/3 на улице в парке и добивает все в машине, да ?

  • @user-gv1cq4jn1g
    @user-gv1cq4jn1g Месяц назад

    Ну сигналы и так можно реализовать с помощью внутренних фишек js. Лучший в этом помощник Proxy, который используется для реализации реактивности почти во всех последних версиях нынешних фреймворков (поправьте, если ошибаюсь). Про сигнали не читал, но будто это ещё одна обёртка над этим же функционалом

  • @ashm_tech
    @ashm_tech Месяц назад

    Миша, пожалуйста подскажи стоит ли углубиться в fullstack или лучше углубляться в бэк? Для трудоустройства в ЕС/США компаниях

  • @dmitriyzakharov3696
    @dmitriyzakharov3696 Месяц назад +1

    "Эволюция в сторону увеличения производительности мне нравится больше" - так вот сигналы поэтому и появились) а про "стабильность" можно забыть)
    P. S. я юзаю сигналы в проде и пропозал скорее для реализации фреймворками нежели для обычного использования

    • @kirills4631
      @kirills4631 Месяц назад

      Да, все равно над сигналами будут обертки с доп функционалом в виде либ и стейт-менеджеров. Вообще 90% того что принимают в proposal лоббируют для реализаций инструментов по спеке в интересах компаний-"ментейнеров", а не для применения при разработке интерфейсов.

  • @funkytapir
    @funkytapir Месяц назад

    Тоже соглашусь. То что сейчас делают с изменением Swift в сторону Tasks мне плакать хочется...
    "Перемен требуют наши сердца"

  • @trash2trash
    @trash2trash Месяц назад

    Миша, ведь реактивное программирование было всегда в десктоп приложениях... просто есть реактивность (two-way bind на десктопе) на автоматизированную и ручную.

  • @MaximKopylov
    @MaximKopylov Месяц назад +2

    Пацан в конце видео полностью кооопия Даша 😂😂 Как две капли

    • @dashakoval3534
      @dashakoval3534 Месяц назад +1

      ну на Мишу тоже похож! )

  • @SergioKornelius
    @SergioKornelius 19 дней назад

    концепция сигналов: Ленивая реакивность

  • @ram_bayer
    @ram_bayer Месяц назад

    Миша за константы и против переменных)

  • @romandeveloper7720
    @romandeveloper7720 Месяц назад +1

    Слушай, так, по-моему, все языки перенимают какие-то штуки крутые из других языков)
    А насчет того, что стабильности - ну тут вопрос развития. Пусть в нашем мире хоть один язык такой будет, где бурное развитие непрерывное, ведущее к чему-то новому и прорывному. ДЖС уже сделал прорывы в проге, не за горами новые, надеюсь. Когда-нибудь JS переборщит конкретно, мб да, но это даст дорогу новым языкам и технологиям, которые учтут предыдущий печальный опыт

    • @daiske2867
      @daiske2867 Месяц назад

      да только в этом уравнении есть 1 ошибка, js не умрет так как он постоянно меняется и постоянно в себе вмещает не вмещаемое все просто прийдет к тому, что js будет языко-ориентированным языком, создавая для каждого проекта свой dsl исключая при этом фактор фреймворков

    • @romandeveloper7720
      @romandeveloper7720 Месяц назад

      @@daiske2867 ну вот, что-то новое опять будет)

  • @dever4eg
    @dever4eg Месяц назад

    Хочется стабильности то надо в джаву переходить 😅

  • @aleksandr_anp
    @aleksandr_anp Месяц назад

    1:31 генераторы елды? 😮 Это реально какой-то асинк-авэйт...)))

  • @crypto_octocat
    @crypto_octocat Месяц назад

    Ретрогейминг форевер

  • @joymusicstudio1
    @joymusicstudio1 Месяц назад +3

    А Даша это Жена?

  • @konstantinhagelgans3837
    @konstantinhagelgans3837 Месяц назад

    Вы просто стареете Михаил

  • @virnus1
    @virnus1 Месяц назад

    То чувсвто когда видишь превью на ролик в ютюбе типа: "теперь такая то фича в JS дольше не нужна появилась новая более крутая", а ты ещё даже не успел приступить к изучению той устаревшей.

  • @ugin-nb4sy
    @ugin-nb4sy Месяц назад

    Не Ву, а Вьюи это произношение с француского Vue !!

  • @sergeyfilatov3027
    @sergeyfilatov3027 Месяц назад

    Ну не знаю, сам язык меняется оооочень медленно, тут не вижу проблем, а вот с бесконечно появляющимся либами которые через месяц устаревают как раз хотелось бы большей стабильности

  • @kenjz8413
    @kenjz8413 Месяц назад

    Давно смотрю твои видео но как-то так случилось что никогда не видел твоё аутро, спасибо 💙💛

  • @frusen_sol
    @frusen_sol Месяц назад +1

    используем Preact Signals для управления состоянием в Реакт приложении, супер удобно

    • @biovawan
      @biovawan Месяц назад

      Используем angular signals. Супер удобно

  • @artyomnomnom
    @artyomnomnom Месяц назад

    "Хочется стабильности" - стареешь Миша)

    • @SurenEnfiajyan
      @SurenEnfiajyan Месяц назад

      Веб обычно обратно совместим, ну то есть то что поддерживают браузеры нативно.

  • @ashimov1970
    @ashimov1970 29 дней назад

    да ладн. сигналы привнесут в джаваскрипт намного больше плюсов чем минусов в плане DX

  • @benzed1618
    @benzed1618 Месяц назад +1

    ЖИРНАЯ РЫБА МЕДЛЕНО ПРОГРЕСИРУЕТ
    МЕЛКАЯ РЫБА БЫСТРЕЕ ПРОГРЕСИРУЕТ В ОБЛАКО ИИ
    СЛЕДУЮЩИЙ ЛВЛ

  • @AlexanderBorshak
    @AlexanderBorshak Месяц назад

    Зачем постоянно тянуть в ядро языка то, что можно сделать в виде библиотеки? Тем более что "сигналы" подозрительно похожи на классический шаблон Pub/Sub...

  • @maximevtahov2360
    @maximevtahov2360 Месяц назад

    ну, типо, то, что раньше реализовывалось концепцией редакс, для контроля ререндера компонентов приложения теперь пытаются реализовать нативно. Зачем -- не понятно, ясно же, что на каждой переменной юзать сигналы бессмысленно. Это имеет смысл, когда изменение данных инициирует какую-то тяжеловесную процедуру, но примеры, по типу представленного в видео притянуты за уши, ну давайте сигналы вешать на любое потенциальное изменение любой переменной, онаж всё-таки переменная, а значит может измениться, а значит сигналы тут вполне уместны. Вырастет ли от этого производительность -- сомневаюсь

    • @daiske2867
      @daiske2867 Месяц назад

      производительность вырастет, тогда когда люди будт осознавать цену решений принимаемых при разработке, как на это может повлиять не добавление чего-то мне не хватает компетенции, другой вопрос, что если существует концепт, который по сути используют часто, не добавить нативно, чтобы не приходилось людям интегрировать готовые, но не стандартизированные решение к себе в проект без смазки. Другой вопрос, а в чем принципиальная разница этих сигналов от уже существующих проксей?

    • @user-yw9wx4lv2w
      @user-yw9wx4lv2w Месяц назад

      @@daiske2867 "а в чем принципиальная разница этих сигналов от уже существующих проксей" - а что у них общего? Это же вообще о разном

  • @EdwardNorthwind
    @EdwardNorthwind Месяц назад

    Ты же сам жаловался, что каждые полгода учишь новый язык просто потому что в родном направлении некуда расти, вот теперь есть - а ты снова недоволен)))

    • @user-yw9wx4lv2w
      @user-yw9wx4lv2w Месяц назад

      от того что кто-то научится работать с сигналами, он особо не вырастет) Это просто еще один интрумент

  • @Torbjorn-ph7rt
    @Torbjorn-ph7rt Месяц назад

    Сомнительно, но окей.

  • @osad4enko
    @osad4enko Месяц назад

    Это какой то изрвращенный rxjs на минималках

  • @404Negative
    @404Negative 10 дней назад

    продемонстрированный код с сигналами выглядит как мусор. надеюсь этот пропоссал не пойдёт на следую стадию

  • @almit9198
    @almit9198 Месяц назад

    Накину на вентилятор: жаваскрипт - самая большая ошибка в области программирования, которую могли совершить программисты. (В других языках тоже не без этого, но оно локальное: например отступы в питоне вместо скобок; или безумный синтаксис в перле, или $this-> в php и пр.) Но вот жаваскрипт - это всё одна большая ошибка, примерно совершённая в момент, когда он из нетскейпа переполз в гугл руки. И сейчас жаваскрипт выглядит как почта гугла - без слёз никак...

  • @Torbjorn-ph7rt
    @Torbjorn-ph7rt Месяц назад

    У вас код не читаемый - табы вместо пробелов.
    В то же время зоопарк фреймворков: ...

  • @mikep541
    @mikep541 Месяц назад

    Соглашусь с Мишей, хочется стабильности, а не постоянно обучаться)))

  • @adamburke4496
    @adamburke4496 Месяц назад

    Надо сваливать с фронта куда-нибудь, где каждый месяц "новый убийца всего" не выходит и не нужно всем срочно нужно его бежать учить

    • @user-yw9wx4lv2w
      @user-yw9wx4lv2w Месяц назад

      а когда последний раз выходил "убийца всего"? Возможно просто стоит повзрослеть и перестать читать только заголовки?

  • @25x8.
    @25x8. Месяц назад

    Про сигналы с 3:00, по существу ничего
    Видео пустое, дизлайк

  • @DreamingDolphing
    @DreamingDolphing Месяц назад

    Javascript давно надо полностью переписать и половину выкинуть.