Qu'est-ce qu'un WebWorker ?

Поделиться
HTML-код
  • Опубликовано: 7 янв 2025

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

  • @thecodeprovider
    @thecodeprovider 7 месяцев назад

    Enfin un autre dev JS qui ne mets pas les points virgule comme moi 😍
    En tout cas, ta vidéo sur le multithreading est vraiment excellente, merci 1000 fois !

  • @leclerjeremy1538
    @leclerjeremy1538 3 года назад +5

    Cela serait intéressant de faire une vidéo qui survole les différents webworkers, et peut être approfondir quelques uns. Je ne connaissais pas du tout cette utilisation. Merci beaucoup !

  • @steve-rolandndetsapi5139
    @steve-rolandndetsapi5139 2 года назад

    J'ai beaucoup appris concernant les Web Workers merci

  • @steve-rolandndetsapi5139
    @steve-rolandndetsapi5139 2 года назад

    Le sujet sur les Workers m'intéresse beaucoup

  • @yanivkoubbi3955
    @yanivkoubbi3955 2 года назад

    Jai plusieurs années de dev mais tes contenus sont tres intéressants
    Je viens de decouvrir la fonction qui me fallait pour un projet au bureau merciiiii

  • @justelesnews
    @justelesnews 3 года назад +1

    Vidéo très claire. Très intéressé par les autres workers !

  • @nelsondelize3718
    @nelsondelize3718 3 года назад

    Une vidéo qui tombe à point nommé. Merci

  • @victoretcompagnie5480
    @victoretcompagnie5480 3 года назад +1

    Je connaissais pas mais ça va beaucoup me servir dans mes projets en cours

  • @adrihm8165
    @adrihm8165 2 года назад

    excellente explication merci

  • @jamesjarraud9976
    @jamesjarraud9976 3 года назад

    top ta vidéo. je decouvre les workers 😱👍🏼

  • @pomade34
    @pomade34 2 года назад

    Très bien expliqué

  • @MrSpacemoo
    @MrSpacemoo 2 года назад

    super clair! merci

  • @franckpichard9858
    @franckpichard9858 3 года назад

    Intéressant! J'utilisais les worker dans node directement avec process, du coup on peut maintenant utiliser les workers depuis le navigateur avec webWorker, est-ce qu'il existe un webCluster comme dans process? Je vais aller voir ça

  • @franchescofamous1993
    @franchescofamous1993 3 года назад

    Encore un tres bon contenu

  • @jjgc1504
    @jjgc1504 3 года назад

    Merci superbe vidéo 👌

  • @nanstv
    @nanstv 3 года назад +2

    La question est, que se passe t'il si je clique sur calculer pendant qu'il est déjà en train de calculer ? On peut killer le calcul en cours pour relancer ?

  • @tenchigreed
    @tenchigreed 3 года назад

    Encore du bon travail, bravo

  • @ericshiroe5500
    @ericshiroe5500 3 года назад

    C'est génial tout ça

  • @ibrahimadiamaka1998
    @ibrahimadiamaka1998 3 года назад

    Merci super video

  • @Tel-tk1yv
    @Tel-tk1yv Год назад

    Vidéo top pour s'initier. Un lien pour récupérer et manipuler le code expliqué dans la vidéo aurait été parfait, un github avec les exercices...

  • @darkangel97421
    @darkangel97421 3 года назад

    Wow alors la ! :D :D Je vais utiliser ça dans mes projets directement ahah :D

    • @DevTheory
      @DevTheory  3 года назад +1

      Ahah 😁

    • @darkangel97421
      @darkangel97421 3 года назад

      @@DevTheory Je comprend pas j'avais mis un commentaire, il n'est plus là. j'avais dit : "J'imagine qu'on peut combiner ça avec Fetch ?

    • @DevTheory
      @DevTheory  3 года назад +1

      Ah, je ne sais pas non plus pourquoi, en tout cas : je ne pense pas que ce soit utile non, car fetch ne va faire aucune opération à part attendre une réponse serveur, donc mettre ça dans un thread dédié n'est pas vraiment utile 👍

    • @darkangel97421
      @darkangel97421 3 года назад +1

      @@DevTheory D'accord je comprends merci ta réponse ☺️

  • @walid1717
    @walid1717 3 года назад +1

    Très bien expliqué ! Mais y a t'il un gain particulier comparé à executer une fonction lourde en simple fonction asynchrone vu qu'au final le thread ne sera pas bloqué de la même manière ?

    • @polthm
      @polthm 3 года назад +1

      La réponse m'intéresse aussi :)

    • @DevTheory
      @DevTheory  3 года назад +3

      Intéressante question !
      En fait une opération asynchrone s'exécute quand toutes les opérations synchrones sont finies.
      C'est à dire: dès qu'on lance la méthode asynchrone de notre calcul, elle ne sera pas exécuter tout de suite car il restera surement des tâche synchrones à faire, et que le ces tâches synchrone sont finies: alors il va se mettre à attaquer les tâches async (dont notre calcul).
      Et c'est uniquement quand il aura fini la tâche async qu'il va pouvoir revenir sur les tâches synchrones, pourquoi ? Car comme toujours : il ne peut faire qu'une chose à la fois ("single threaded").
      Donc finalement remplacer le worker par une fonction async ne ferait que retarder le problème, puisqu'aucune tâche synchrone ne serait possible tant qu'il est entrain de résoudre notre calcul async 💯
      Si ce genre de connaissances vous intéressent, je vous conseille fortement la formation JS avancé que je propose, car c'est exactement le sujet ;)
      lvc.devtheory.fr/

    • @walid1717
      @walid1717 3 года назад

      @@DevTheory ok merci, très claire, vraiment un point crucial. Du coup j'ai déjà pris ta formation mais je vais revoir la partie sur l'asynchrone, quelque subtilité ont dûe m'echappé 👍

  • @steve-rolandndetsapi5139
    @steve-rolandndetsapi5139 2 года назад

    J'aimerais beaucoup connaître les extensions VS Code que tu utilises pour du JS 🙏🏾

  • @ilyeselayeb37
    @ilyeselayeb37 3 года назад

    quelles est la meilleur solution entre créé un cluster avec plusieurs instance de notre app node et du coup de l'event loop (par exemple la lib cluster en mode dev ou pm2 en prod ) ou le web worker

    • @DevTheory
      @DevTheory  3 года назад

      Ce sont deux choses assez différentes car l'un est sur le navigateur (webworkers) et l'autre sur un server (pm2 sur Node.js), donc cela va dépendre de l'endroit où tes différents calculs seront fait : client-side ou server-side

  • @augustin_
    @augustin_ 2 года назад

    Les workers fonctionne t-ils avec nodejs?

  • @electroheadfx
    @electroheadfx 3 года назад

    excellent, le webwork se lance sur un thread processeur séparé aussi ?

    • @DevTheory
      @DevTheory  3 года назад +1

      Je ne crois pas ! Et de ce que j'ai vu: les navigateurs ont le choix de l'implémentation qu'ils font pour le fonctionnement des webworkers, tant que les instructions bloquantes ne sont pas communes ✅

  • @mohamedlaminefall6729
    @mohamedlaminefall6729 2 года назад

    N'est-ce pas avec les fonctions asynchrone on peut faire la même chose ?

    • @DevTheory
      @DevTheory  2 года назад

      Les async functions tournent toujours sur le thread principale, et donc si elles font un traitement synchrone (= pas d'attente via fetch ou setTimeout) alors cela bloquera aussi l'interactivité du site web, donc il vaut mieux un worker pour de lourdes opérations synchrones ✅

    • @mohamedlaminefall6729
      @mohamedlaminefall6729 2 года назад

      @@DevTheory Et dans le cas ou on utilise .then() au lieu de await ça tourne toujours sur le même thread ?

  • @stephanehenault4390
    @stephanehenault4390 3 года назад

    Sa semble simpa mais je me posé une question. on peut mettre en place un loader ou encore mieux une barre de chargement ?

    • @DevTheory
      @DevTheory  3 года назад

      On peut totalement ! Il suffit pour ça d'exécuter "postMessage" dans notre worker en indiquant l'avancé du calcul. Par exemple : postMessage( { type: 'progress', value: '34' }) pour indiquer que l'on en a à 34% du calcul.
      Et derrière dans notre app.js au niveau du worker.onmessage il suffit de rajouter une petite condition checkant la valeur de event.data.type pour savoir si c'est 'progress' ou 'result' disons ✅

  • @chlbri
    @chlbri 3 года назад

    Le web worker ne fonctionne pas dans node ?

    • @DevTheory
      @DevTheory  3 года назад

      Les web workers sont effectivement uniquement sous les navigateurs, par contre Node.js a des "Worker threads", cela semble similaire => nodejs.org/api/worker_threads.html

  • @cykablyat867
    @cykablyat867 2 года назад

    Ton accent me détruit XDDDD Le standarde m’a fini

  • @SG48907
    @SG48907 2 года назад

    wallah

  • @Carouan
    @Carouan 2 года назад

    Monnn dieuuuu mais comment se fait-il que Chrome me signifie qu'autant de pages ne répondent pas du coup ?
    Tout le monde n'utilise pas les webworkers qui ont l'air tellement balaize ?
    Ou alors c'est peut-être parce que j'ai souvent 4, 5 fenêtres chrome ouvertes avec des dizaines d'onglets dans chacune ? Et seulement 16Go de Ram ? 🤔😅

  • @daninenglish276
    @daninenglish276 3 года назад

    Je n'aime pas trop tes vidéos d'actu JS, parce que tu parles de beaucoup d'outils qu'on utilise pas forcément et tu m'explique pas ce que ça fait. Mais par contre quand tu te mets expliqué c'est juste parfait

    • @DevTheory
      @DevTheory  3 года назад +1

      Merci pour ton retour ! Je pourrais clairement prendre 10 secondes pour expliquer l'outils en question avant de parler de sa mise à jour, tu as raison ✅

  • @uka87786
    @uka87786 3 года назад

    First

  • @LinuxForLife
    @LinuxForLife 2 года назад

    Les principes sont bien compris, mais les explications sont brouillonnent.
    Dommage !
    Intéressant néanmoins.