13 de novembro de 2026
Entra React, sai Rust
Os designers continuam com React. Os dispositivos recebem Rust nativo. Como o Screen Compiler transforma telas em código em tempo de build, para que não haja navegador no dispositivo para atacar.
Nesta página
As interfaces modernas são projetadas em React. Por isso, muitíssimos dispositivos dedicados, de painéis de controle a máquinas de bilhetes, levam um motor de navegador inteiro, um dos maiores e mais atacados programas que existem, para desenhar alguns botões e as palavras “Touch Start to begin”.
Queríamos o fluxo de design moderno sem o navegador. Então construímos o Screen Compiler.
Escreva a tela em React
Os seus designers e desenvolvedores de front-end continuam com as suas ferramentas: componentes, props, design tokens, o editor deles. Eles escrevem a tela em TSX (esta foi abreviada de uma das telas de teste do Screen Compiler):
<Column gap={SPACE_SM} padding={SPACE_LG}>
<Text id="title">Welcome</Text>
<Text>Touch Start to begin.</Text>
<Spacer />
<Button id="start" onPress={onStart}>Start</Button>
</Column>
Entregue Rust puro e simples
Em tempo de build, na sua máquina ou na CI, o Screen Compiler transforma isso em Rust para o runtime de interface do NoWayOS:
let n1 = b.text("Welcome")?; // welcome.tsx:17:9 <Text>
let n2 = b.text("Touch Start to begin.")?; // welcome.tsx:18:9 <Text>
let n4 = b.spacer(None)?; // welcome.tsx:20:9 <Spacer>
let n5 = b.button("Start", actions::START)?; // welcome.tsx:21:9 <Button>
Cada linha aponta de volta para o TSX de onde veio. O dispositivo recebe esse código e mais nada: sem motor de JavaScript, sem navegador, sem página web para atacar. O próprio Screen Compiler nunca vai para o dispositivo.
Entra React, sai Rust
O navegador fica para trás, no build.
Em tempo de build
Tela em TSXReact, como os designers escrevem
Screen CompilerExato, ou nada
Rust puro e simplesRastreado até a linha do TSX
Fora do subconjunto: recusado, com arquivo, linha e coluna
No dispositivo
Runtime de interface do NoWayOSSem navegador. Sem JavaScript.
Exato, ou nada
Um conversor que adivinha é um conversor em que não se pode confiar. O Screen Compiler converte com exatidão o seu subconjunto declarado de TSX e recusa todo o resto, informando o arquivo, a linha e a coluna. Ele nunca aproxima. O Rust que ele escreve não tem unsafe, nem unwrap, nem panic.
Depois, cada tela convertida é desenhada pelo renderizador do NoWayOS e comparada, pixel a pixel, com a sua imagem aprovada. Se um único pixel se mover, o build avisa.
Em que pé está
O Screen Compiler está em desenvolvimento: o seu primeiro subconjunto está construído e o próximo está em andamento. Ele é open source sob a licença MIT, no GitHub ao lado do NoWayOS. Se a sua equipe projeta em React e constrói dispositivos que importam, gostaríamos de ouvir você.