Ir para o conteúdo PET Sistemas de Informação Ir para o menu PET Sistemas de Informação Ir para a busca no site PET Sistemas de Informação Ir para o rodapé PET Sistemas de Informação
  • International
  • Acessibilidade
  • Sítios da UFSM
  • Área restrita

Aviso de Conectividade Saber Mais

Início do conteúdo

ASTRO.JS, o ultimo framework web?



Todo mundo já enfrentou duvidas em qual framework web se usar para um projeto. Hoje no mercado temos disponíveis dos mais diversos, que abrangem quase todas as linguagens de programação. O que antes se limitava a apenas Javascript e php, as linguagens web evoluíram tanto, que trouxeram diversas outras consigo como c#, java e até mesmo python com o surgimento do Pyscript. E com tantas linguagens disponíveis é notório que muitas pessoas tornem uma linguagem sendo a melhor para si e acabe fazendo parte dos programadores que só programam nessa linguagem, mas e se fosse possível juntar todos esses grupos?

Então essa é apenas uma das coisas que Astro pode fazer, o qual é uma ferramenta capaz de criar “multi page application” que acabou de chegar a apenas alguns meses atrás.

Tela com um fundo roxo e logo em cima desse fundo vem um outro rosa um pouco translucido com um título em inglês escrito “rebuilt my blog with out of curiosity… holy !@#$”. Logo abaixo um gráfico mostrando um consumo de Javascript do next.js (138kb) e outro abaixo mostrando o do astro (7.6Kb)

 

Astro surge com várias ideias bastante interessantes, partindo de um ponto de vista no “high-level”, é como um gerador de site estático que permite escrever suas páginas utilizando seu próprio sistema de arquivos. Então ao rodar ele renderiza tudo para gerar static multi-page application.

Para os templates ele tem a sua própria linguagem chamada astro components, o que é bem familiar ao que já conhecemos com frameworks de desenvolvimento. Mas o que realmente é bem interessante é que podemos trazer o seu framework preferido de desenvolvimento para dentro do astro. Então isso quer dizer que podemos criar aplicações astro, utilizando, react, vue, spelt e por ai mais! E ele então vai renderizar a UI no servidor, enquanto carrega muito pouco Javascript no navegador.

 

import UmComponenteAstro from ‘../components/UmComponenteAstro.astro’;
import UmComponenteReact from ‘../components/UmComponenteReact.jsx’;
import algunsDados from ‘../dados/pokemon.json’;

// Acesse props passadas ao componente, como `<X titulo=”Olá, Mundo!” />`
const { titulo } = Astro.props;

 

Javascript pelo que conhecemos é o verdadeiro gargalo para performance em aplicações web devido a sua característica de utilizar somente uma thread. Isso significa que com astro você não será capaz de criar thread para Javascript mas sim diminuir o seu uso na sua aplicação. Mas você pode perguntar como um componente vai funcionar se a página só possui HTML puro sem Javascript? É aí que nesse momento astro brilha, se você deseja utilizar responsividade, reatividade e estados nas suas páginas, você pode adicionar “islands” de interatividade para o seu website, na perspectiva do desenvolvedor, astro providencia uma variedade de diretivas para a “hydration” do seu site.

// Exemplo: Utilize um componente React dinâmico na página.
import MeuComponenteReact from ‘../components/MeuComponenteReact.jsx’;

<!– Este componente agora é interativo na página!
O resto do seu website continua estático e com zero JS. –>
<MeuComponenteReact client:load />

<MeuComponenteReact client:idle />

<MeuComponenteReact client:visible />

Se você quer carregar de uma vez a sua hydration utilize Load. Mas se preferir que o componente não seja interativo naquele momento utilize Idle ou visible se deseja mostrar o component assim que ele aparece na tela. Tudo isso que astro proporciona é chamado de parcial hydration e todas essas características são um grande diferencial quando se fala de performance. Menos Javascript para rodar significa páginas mais velozes e melhor tempo para pontuações de interatividade.

Tela com um fundo cinza mostrando no seu topo esquerdo o número 100 circulado de verde e logo em baixo escrito performance, mais abaixo temos 6 métricas escritas em inglês com o seu tempo abaixo escrito em verde.

Tomado isso como conclusão, se Astro conseguir se tornar uma single-page application seria o ultimato para todos os web frameworks existentes, pois iria abranger todo tipo de uso do Astro nessa tabela, não se limitando somente a isso você pode utilizar qualquer UI que preferir, nesse ponto se todo o desenvolvimento da linguagem conseguir engatar, vai finalmente por um fim a guerra das pessoas fãs de framework Javascript.

Referências:
Para saber mais sobre astro.js acesse sua documentação: https://docs.astro.build/en/getting-started/
Se deseja por em prática o que viu, saca só esse aqui: https://prismic.io/blog/astro-js-tutorial

 

Divulgue este conteúdo:
https://ufsm.br/r-791-3329

Publicações Relacionadas

Publicações Recentes