Arquitetura e Design de Front-end para Aplicações Escaláveis: Guia Completo

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

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

  • @TheMathues123
    @TheMathues123 Год назад +6

    Mano, obrigado demais por falar o porque das coisas sem simplesmente só estar ensinando conteúdo pobre e sem valor. Você e seu canal são extremamente necessários. Continue assim, sempre! ;)

  • @DaniloJr
    @DaniloJr Год назад +1

    Vídeo muito aguardado. Cada vídeo melhor que o outro nesse canal! Vlw d+, Matheus!

  • @roohvieeira
    @roohvieeira Год назад +2

    To com dificuldades para refatorar as arquiteturas que já existe no front do meu trabalho, esse vídeo clareou muito! Valeuuuu!

  • @iurylemos2020
    @iurylemos2020 3 месяца назад +1

    Muita qualidade!! Valeu pelo conteúdo

  • @igorgoncalves5691
    @igorgoncalves5691 3 месяца назад +1

    Quando tu fala da pasta interfaces eu fico pensando muito em interfaces em OO, mas a ideia aí que tu quer passar é de interfaces UI, ou seja te do a responsabilidade de renderização, correto? No caso ao usar views ao invés de interface foge o propósito? Home.view.tsx por exemplo

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 месяца назад +1

      Fala Igor, sem problemas, eu usei views por um bom tempo antes de interfaces, agora eu estou usando uis para representar essa pasta.

  • @fernandooliveira1097
    @fernandooliveira1097 Год назад +2

    Muito bom Matheus.

  • @JuniorMarquess
    @JuniorMarquess Год назад +2

    Muito massa!

  • @hitaloschraiberloose1684
    @hitaloschraiberloose1684 Год назад +3

    O que acha de ter interfaces de funções, como IGetProducts, usar isso pra injetar na page, assim ia facilitar no testes, pois é só criar uma implementar mockada dessa função, vejo muito isso em backend, mas em front muito pouco. Se vc faz isso como separa os arquivos?

    • @MatheusCastiglioni
      @MatheusCastiglioni  Год назад +1

      Fala Hitalo, eu faço algo assim sim, no caso eu definiria a propriedade como:
      type TProps = {
      getProducts: () => Product[]
      }
      export const ProductsListInterface: React.FC = () => (...)
      Ai no teste eu mock essa função com Jest caso queira escrever um teste unitário para a interface:
      render()
      Ou podemos mockar a API com Mirage ou MSW para escrever o teste de integração.

  • @joaofilipe4672
    @joaofilipe4672 10 месяцев назад +1

    Poxa valeu pela ajuda!!! Estou estudando sobre isso esses dias e o vídeo me ajudou muito. Abraços

  • @bsantozs
    @bsantozs 7 месяцев назад +1

    Excelente vídeo! To começando a estudar arquitetura e clareou muita coisa. Valeu!

  • @vandercesar4356
    @vandercesar4356 Год назад +3

    Parabéns, muito bom o vídeo!
    Uma dúvida, quando a interface do subdomínio home precisa interagir com outros componentes de outros subdomínios. Exemplo: Na home carrego produtos e serviços. Como fica a organização e importações?

    • @MatheusCastiglioni
      @MatheusCastiglioni  Год назад +2

      Fala Vander, obrigado. Isso vai depender muito to nivel de acoplamento e autonomia que tu precisa atingir.
      Caso acoplamento e isolamento seja um requisito muito importante para a característica de arquitetura tu pode criar um serviço na home para lidar com as requisições (provavelmente irá repetir código).
      subdomains/home/api.js
      subdomains/home/queries.js
      subdomains/home/service.js
      ...
      Porém, caso acoplamento não seja algo de extrema importância e está tudo bem existir dependência diretas entre seus sub dominios, tu pode simplesmenter importar os arquivos utilizando o alias que eu comentei:
      import { service } from '@subdomains/products/service'
      ...
      Após definir se está tudo bem ou não ter esse acoplamento tu pode seguir com a solução A ou B.

  • @rosenosilva7369
    @rosenosilva7369 9 месяцев назад +1

    Eu curti e acho que entendi mas se fizer um projeto exemplo utilizando isso aí de arquitetura e design front poderíamos ver como você pensa ao entrar em alguns problemas enquanto desenvolve seguindo a linha de raciocínio dessa arquitetura aí

    • @MatheusCastiglioni
      @MatheusCastiglioni  9 месяцев назад

      Fala Roseno, já me pediram bastante isso viu, em breve vou postar algum video aplicando tal arquitetura e técnicas na prática.

  • @phillipnunes86
    @phillipnunes86 Год назад +2

    @Matheus gostei, só não entendi como funcionaria essa estrutura de pastas dentro do esquema de rotas do Next, onde ele usa a estrutura de pastas dentro do pages pra montar as rotas. Nessa estrutura aí perderia o benefício do roteamento da pasta pages? Sem usar ela eu só saberia fazer usando React router, é essa a intenção? Obrigado @Matheus Castiglioni

    • @MatheusCastiglioni
      @MatheusCastiglioni  Год назад +2

      Fala Phillip, tudo bem? No vídeo eu fiz o exemplo exatamente utilizando o sistema de rotas do Next, porém eu importei diretamente o container quando na verdade deveria ter utilizado o arquivo routes.ts de cada subdominio? Atualizei o projeto de exemplo, dá uma olhada nesses dois arquivos:
      github.com/mahenrique94/video-arquitetura-projetos-front-end-next/blob/main/src/app/page.tsx
      github.com/mahenrique94/video-arquitetura-projetos-front-end-next/blob/main/src/subdomains/home/routes.ts

    • @phillipnunes86
      @phillipnunes86 Год назад +1

      Entendi @MatheusCastiglioni, é que está usando a versão nova do Next, não tinha me atentado. Eu estava esperando aquela pasta que existe na versão anterior do Next chamada pages, que fica dentro de src, mas imagino que dê pra fazer lá tbm na versão mais antiga do Next

    • @MatheusCastiglioni
      @MatheusCastiglioni  Год назад +1

      @@phillipnunes86 Da sim, é igualzinho, só muda o app/ para pages/ o resto fica idêntico, ou seja, tu importa o arquivo de rotas e exporta um componente como default onde vai renderizar a rota em si.

  • @SabrinaDias
    @SabrinaDias 11 месяцев назад +1

    Como é feita a orquestracao do layout dentro do subdomínios?

    • @MatheusCastiglioni
      @MatheusCastiglioni  11 месяцев назад

      Fala Sabrina, tudo bem? Nesse caso seria da mesma forma feita no video, tu importa o layout desejado jo container e encapsula a renderização da interface.
      Caso seja um layout específico para o subdomain ai tu cria uma pasta layouts na raiz do dominio e dentro dela o layout em si.

  • @SabrinaDias
    @SabrinaDias 11 месяцев назад

    qual microfone é esse que vc esta usando?