You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/blog/2024/10/21/react-compiler-beta-release.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "React Compiler Beta Release"
3
3
author: Lauren Tan
4
4
date: 2024/10/21
5
-
description: Na React Conf 2024, anunciamos o lançamento experimental do React Compiler, uma ferramenta de build-time que otimiza seu aplicativo React por meio de memoização automática. Nesta postagem, queremos compartilhar os próximos passos para o código aberto e nosso progresso no compilador.
5
+
description: Na React Conf 2024, anunciamos o lançamento experimental do React Compiler, uma ferramenta de build-time que otimiza seu aplicativo React através de memorização automática. Neste post, queremos compartilhar os próximos passos para o código aberto e nosso progresso no compilador.
6
6
---
7
7
8
8
21 de outubro de 2024 por [Lauren Tan](https://twitter.com/potetotes).
@@ -11,9 +11,9 @@ description: Na React Conf 2024, anunciamos o lançamento experimental do React
11
11
12
12
<Note>
13
13
14
-
### O React Compiler agora está estável! {/*react-compiler-is-now-in-rc*/}
14
+
### O React Compiler está estável! {/*react-compiler-is-now-in-rc*/}
15
15
16
-
Por favor, veja o [post do blog sobre o lançamento estável](/blog/2025/10/07/react-compiler-1) para detalhes.
16
+
Consulte o [post do blog sobre o lançamento estável](/blog/2025/10/07/react-compiler-1) para obter detalhes.
17
17
18
18
</Note>
19
19
@@ -23,9 +23,9 @@ A equipe do React está animada para compartilhar novas atualizações:
23
23
24
24
</Intro>
25
25
26
-
1. Estamos publicando hoje o React Compiler Beta, para que adotantes iniciais e mantenedores de bibliotecas possam experimentá-lo e fornecer feedback.
26
+
1. Estamos publicando hoje o React Compiler Beta, para que os primeiros usuários e mantenedores de bibliotecas possam experimentá-lo e fornecer feedback.
27
27
2. Estamos oferecendo suporte oficial ao React Compiler para aplicativos no React 17+, através de um pacote opcional `react-compiler-runtime`.
28
-
3. Estamos abrindo a adesão pública ao [React Compiler Working Group](https://github.com/reactwg/react-compiler) para preparar a comunidade para a adoção gradual do compilador.
28
+
3. Estamos abrindo a adesão pública ao [Grupo de Trabalho do React Compiler](https://github.com/reactwg/react-compiler) para preparar a comunidade para a adoção gradual do compilador.
29
29
30
30
---
31
31
@@ -57,7 +57,7 @@ Você pode assistir à palestra de [Sathya Gunasekaran](https://twitter.com/_gsa
57
57
58
58
## Recomendamos que todos usem o linter do React Compiler hoje {/*we-recommend-everyone-use-the-react-compiler-linter-today*/}
59
59
60
-
O plugin ESLint do React Compiler ajuda os desenvolvedores a identificar e corrigir proativamente violações das [Regras do React](/reference/rules). **Recomendamos fortemente que todos usem o linter hoje**. O linter não exige que você tenha o compilador instalado, então você pode usá-lo independentemente, mesmo que não esteja pronto para experimentar o compilador.
60
+
O plugin ESLint do React Compiler ajuda os desenvolvedores a identificar e corrigir proativamente violações das [Regras do React](/reference/rules). **Recomendamos fortemente que todos usem o linter hoje**. O linter não exige que você tenha o compilador instalado, portanto, você pode usá-lo independentemente, mesmo que não esteja pronto para experimentar o compilador.
61
61
62
62
Para instalar apenas o linter:
63
63
@@ -75,48 +75,48 @@ Após a instalação, você pode habilitar o linter [adicionando-o à sua config
75
75
76
76
## Compatibilidade com versões anteriores {/*backwards-compatibility*/}
77
77
78
-
O React Compiler produz código que depende de APIs de runtime adicionadas no React 19, mas desde então adicionamos suporte para que o compilador também funcione com React 17 e 18. Se você ainda não está no React 19, na versão Beta, você agora pode experimentar o React Compiler especificando um `target` mínimo em sua configuração do compilador e adicionando `react-compiler-runtime` como uma dependência. [Você pode encontrar a documentação sobre isso aqui](/reference/react-compiler/configuration#react-17-18).
78
+
O React Compiler produz código que depende de APIs de runtime adicionadas no React 19, mas desde então adicionamos suporte para que o compilador também funcione com React 17 e 18. Se você ainda não está no React 19, na versão Beta, você pode experimentar o React Compiler especificando um `target` mínimo em sua configuração do compilador e adicionando `react-compiler-runtime` como uma dependência. [Você pode encontrar a documentação sobre isso aqui](/reference/react-compiler/configuration#react-17-18).
79
79
80
80
## Usando o React Compiler em bibliotecas {/*using-react-compiler-in-libraries*/}
81
81
82
-
Nosso lançamento inicial foi focado em identificar problemas importantes com o uso do compilador em aplicativos. Recebemos ótimos feedbacks e melhoramos substancialmente o compilador desde então. Agora estamos prontos para um feedback amplo da comunidade e para que os autores de bibliotecas experimentem o compilador para melhorar o desempenho e a experiência do desenvolvedor na manutenção de suas bibliotecas.
82
+
Nosso lançamento inicial foi focado em identificar problemas importantes com o uso do compilador em aplicativos. Recebemos ótimos feedbacks e melhoramos substancialmente o compilador desde então. Agora estamos prontos para um amplo feedback da comunidade e para que os autores de bibliotecas experimentem o compilador para melhorar o desempenho e a experiência do desenvolvedor na manutenção de suas bibliotecas.
83
83
84
-
O React Compiler também pode ser usado para compilar bibliotecas. Como o React Compiler precisa ser executado no código-fonte original antes de quaisquer transformações de código, não é possível que o pipeline de build de um aplicativo compile as bibliotecas que ele usa. Portanto, nossa recomendação é que os mantenedores de bibliotecas compilem e testem independentemente suas bibliotecas com o compilador e enviem o código compilado para o npm.
84
+
O React Compiler também pode ser usado para compilar bibliotecas. Como o React Compiler precisa ser executado no código-fonte original antes de quaisquer transformações de código, não é possível que o pipeline de build de um aplicativo compile as bibliotecas que ele usa. Portanto, nossa recomendação é que os mantenedores de bibliotecas compilem e testem suas bibliotecas independentemente com o compilador e enviem o código compilado para o npm.
85
85
86
86
Como seu código é pré-compilado, os usuários de sua biblioteca não precisarão ter o compilador habilitado para se beneficiar da memoização automática aplicada à sua biblioteca. Se sua biblioteca tem como alvo aplicativos que ainda não estão no React 19, especifique um `target` mínimo e adicione `react-compiler-runtime` como uma dependência direta. O pacote de runtime usará a implementação correta das APIs dependendo da versão do aplicativo e preencherá as APIs ausentes, se necessário.
87
87
88
88
[Você pode encontrar mais documentação sobre isso aqui.](/reference/react-compiler/compiling-libraries)
89
89
90
-
## Abrindo o React Compiler Working Group para todos {/*opening-up-react-compiler-working-group-to-everyone*/}
90
+
## Abrindo o Grupo de Trabalho do React Compiler para todos {/*opening-up-react-compiler-working-group-to-everyone*/}
91
91
92
-
Anunciamos anteriormente o [React Compiler Working Group](https://github.com/reactwg/react-compiler), apenas por convite, na React Conf para fornecer feedback, fazer perguntas e colaborar no lançamento experimental do compilador.
92
+
Anunciamos anteriormente o [Grupo de Trabalho do React Compiler](https://github.com/reactwg/react-compiler), apenas por convite, na React Conf para fornecer feedback, fazer perguntas e colaborar no lançamento experimental do compilador.
93
93
94
-
A partir de hoje, juntamente com o lançamento Beta do React Compiler, estamos abrindo a adesão ao Working Group para todos. O objetivo do React Compiler Working Group é preparar o ecossistema para uma adoção suave e gradual do React Compiler por aplicativos e bibliotecas existentes. Por favor, continue enviando relatórios de bugs no [repositório do React](https://github.com/facebook/react), mas deixe feedback, faça perguntas ou compartilhe ideias no [fórum de discussão do Working Group](https://github.com/reactwg/react-compiler/discussions).
94
+
A partir de hoje, juntamente com o lançamento Beta do React Compiler, estamos abrindo a adesão ao Grupo de Trabalho para todos. O objetivo do Grupo de Trabalho do React Compiler é preparar o ecossistema para uma adoção suave e gradual do React Compiler por aplicativos e bibliotecas existentes. Por favor, continue enviando relatórios de bugs no [repositório do React](https://github.com/facebook/react), mas deixe seus feedbacks, perguntas ou ideias no [fórum de discussão do Grupo de Trabalho](https://github.com/reactwg/react-compiler/discussions).
95
95
96
96
A equipe principal também usará o repositório de discussões para compartilhar nossas descobertas de pesquisa. À medida que o Lançamento Estável se aproxima, qualquer informação importante também será postada neste fórum.
97
97
98
98
## React Compiler na Meta {/*react-compiler-at-meta*/}
99
99
100
-
Na [React Conf](/blog/2024/05/22/react-conf-2024-recap), compartilhamos que nosso rollout do compilador no Quest Store e Instagram foram bem-sucedidos. Desde então, implantamos o React Compiler em vários outros aplicativos web importantes na Meta, incluindo [Facebook](https://www.facebook.com) e [Threads](https://www.threads.net). Isso significa que se você usou algum desses aplicativos recentemente, sua experiência pode ter sido impulsionada pelo compilador. Conseguimos integrar esses aplicativos ao compilador com poucas alterações de código necessárias, em um monorepo com mais de 100.000 componentes React.
100
+
Na [React Conf](/blog/2024/05/22/react-conf-2024-recap), compartilhamos que nosso rollout do compilador no Quest Store e no Instagram foram bem-sucedidos. Desde então, implantamos o React Compiler em vários outros aplicativos importantes na Meta, incluindo [Facebook](https://www.facebook.com) e [Threads](https://www.threads.net). Isso significa que, se você usou algum desses aplicativos recentemente, sua experiência pode ter sido impulsionada pelo compilador. Conseguimos integrar esses aplicativos ao compilador com poucas alterações de código necessárias, em um monorepo com mais de 100.000 componentes React.
101
101
102
102
Vimos melhorias notáveis de desempenho em todos esses aplicativos. À medida que implementamos, continuamos a ver resultados na ordem de [as vitórias que compartilhamos anteriormente na ReactConf](https://youtu.be/lyEKhv8-3n0?t=3223). Esses aplicativos já foram extensivamente ajustados e otimizados por engenheiros da Meta e especialistas em React ao longo dos anos, então mesmo melhorias na ordem de alguns por cento são uma grande vitória para nós.
103
103
104
-
Também esperávamos ganhos de produtividade do desenvolvedor com o React Compiler. Para medir isso, colaboramos com nossos parceiros de ciência de dados na Meta[^2] para realizar uma análise estatística completa do impacto da memoização manual na produtividade. Antes de implantar o compilador na Meta, descobrimos que apenas cerca de 8% das pull requests do React usavam memoização manual e que essas pull requests levavam de 31 a 46% mais tempo para serem criadas[^3]. Isso confirmou nossa intuição de que a memoização manual introduz sobrecarga cognitiva, e antecipamos que o React Compiler levará a uma autoria e revisão de código mais eficientes. Notavelmente, o React Compiler também garante que *todo* o código seja memoizado por padrão, não apenas os (em nosso caso) 8% onde os desenvolvedores aplicam explicitamente a memoização.
104
+
Também esperávamos ganhos de produtividade do desenvolvedor com o React Compiler. Para medir isso, colaboramos com nossos parceiros de ciência de dados na Meta[^2] para realizar uma análise estatística completa do impacto da memoização manual na produtividade. Antes de implantar o compilador na Meta, descobrimos que apenas cerca de 8% das solicitações de pull do React usavam memoização manual e que essas solicitações de pull levavam de 31 a 46% mais tempo para serem criadas[^3]. Isso confirmou nossa intuição de que a memoização manual introduz sobrecarga cognitiva, e antecipamos que o React Compiler levará a uma autoria e revisão de código mais eficientes. Notavelmente, o React Compiler também garante que *todo* o código seja memorizado por padrão, não apenas os 8% (em nosso caso) onde os desenvolvedores aplicam explicitamente a memoização.
105
105
106
106
## Roteiro para o lançamento estável {/*roadmap-to-stable*/}
107
107
108
108
*Este não é um roteiro final e está sujeito a alterações.*
109
109
110
-
Pretendemos lançar um Release Candidate (RC) do compilador em um futuro próximo, após o lançamento Beta, quando a maioria dos aplicativos e bibliotecas que seguem as Regras do React tiverem provado funcionar bem com o compilador. Após um período de feedback final da comunidade, planejamos um Lançamento Estável para o compilador. O Lançamento Estável marcará o início de uma nova base para o React, e todos os aplicativos e bibliotecas serão fortemente recomendados a usar o compilador e o plugin ESLint.
110
+
Pretendemos lançar um Release Candidate do compilador em um futuro próximo, após o lançamento Beta, quando a maioria dos aplicativos e bibliotecas que seguem as Regras do React tiverem provado funcionar bem com o compilador. Após um período de feedback final da comunidade, planejamos um Lançamento Estável para o compilador. O Lançamento Estável marcará o início de uma nova base para o React, e todos os aplicativos e bibliotecas serão fortemente recomendados a usar o compilador e o plugin ESLint.
111
111
112
-
* ✅ Experimental: Lançado na React Conf 2024, principalmente para feedback de adotantes iniciais.
113
-
* ✅ Beta Pública: Disponível hoje, para feedback da comunidade em geral.
112
+
* ✅ Experimental: Lançado na React Conf 2024, principalmente para feedback de primeiros usuários.
113
+
* ✅ Public Beta: Disponível hoje, para feedback da comunidade em geral.
114
114
* 🚧 Release Candidate (RC): O React Compiler funciona para a maioria dos aplicativos e bibliotecas que seguem as regras sem problemas.
115
115
* 🚧 Disponibilidade Geral: Após o período de feedback final da comunidade.
116
116
117
117
Esses lançamentos também incluem o plugin ESLint do compilador, que exibe diagnósticos analisados estaticamente pelo compilador. Planejamos combinar o plugin `eslint-plugin-react-hooks` existente com o plugin ESLint do compilador, para que apenas um plugin precise ser instalado.
118
118
119
-
Após o Lançamento Estável, planejamos adicionar mais otimizações e melhorias ao compilador. Isso inclui melhorias contínuas na memoização automática e novas otimizações, com pouca ou nenhuma alteração no código do produto. A atualização para cada nova versão do compilador visa ser simples, e cada atualização continuará a melhorar o desempenho e adicionar um melhor tratamento de diversos padrões JavaScript e React.
119
+
Após o Lançamento Estável, planejamos adicionar mais otimizações e melhorias ao compilador. Isso inclui melhorias contínuas na memoização automática e novas otimizações, com pouca ou nenhuma alteração no código do produto. A atualização para cada nova versão do compilador visa ser simples, e cada atualização continuará a melhorar o desempenho e adicionar um melhor tratamento para diversos padrões JavaScript e React.
120
120
121
121
Ao longo deste processo, também planejamos prototipar uma extensão IDE para React. Ainda está muito cedo na pesquisa, então esperamos poder compartilhar mais de nossas descobertas com você em um futuro post do blog do React Labs.
122
122
@@ -126,8 +126,8 @@ Obrigado a [Sathya Gunasekaran](https://twitter.com/_gsathya), [Joe Savona](http
126
126
127
127
---
128
128
129
-
[^1]: Obrigado [@nikeee](https://github.com/facebook/react/pulls?q=is%3Apr+author%3Anikeee), [@henryqdineen](https://github.com/facebook/react/pulls?q=is%3Apr+author%3Ahenryqdineen), [@TrickyPi](https://github.com/facebook/react/pulls?q=is%3Apr+author%3ATrickyPi), e vários outros por suas contribuições para o compilador.
129
+
[^1]: Obrigado a [@nikeee](https://github.com/facebook/react/pulls?q=is%3Apr+author%3Anikeee), [@henryqdineen](https://github.com/facebook/react/pulls?q=is%3Apr+author%3Ahenryqdineen), [@TrickyPi](https://github.com/facebook/react/pulls?q=is%3Apr+author%3ATrickyPi) e vários outros por suas contribuições para o compilador.
130
130
131
-
[^2]: Obrigado [Vaishali Garg](https://www.linkedin.com/in/vaishaligarg09) por liderar este estudo sobre o React Compiler na Meta e por revisar este post.
131
+
[^2]: Obrigado a [Vaishali Garg](https://www.linkedin.com/in/vaishaligarg09) por liderar este estudo sobre o React Compiler na Meta e por revisar este post.
132
132
133
-
[^3]: Após controlar o tempo de permanência do autor, o comprimento/complexidade das diferenças e outros fatores potenciais de confusão.
133
+
[^3]: Após controlar o tempo de permanência do autor, o comprimento/complexidade das diferenças e outros fatores de confusão potenciais.
0 commit comments