I just did the same deep dive a day before you posted this video. I got overwhelmed by the code but I realized there is no magic here, just a complicated algorithm. Initially I thought there is some compile time transformations to make it work. These things helped me understand it better: - Effect signals use zone in some way. - computed signal functions are not executed on every signal change but only when read and still get correct value - Computed signals don't depend on every signal they use but only on those that were executed on the last call. That sounds wrong but actually makes sense. I still don't feel confident with that, so I might have understoos sth wrong 😅 but your video is another small step for me, so thank you
@@JoshuaMorony I just learned "rizer blites" watching an episode of Megyn Kelly earlier today. (Pronouncing "razor blades" with a solid Aussie accent) Keep up the great work, mate!
Great deep dive! Would have loved a few visualization though, had to pause quite a bit to understand what's happening, but now I know that Signals are not as magical as I thought.
I love the video, but even after your detailed walkthrough I could not quite get it how it works internally... Guess I need more practice ahaha, but this a great insight and a good habit I will adhere - to try and understand the inner working of things
Best way by far is to actually look at what the code does In other languages it's much easier to see the source of the dependencies, but in js its also super valuable
Thanks for the video! You've triggered in me the desire to dive into the code myself to better understand signals :) The only feedback I could give you is maybe don't hesitate to slow down your explanations? It's overall quite fast and hard to follow. I've had to go back a few times to keep up with your pace :p
Love the content of this video and all the previous ones! :) If would love to have your point of vue on how to comunicate between two services that has to share data. I'm trying to stick to the angularstart courses, but sometimes it's hard to say what would be the best/preferable approach in complex scenarios. Thanks a lot!
@@JoshuaMorony Hey! nice to reed you 🙂 Well the most common case where I'm a bit hesitating is when I have a form. In my precise case, some service calls a ressource by default. Then another service needs this information to update the form (let's say Select/Option component). But it also changes another "reduced" view of the component that is now a cdk content where items can be selected. I must keep in my state a list of elements, and the currently selected element. 2 services, trying to share independant data. I don't really now if it is really possible to have a "clean" architecture of this case. I'm using toObservable everywhere, doesn't seem right. Bonus point! 😀: What to do with ngxtension connect when you just need to update a forms value with a tap? In my example, clicking an item from the cdk content has to change the form value. So just a single tap is needed. But then the signature does not pass the syntaxic rules. Did I already say that your methodology of sharing state and architecture was a lifesaver for my everyday work?
i am haivng list of items , and at a component i have to pass this from forloop , but using using input i have to convert that item into Signal, but this is the data i am having a card component where by the loop i am calling the card component and passing the data !! but here i am now stuck becuase it is required to have input Type !! , now thinging do i have to use @input or go with signal then how
Why does Angular seem so much more complicated with all this Signals, RxJS and trying to implement declarative coding? I've been an Angular developer for some years but things just seem ever so much more complicated compared to the other frontend tech
If you'd like to sign up to the weekly newsletter: mobirony.kit.com/4a331b9076
it's so cool how passionate you are about the topic
Underrated way of learning
I just did the same deep dive a day before you posted this video. I got overwhelmed by the code but I realized there is no magic here, just a complicated algorithm. Initially I thought there is some compile time transformations to make it work.
These things helped me understand it better:
- Effect signals use zone in some way.
- computed signal functions are not executed on every signal change but only when read and still get correct value
- Computed signals don't depend on every signal they use but only on those that were executed on the last call. That sounds wrong but actually makes sense.
I still don't feel confident with that, so I might have understoos sth wrong 😅 but your video is another small step for me, so thank you
conshumer, great video!
Yup - can't not hear it each time.
Australians have many fun ways of pronouncing things, and thanks!
@@JoshuaMorony I just learned "rizer blites" watching an episode of Megyn Kelly earlier today. (Pronouncing "razor blades" with a solid Aussie accent) Keep up the great work, mate!
Great walk-through. Thanks.
Great deep dive! Would have loved a few visualization though, had to pause quite a bit to understand what's happening, but now I know that Signals are not as magical as I thought.
I love the video, but even after your detailed walkthrough I could not quite get it how it works internally... Guess I need more practice ahaha, but this a great insight and a good habit I will adhere - to try and understand the inner working of things
It's so interesting to follow you down to the basement of Angular, seeing your logic unfold file after file!
I hope to see more videos like this one 🙂
Thanks for the walkthrough! I was just having troubles trying to understand signal's source code earlier today.
As always, love your videos. Although your pronunciation of consumer as "conshumer" (versus consoomer, like "zoom") took the cake for me! :)
Please make detailed video about these so called NODES that you are mentioning in video
Best way by far is to actually look at what the code does
In other languages it's much easier to see the source of the dependencies, but in js its also super valuable
Nice Video as always
Can you explain the new change detection with zoneless and signals?
I have no idea what going on here xd
Would be cool to see custom minimalist version of this for a video
Do you mean like a video with a focus on the "what was learned" part without the searching/exploration?
Just meant if you built a prototype from scratch to explain it... would be cool
@@jonathangamble ah gotcha, yeah I do have that in my list of potential videos
Thanks for the video! You've triggered in me the desire to dive into the code myself to better understand signals :)
The only feedback I could give you is maybe don't hesitate to slow down your explanations? It's overall quite fast and hard to follow. I've had to go back a few times to keep up with your pace :p
Love the content of this video and all the previous ones! :)
If would love to have your point of vue on how to comunicate between two services that has to share data.
I'm trying to stick to the angularstart courses, but sometimes it's hard to say what would be the best/preferable approach in complex scenarios.
Thanks a lot!
It's going to largely depend on the scenario and the architecture you're going for, feel free to elaborate on the situation if you like
@@JoshuaMorony Hey! nice to reed you 🙂 Well the most common case where I'm a bit hesitating is when I have a form.
In my precise case, some service calls a ressource by default. Then another service needs this information to update the form (let's say Select/Option component). But it also changes another "reduced" view of the component that is now a cdk content where items can be selected. I must keep in my state a list of elements, and the currently selected element.
2 services, trying to share independant data.
I don't really now if it is really possible to have a "clean" architecture of this case. I'm using toObservable everywhere, doesn't seem right.
Bonus point! 😀: What to do with ngxtension connect when you just need to update a forms value with a tap? In my example, clicking an item from the cdk content has to change the form value. So just a single tap is needed. But then the signature does not pass the syntaxic rules.
Did I already say that your methodology of sharing state and architecture was a lifesaver for my everyday work?
That's the most imperative code I've ever seen you walk through
It's all imperative if you dig deep enough!
i am haivng list of items , and at a component i have to pass this from forloop , but using using input i have to convert that item into Signal, but this is the data
i am having a card component where by the loop i am calling the card component and passing the data !! but here i am now stuck becuase it is required to have input Type !! ,
now thinging do i have to use @input or go with signal then how
Hello, great video. How did you make the animation at the beginning of the video ??
I'm using Motion Canvas
Bro, this was so difficult to follow... Either you're all just some sort of genius or I need to sleep more
please please let me know whats ur neovim color theme! looks so good
I'm using tokyodark
Could you make a vidoe about hydration and SSR? :)
Needed a how many times you say consumer counter =]
Next time
From the video it sounds like “if you already know how it all works, then you can figure how it all works by looking at the source code” like wut
Why does Angular seem so much more complicated with all this Signals, RxJS and trying to implement declarative coding? I've been an Angular developer for some years but things just seem ever so much more complicated compared to the other frontend tech
As a fresher this explanation is very hard. We need Indian guy to explain this signal 😢😢sorry admin didn't understand.
😂
Seeing activeConsumer (and others) declared as globals... Let's just say that my professors would immediately give me an F.
Starts with 3 circles on a grid, that aren't aligned to the grid.
Unsubbed.
I can change
😂