RxJS é massa demais! Já uso tem um tempo mas quando vi que falaria desse assunto não poderia deixar de assistir pra prestigiar sua didática que usa de um vocabulário tão espontâneo 😂
De todas as tecnologias que ja trabalhei Angular é minha favorita de longe, e mano tuas aulas são fora da curva de boas, ja aprendi coisa demais contigo. Simples, didatico e engraçado, tudo oq um dev precisa. Obg
Muito bom, bem didático. Depois que migrei de vue e react para angular, comecei a usar muito o rxjs e tbm singleton para compartilhar informações entre componentes. Fica bem organizado e fácil de entender
Mto bom o vídeo mano! Não curto o NGRX também. Acompanhei um outro tutorial e fiz toda essa implementação de gerenciamento de estado com Signals. Achei bem dahora. Tenta usar o # no lugar de private. Saiu em alguma das releases aí do Typescript. Economiza um pouquinho kkkkkkkk Abraços!
Para uma aplicação pequena eu acho interessante essa abordagem. Mas quando vc está trabalhando com um app grande ou ainda com microfrontend é bem mais fácil deixar o NGRX gerenciar os states para você. Esse filter que você fez no seu serviço devia estar no BE essa lógica.
Ngrx é muito legal, mas muito complexo. Por isso estou trabalhando com ngxs ele é maravilhoso e muito mais simplificado e de mais fácil entendimento, juntando ele com a arquitetura limpa no angular se torna uma combinação perfeita. Trás uma aula pra gente Crisss 🙏🏽
RXJS e maravilhoso, aprendi a usar estado com ele. aqui poderia fazer um conteúdo sobre tratar TS? tipo como fugir do any, e em que momento a gente tipa? abraços.
Grande Criss... Muito bom... A gente consegue esse mesmo resultado utilizado signals para o estado (signal ≈ BehaviorSubject, computed ≈ listenChanges). A gente pode, mas será que a gente deve? O que acha dessa abordagem?
Ótimo vídeo! Minha opinião é que as bibliotecas tem propositos diferentes, o RxJs pode ser utilizado em qualquer app js para se ter reatividade, enquanto NgRx surgiu para realmente resolver um problema de gerenciamento de estado do angular, inclusive no vídeo você manipulou apenas a variável livro, seria bom tentar fazer todo um contexto de uma página real, que seria manipular erros e diversas outras variáveis que possam estar no seu componente, e depois tentar fazer um 'select' de apenas uma fatia dessas variáveis, fazer isso com rxjs vai virar uma 'bagunça'. Por outro lado quando entendemos a arquitetura do NgRx tudo fica muito simples e extremamente bem definido, o ideal é entender se a nossa aplicação realmente precisa de um gerenciamento de estado global ou não.
Discordo, seria muito simples simular o comportamente do Select com Um Map do Rxjs, inclusive, gerenciamento de erro, ficaria super simples de ser gerenciado usando o CatchError... Tudo isso nativo e sendo gerenciado pelo pipe async...
Cristian, parabéns pela capacidade de comunicação, nível técnico e pela empatia. No entanto acho que é está a ser um pouco redutor no facto de comparar o rxjs com o ngrx porque são situações distintas. Um exemplo simples: se tiver um status (pending, submiting, loading, saving) que condicione o comportamento dos componentes isso não faz muito sentido que esteja num Service. Pode ter multiplos services...
Fala Cris! Estou tentando implementar o rxjs no meu projeto e o vídeo me ajudou muito! No vídeo vc utilizou dois services de livro como exemplo (livro.service e livro-state.service)... gostaria de saber se em um projeto real, vc realmente usaria 2 services como foi feito no exemplo, ou teria apenas um service manipulando os estados e gerenciando as chamadas a api.
So um ponto, a instancia/escopo de um singleton é definido pelo seu provider, por padrão a nível de aplicação (providedIn: 'root'), mas existe a possibilidade de vc definir essa instancia a nivel de modulo ou componente.
Eu sempre disse isso... ano passado entrei em uma empresa que trabalhavam com NgRx e disse que era desvantagem mas cagaram. Dale boilerplate, saí da empresa no mês seguinte e entrei onde queria a um tempo.
Você acha interessante ter um serviço facade para o componente não manipular diretamente o state? O componente usaria o facade e o facade mexeria no state.
Ótimo vídeo. RXJS sempre foi o suficiente pra mim, mas gostaria de ver um caso em que o NGRX brilhasse. Tu tem algum vídeo em que o NGRX se torna vantajoso?
uma parada que me pegou é que ngrx e ngxs sozinhos perdem o estado se o usuário der F5 ( o que quase nunca acontece kkk) e sempre precisamos jogar isso em algum canto do navegador pra persistir. mas cara, a ideia de usar o rxjs ou signals deixa o código absurdamente mais simples
Conteúdo muito bom, obrigado por compartilhar. Atualmente, utilizo o NgRX nas aplicações que atuo e confesso que é realmente moroso criar toda essa estrutura e trabalhar em cima dela. Porém, essa segunda abordagem é muito simples e intuitiva e com isso, geram algumas dúvidas e adoraria entender sua percepção sobre elas: 1 - Com a primeira abordagem, é mais simples analisar utilizando o redux devtools. Como você faz para lidar com isso na segunda abordagem? 2 - Em uma aplicação onde teremos compartilhamento de dados, utilizando a primeira abordagem podemos selecionar "pedaços" de conteúdo simplesmente com o selector, nesse caso, não seria um pouco mais viável em aplicações grandes e complexas? 3 - Há algum ganho de performance na segunda abordagem? Visto que na primeira você executaria mais "comandos" para determinados resultados. Por fim, uma pergunta tola: Como você estrutura hoje suas aplicacões? Venho pesquinsando e acho conteúdo diversos com padrões diferentes. Tento me aproximar ao máximo do padrão que a própria doc do Angular disponibiliza mas as vezes percebo um certo gargalo. Por exemplo, as actions ficam a nível de componente ou de módulo? Se tiver um tempinho e puder responder ou indicar algum material, ficarei muito grato
1 - Próprio Debug ou pelo Angular DevTools 2 - A ideia é ter uma services para cada "pedaço", e você usar apenas as necessárias no seu componente. Então de certa forma ao usar, você já está "selecionando". 3 - Sim, como cada "pedaço" é salvo em sua própria service, não é mais necessário gerenciar um "objeto gigante" de todo state da sua aplicação. Pergunta tola: A ideia do Angular é que sempre a regra de negócio fique nas Services, assim é possível compartilha-lá o máximo possível entre os componentes.
Obrigado pelas respostas... É isso memso mano! Sobre o selector, a ideia é dividir os contextos entre services, e caso queira selecionar mais alguma coisa, é só usar o Map do RXJS
o comando ng new respeita a versão da CLI mano, se quiser executar em uma versão antiga, minha dica é instalar a CLI localmente na versao que desenha e dentro da pasta instalada, usar o ng new
Por isso mostrei com o pipe async, mas mano, voce me deu uma ideia, criar agora um conteudo transformando isso em signals sauhhuashusauhsa, vai ser mais remover código que adicionar eu imagino uhashusahu
Eu sempre implementei estados com o RxJS, até tenho uma noção do NgRx, mas NUNCA vi necessidade de usar isso. Pq eu deixaria de usar uma ferramenta "nativa" que nos dá todos os recursos (e muito mais) pra usar NgRx? Aqui me parece que a galera do NgRx teve o ego ferido pela galera do RxJS.
o cara ensina gerenciamento de estado, RxJs, POO e alguns Design Patterns e tudo num só vídeo, é uma lenda mesmo hahaha
Obrigado, seus videos estão me ajudando de mais no aprendizado de Angular.
Parabéns Cristian, gosto muito dos seus vídeos.
Po mais uma aula sensacional, Cris. Obrigado mais uma vez pelo conhecimento passado cara. Bom demaais
Rxjs e uma service o mundo é nosso Cris, aula massa demaisss!
RxJS é massa demais! Já uso tem um tempo mas quando vi que falaria desse assunto não poderia deixar de assistir pra prestigiar sua didática que usa de um vocabulário tão espontâneo 😂
De todas as tecnologias que ja trabalhei Angular é minha favorita de longe, e mano tuas aulas são fora da curva de boas, ja aprendi coisa demais contigo. Simples, didatico e engraçado, tudo oq um dev precisa. Obg
Trabalho impecável!
Fino demais o conteudo irmão!! Parabéns por compartilhar conhecimento
Muito bom, bem didático. Depois que migrei de vue e react para angular, comecei a usar muito o rxjs e tbm singleton para compartilhar informações entre componentes. Fica bem organizado e fácil de entender
Eu ja usava dessa forma, mas consegui pegar umas sacadas novas. Parabéns pelo conteúdo.
Excelente aula meu querido. Eu tbm prefiro usar RxJS do que NgRx.
Boa cara! No outro vídeo de NgRx realmente fiquei com esse questionamento de que parecia mais fácil usar o NxJs. Esclarecido!
Dahora mano, isso ajuda muito a gente a não ficar pirando em NGRX , usa essa p.... só se precisar mesmo. Sempre vendo os videos!
Exatamente mano, vlw demais pelo comentário!
Essa garrafa de suco de uva Aurora hein? Conheço kkkkkk
Vlw demais pelos videos mano! Tao Junto demais!
Eu basicamente trabalho assim no Angular tbm, mto melhor!! Vídeo top demais.
Show! explicação ficou clara.
O cara realmente sabe muito, fala das coisa de um jeito muito foda e bebe agua em garrafa de suco de uva de vidro, muito sabio.
Muito massa Cristian!
E aqui estamos
Parabéns Cristian, poderia fazer um vídeo usando signals?
Teremos em mano!
Muito bom. Eu usei muito o Ngxs, devido a um projeto em que estava. Sinceramente eu gostei e parece ser mais simples que o Ngrx 😅.
Vídeo muito bom
Só conteúdo de qualidade
Video top, ajudou demais no uso RxJs!
Mto bom o vídeo mano!
Não curto o NGRX também. Acompanhei um outro tutorial e fiz toda essa implementação de gerenciamento de estado com Signals. Achei bem dahora.
Tenta usar o # no lugar de private. Saiu em alguma das releases aí do Typescript. Economiza um pouquinho kkkkkkkk
Abraços!
Para uma aplicação pequena eu acho interessante essa abordagem. Mas quando vc está trabalhando com um app grande ou ainda com microfrontend é bem mais fácil deixar o NGRX gerenciar os states para você.
Esse filter que você fez no seu serviço devia estar no BE essa lógica.
@@flavioarantesdoamorimbarce95 discordo totalmente sobre a parte do ngrx, sobre o filter, foi só um exemplo 🙃
Ngrx é muito legal, mas muito complexo. Por isso estou trabalhando com ngxs ele é maravilhoso e muito mais simplificado e de mais fácil entendimento, juntando ele com a arquitetura limpa no angular se torna uma combinação perfeita. Trás uma aula pra gente Crisss 🙏🏽
Parabéns pela aula! Uma dúvida, você acha que esse mesmo modelo pode ser usado em projetos de grande porte?
Totalmente, isso ficaria muito mais simples de dar manutenção...
RXJS e maravilhoso, aprendi a usar estado com ele.
aqui poderia fazer um conteúdo sobre tratar TS? tipo como fugir do any, e em que momento a gente tipa?
abraços.
Mano, a gente tipa o tempo todo... Dificilmente teremos situações onde o any é indicado
@@cristianwilliamdev Se puder faze rum video sobre, acho que e uma duvida de muita gente, o uso correto de TS?. obrigado pela resposta,
Grande Criss... Muito bom... A gente consegue esse mesmo resultado utilizado signals para o estado (signal ≈ BehaviorSubject, computed ≈ listenChanges).
A gente pode, mas será que a gente deve?
O que acha dessa abordagem?
Acho perfeito a ideia mano, seria um próximo passo brother 👏🏻👏🏻
Bacana cara, show. Mais agora com versões mais novas, você não acha melhor manter o estado via Signals?
Daria também sem problemas mano
É que por signals ser muito novo ainda no Angular, decidi fazer com RXJS pois há mais projetos usando, da pra trazer no dia a dia
Ótimo vídeo!
Minha opinião é que as bibliotecas tem propositos diferentes, o RxJs pode ser utilizado em qualquer app js para se ter reatividade, enquanto NgRx surgiu para realmente resolver um problema de gerenciamento de estado do angular, inclusive no vídeo você manipulou apenas a variável livro, seria bom tentar fazer todo um contexto de uma página real, que seria manipular erros e diversas outras variáveis que possam estar no seu componente, e depois tentar fazer um 'select' de apenas uma fatia dessas variáveis, fazer isso com rxjs vai virar uma 'bagunça'. Por outro lado quando entendemos a arquitetura do NgRx tudo fica muito simples e extremamente bem definido, o ideal é entender se a nossa aplicação realmente precisa de um gerenciamento de estado global ou não.
Discordo, seria muito simples simular o comportamente do Select com Um Map do Rxjs, inclusive, gerenciamento de erro, ficaria super simples de ser gerenciado usando o CatchError... Tudo isso nativo e sendo gerenciado pelo pipe async...
Cristian, parabéns pela capacidade de comunicação, nível técnico e pela empatia. No entanto acho que é está a ser um pouco redutor no facto de comparar o rxjs com o ngrx porque são situações distintas. Um exemplo simples: se tiver um status (pending, submiting, loading, saving) que condicione o comportamento dos componentes isso não faz muito sentido que esteja num Service. Pode ter multiplos services...
comecei a acompanhar seu conteúdo aqui no youtube, tem alguma comunidade pro pessoal se comunicar?
Ainda não mano, parece ser uma boa em hahaha
@@cristianwilliamdev olha aí, ia ser top kkkk
Ótimo video mano, em 90% dos casos prefiro usar RxJs do que o NGRX ou NGXS, principlamente por causa dos testes.
Fala Cris! Estou tentando implementar o rxjs no meu projeto e o vídeo me ajudou muito! No vídeo vc utilizou dois services de livro como exemplo (livro.service e livro-state.service)... gostaria de saber se em um projeto real, vc realmente usaria 2 services como foi feito no exemplo, ou teria apenas um service manipulando os estados e gerenciando as chamadas a api.
@@brenner8664 uma service já seria o suficiente manow, tmj 👏🏻🤘🏻
So um ponto, a instancia/escopo de um singleton é definido pelo seu provider, por padrão a nível de aplicação (providedIn: 'root'), mas existe a possibilidade de vc definir essa instancia a nivel de modulo ou componente.
Boaaa mano! Obrigado por acrescentar detalhes 👏🏻👏🏻👏🏻
muito legal ...parabéns!!
Top demais!
foda pra caralho. Vlw demais pelo vídeo
Eu sempre disse isso... ano passado entrei em uma empresa que trabalhavam com NgRx e disse que era desvantagem mas cagaram. Dale boilerplate, saí da empresa no mês seguinte e entrei onde queria a um tempo.
Você acha interessante ter um serviço facade para o componente não manipular diretamente o state? O componente usaria o facade e o facade mexeria no state.
Não entendi qual seria o o problema de um componente chamar uma service diretamente…
@@cristianwilliamdev Não acho um problema. Só vi alguns exemplos com essa separação de responsabilidades.
Ótimo vídeo. RXJS sempre foi o suficiente pra mim, mas gostaria de ver um caso em que o NGRX brilhasse. Tu tem algum vídeo em que o NGRX se torna vantajoso?
Up
Cara, pra mandar a real, em todo meu tempo de exp, se tu souber usar o RXJS dificilmente vai querer usar o NGRX... Pra mim é mais questão de opinião
Nos projetos em angular que trabalhei, nenhum teve a necessidade de utilizar ngrx
vc eh bizarro de bom dog!
uma parada que me pegou é que ngrx e ngxs sozinhos perdem o estado se o usuário der F5 ( o que quase nunca acontece kkk) e sempre precisamos jogar isso em algum canto do navegador pra persistir.
mas cara, a ideia de usar o rxjs ou signals deixa o código absurdamente mais simples
Conteúdo muito bom, obrigado por compartilhar.
Atualmente, utilizo o NgRX nas aplicações que atuo e confesso que é realmente moroso criar toda essa estrutura e trabalhar em cima dela. Porém, essa segunda abordagem é muito simples e intuitiva e com isso, geram algumas dúvidas e adoraria entender sua percepção sobre elas:
1 - Com a primeira abordagem, é mais simples analisar utilizando o redux devtools. Como você faz para lidar com isso na segunda abordagem?
2 - Em uma aplicação onde teremos compartilhamento de dados, utilizando a primeira abordagem podemos selecionar "pedaços" de conteúdo simplesmente com o selector, nesse caso, não seria um pouco mais viável em aplicações grandes e complexas?
3 - Há algum ganho de performance na segunda abordagem? Visto que na primeira você executaria mais "comandos" para determinados resultados.
Por fim, uma pergunta tola:
Como você estrutura hoje suas aplicacões? Venho pesquinsando e acho conteúdo diversos com padrões diferentes. Tento me aproximar ao máximo do padrão que a própria doc do Angular disponibiliza mas as vezes percebo um certo gargalo. Por exemplo, as actions ficam a nível de componente ou de módulo?
Se tiver um tempinho e puder responder ou indicar algum material, ficarei muito grato
1 - Próprio Debug ou pelo Angular DevTools
2 - A ideia é ter uma services para cada "pedaço", e você usar apenas as necessárias no seu componente. Então de certa forma ao usar, você já está "selecionando".
3 - Sim, como cada "pedaço" é salvo em sua própria service, não é mais necessário gerenciar um "objeto gigante" de todo state da sua aplicação.
Pergunta tola: A ideia do Angular é que sempre a regra de negócio fique nas Services, assim é possível compartilha-lá o máximo possível entre os componentes.
Obrigado pelas respostas... É isso memso mano!
Sobre o selector, a ideia é dividir os contextos entre services, e caso queira selecionar mais alguma coisa, é só usar o Map do RXJS
brabo demais!!
Like no video, sempre
Como eu faço pra usar o Angular no Framework7.
o comando ng new respeita a versão da CLI mano, se quiser executar em uma versão antiga, minha dica é instalar a CLI localmente na versao que desenha e dentro da pasta instalada, usar o ng new
Melhor que o RxJS e NgRx é usar signals, porque se você se esquecer de desinscrever do observer ele vai consumir recursos em background.
Por isso mostrei com o pipe async, mas mano, voce me deu uma ideia, criar agora um conteudo transformando isso em signals sauhhuashusauhsa, vai ser mais remover código que adicionar eu imagino uhashusahu
fala Cristian , qual é o app que voce usa p fazer a anotaçao na tela?
Screen Brush brow
Eu sempre implementei estados com o RxJS, até tenho uma noção do NgRx, mas NUNCA vi necessidade de usar isso.
Pq eu deixaria de usar uma ferramenta "nativa" que nos dá todos os recursos (e muito mais) pra usar NgRx?
Aqui me parece que a galera do NgRx teve o ego ferido pela galera do RxJS.
Haahahah você nem tá ligado da galera que vem chamar eu pra tentar convencer que ngrx é útil sim hahahah
O cara é o Padre Fábio de Melo da programação 😂
🔥🔥🔥
Comentariozinho do engajamento
Tu é pica mesmo mano!
bota uma treta ai no comentário kkkkk