Novidades do Next.js 13
- Layouts:
- Agora sempre que 2 ou mais páginas compartilharem o mesmo componente, na troca de página, o componente não será carregado novamente, já que não houve mudança em si. Essa novidade otimizará o tempo de carregamento das páginas.
- Componentes renderizados pelo lado do servidor (Server Components):
- Os componentes serão carregados pelo servidor, diminuindo drasticamente o JavaScript no bundle.
- Webpack foi substituído pelo TurboPack:
- O TurboPack promete ser 700x mais rápido que o Webpack.
- Novo componente de Imagem (next/image):
- Algumas
props
foram removidas, como:layout
,lazyBoundary
,objectFit
e entre outras. NextJs - A propriedade
alt
é obrigatória. - Foi removido as tags
<span />
ao redor da tagimg
.
- Algumas
- Nova forma de carregar fontes (@next/font):
- Irá zerar o Layout Shift
- Layout Shift é quando a página renderiza mas acontece alguma troca de layout. É muito comum acontecer isso quando a página renderiza utilizando uma fonte padrão que o usuário possui no seu sistema, e após alguns milésimo de segundos, a página carrega com a fonte importada pelo projeto.
- Irá zerar o Layout Shift
- Modificações no componente de link:
- Agora não será mais necessário adicionar uma tag
<a />
dentro do componente<Link />
.
- Agora não será mais necessário adicionar uma tag
- TypeScript vai ser o padrão do Next.js:
- O TypeScript será o default do Next.js 13.
Já to começando a perceber que se a comunidade do tabnews quiser atualizar o next, vai ter muito trampo pra refatorar o codigo e fazer ele funcionar! muita coisa mudou, a pasta pages mudou, n tem getStaticProps, getServerSideProps etc..., os componentes sao renderizados no servidor e depois são hidratados (adiciona js pra interatividade) e muito mais!
Faltou falar que o turbopack é feito em rust, que desrespeito! (zoeira)
Vai ser um trampo bem hard mesmo, mas pelo o que eu andei lendo na documentação deles ainda nao é recomendado usar o pages, por ainda ser una funcionalidade beta ([mais infos dessa nova ver](https://nextjs.org/blog/next-13)).
Sobre uma outra funcionalidade que está presente nessa versão que é o HTML Streaming, alguém saberia me dizer com mais detalhes do que se trata ?
Vou ter a mesma dor de cabeça lá no job XD
Eu realmente esqueci de colocar que é feito em Rust XD
eu tentei NextJs e achei muito legal, so que preferi seguir com Eleventy por achar mais facil.
Esse framework eu não conheço. Vou dar uma olhada! :)