返回资讯中心
外部精选
软件工程
#社区热议

Show HN: Proa – A Rust web framework with fast SSR and multi-target rendering

Video: https://youtu.be/-CfCyvIKYyo?si=hCLuStkXxanCUJD1Video on multi-target rendering: https://youtu.be/pJx84jdBDKU?si=HRRd6dgUWXiqeWhqBenchmarks: https://github.com/Proa-Labs/proa-benchmarks

Hacker Newsburnrate2026/10/15 · 13 天前10 分钟阅读

以下正文同步自 Hacker News,版权归原站所有,已转换为易读排版。

An extremely performant, batteries-included Rust web framework built around a new programming model for composable, multi-target rendering.

Watch intro

One object. Every render target.

HTML, Markdown, and other render targets, from one typed component.

Benchmarks

GitHubSentryAirbnb

oven-sh/bun

Type / to search

CodeIssues5k+Pull requests1.9kActionsSecurityInsights

[tracking] Zig/C++ fork: Rust->Zig port progress #31136

ClosedMaurerAntonwants to merge 8 commits intooven-sh:main

Entire home · 4.92 rating · Malibu, California

Warm production p50s measured on an 8-vCPU AMD EPYC-Milan VPS.

Independent demos. Not affiliated with or endorsed by GitHub, Sentry, or Airbnb.

Apple M4 Max · September 2026Scroll horizontally to explore each chart.

View benchmarks

Build your design system.

Proa UI offers Shadcn style Proa components. Source in your repo, in typed Rust. Theme it, compose it, ship it.

Does it need JavaScript?No. This build opens and closes with radio inputs and CSS alone.

Is it accessible?Yes. It follows the WAI-ARIA disclosure pattern.

Can I restyle it?The source lives in your repo, so yes.

Accordion

Free

Single or multiple open panels, with a CSS-only build that ships no JavaScript at all.

Header, body, footer, and caption parts that compose into dense record views.

Solid, outline, ghost, and link variants across three sizes and three intents.

Labels, descriptions, and error text wired to any control, in either orientation.

Header, content, and footer slots for the surface most product screens are built from.

Single and range selection, month paging, and keyboard navigation, rendered as plain HTML.

3.2kMon4.1kTue3.8kWed5.2kThu6.4kFri5.9kSat7.3kSun

Chart

Pro

Area, bar, line, donut, and stacked series drawn as pure SVG on the server.

Grouped one-time-code slots with separators, size variants, and a caret you can style.

Message bubbles, avatars, timestamps, and typing indicators for assistant surfaces.

html_sync! { {Card { class: None, children: Some(html_sync! { {CardTitle { class: None, children: Some(row.id) }} {CardFooter { class: None, children: Some(row.due) }} }), }} }

Code Block

Pro

Syntax highlighting done on the server, so no highlighter ships to the browser.

The full catalog, from primitives to paid product surfaces.

Scroll sideways or use the arrow keys to move through the component demos.

A component system and a framework surface, not a templating engine.

Proa keeps streaming, request data, routing, metadata, and response control inside the same typed WebContext as your components.

Flush HTML in document order when sequence matters, or let Suspense boundaries stream ready chunks out of order when slow data should not block the page.

Every render has typed access to request-scoped data, response metadata, route state, and loader caching through the same WebContext components already receive.

Layouts, routing, metadata, static assets, forms, mutations, and progressive navigation compose through the same Rust component model instead of template glue.

Keep the page as server-rendered HTML, then opt specific controls into client behavior with typed signals and event handlers. Proa compiles only the moving pieces into JavaScript.

Use signal(...), bind_value, typed events, and named handlers in Rust. The compiler lowers the client behavior.

Each hydrated RSJS island emits a small vanilla-JS module plus seed state, served with a shared runtime around 1.3 KB gzipped.

Go Axum-native for Proa routing and responses, or call Proa over FFI from Node, Go, Python, Ruby, or Java.

Proxy one route to Proa, leave the rest on Next.js or Rails, then compare latency and cost in production.

Auto-escaped output, cross-origin request protection, security headers, and fixed-upstream proxying are part of the framework surface.

WCAG and WAI-ARIA checks run during cargo build so common markup defects fail before deploy.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →