Partials

Revolucionando o Desenvolvimento Web
06/10/2023Marcos Candeia, Tiago Gimenes

Fresh, o framework web utilizado pela Deco, Ć© conhecido por possibilitar a criaĆ§Ć£o de pĆ”ginas de altĆ­ssimo desempenho. Uma das razƵes pelas quais as pĆ”ginas criadas na Deco sĆ£o tĆ£o eficientes Ć© devido Ć  arquitetura de ilhas. Essa arquitetura permite que os desenvolvedores removam partes nĆ£o interativas do pacote final de JavaScript, reduzindo a quantidade total de JavaScript na pĆ”gina e aliviando o navegador para realizar outras tarefas.

No entanto, uma das limitaƧƵes dessa arquitetura Ć© que pĆ”ginas muito complexas, com muita interatividade e, portanto, muitas ilhas, ainda exigem uma grande quantidade de JavaScript. Felizmente, essa limitaĆ§Ć£o agora Ć© coisa do passado, graƧas Ć  introduĆ§Ć£o dos Partials.

Como Funciona?

Os Partials, inspirados no htmx, operam com um runtime que intercepta as interaƧƵes do usuĆ”rio com elementos de botĆ£o, Ć¢ncora e formulĆ”rio. Essas interaƧƵes sĆ£o enviadas para nosso servidor, que calcula o novo estado da pĆ”gina e responde ao navegador. O navegador recebe o novo estado da IU em HTML puro, que Ć© entĆ£o processado e as diferenƧas sĆ£o aplicadas, alterando a pĆ”gina para o seu estado final. Para obter informaƧƵes mais detalhadas sobre os Partials, consulte a documentaĆ§Ć£o do Fresh.

Partials em AĆ§Ć£o

Estamos migrando os componentes da loja da Deco para a nova soluĆ§Ć£o de Partials. AtĆ© o momento, migramos o seletor de SKU, que pode ser visualizado em aĆ§Ć£o aqui. Mais mudanƧas, como infinite scroll e melhorias nos filtros, estĆ£o por vir.

Outra funcionalidade desbloqueada Ć© a possibilidade de criar dobras na pĆ”gina. As pĆ”ginas de comĆ©rcio eletrĆ“nico geralmente sĆ£o longas e contĆŖm muitos elementos. Os navegadores costumam enfrentar problemas quando hĆ” muitos elementos no HTML. Para lidar com isso, foi inventada a tĆ©cnica de dobra.

A ideia bĆ”sica dessa tĆ©cnica Ć© dividir o conteĆŗdo da pĆ”gina em duas partes: o conteĆŗdo acima e o conteĆŗdo abaixo da dobra. O conteĆŗdo acima da dobra Ć© carregado na primeira solicitaĆ§Ć£o ao servidor. O conteĆŗdo abaixo da dobra Ć© carregado assim que a primeira solicitaĆ§Ć£o Ć© concluĆ­da. Esse tipo de funcionalidade costumava ser difĆ­cil de implementar em arquiteturas mais antigas. Felizmente, embutimos essa lĆ³gica em uma nova seĆ§Ć£o chamada Deferred. Esta seĆ§Ć£o aceita uma lista de seƧƵes como parĆ¢metro que devem ter seu carregamento adiado para um momento posterior.

Para usar essa nova seĆ§Ć£o:

  1. Acesse o painel de administraĆ§Ć£o da Deco e adicione a seĆ§Ć£o Rendering > Deferred Ć  sua pĆ”gina.
  2. Mova as seƧƵes que deseja adiar para a seĆ§Ć£o Deferred.
  3. Salve e publique a pƔgina.
  4. Pronto! As seƧƵes agora estĆ£o adiadas sem a necessidade de alterar o cĆ³digo!

Veja Deferred em aĆ§Ć£o neste link.

Observe que, para a seĆ§Ć£o Deferred aparecer, vocĆŖ deve estar na versĆ£o mais recente do fresh, apps e deco!

Uma pergunta que vocĆŖ pode estar se fazendo agora Ć©: Como escolher as seƧƵes que devo incluir no deferred? Para isso, use a aba de desempenho e comece pelas seƧƵes mais pesadas que oferecem o maior retorno!

Para mais informaƧƵes, veja nossas docs