Show HN: Proa – A Rust web framework with fast SSR and multi-target rendering
🇬🇧 English
Proa is a new Rust web framework presented on Hacker News as a Show HN project. It focuses on fast server-side rendering (SSR) and multi-target rendering, allowing the same components to output HTML and Markdown. The project's author has published demo videos explaining the multi-target rendering approach, along with a public benchmarks repository on GitHub.
The framework is built to create information-dense apps with selective interactivity. Its creators have built re-creations of GitHub, Sentry, and Airbnb as independent demos, which are not affiliated with or endorsed by those companies. Reported benchmarks include a 5.56 ms React renderToString p50 measured on warm production runs on an 8-vCPU AMD EPYC-Milan VPS.
Proa also offers Proa UI, a Shadcn-style component library in typed Rust. Developers keep the component source in their own repository and can theme and compose it freely. Components cover accordions, tables, buttons, forms, charts rendered as pure SVG on the server, date pickers, and chat message bubbles. A CSS-only accordion build ships no JavaScript, and the components follow the WAI-ARIA disclosure pattern for accessibility.
The framework's default approach is to server-render pages and ship JavaScript islands only where interactivity is needed. The project's thread on Hacker News received 44 points and 4 comments at the time of publication.
🇸🇦 العربية
Proa: إطار عمل Rust للويب مع SSR سريع
Proa هو إطار عمل جديد للويب بلغة Rust، عُرض على Hacker News كمشروع Show HN. يركز على العرض السريع من جانب الخادم (SSR) والعرض متعدد الأهداف، مما يتيح للمكونات نفسها إخراج HTML وMarkdown. نشر مؤلف المشروع مقاطع فيديو توضيحية تشرح نهج العرض متعدد الأهداف، إلى جانب مستودع عام للمقاييس المرجعية على GitHub.
صُمم الإطار لبناء تطبيقات كثيفة المعلومات مع تفاعلية انتقائية. أنشأ مطوروه نسخًا معاد بناؤها من GitHub وSentry وAirbnb كعروض مستقلة، وهي غير تابعة لتلك الشركات ولا تحظى بتأييدها. وتشمل المقاييس المعلنة قيمة p50 قدرها 5.56 ms لدالة React renderToString، مقاسة في تشغيلات إنتاجية دافئة على خادم افتراضي بثماني وحدات معالجة AMD EPYC-Milan.
يقدم Proa أيضًا Proa UI، وهي مكتبة مكونات بنمط Shadcn مكتوبة بلغة Rust المُنمّطة. يحتفظ المطورون بكود المكونات المصدري في مستودعاتهم ويمكنهم تخصيص مظهرها وتركيبها بحرية. تشمل المكونات الأكورديون والجداول والأزرار والنماذج والمخططات المعروضة كـ SVG خالص على الخادم ومنتقيات التواريخ وفقاعات رسائل الدردشة. ولا تُرسل نسخة الأكورديون المعتمدة على CSS فقط أي JavaScript، وتتبع المكونات نمط WAI-ARIA للإفصاح لتحقيق إمكانية الوصول.
يتمثل النهج الافتراضي للإطار في عرض الصفحات على الخادم وإرسال جزر JavaScript فقط حيث تكون التفاعلية ضرورية. وقد حصل خيط المشروع على Hacker News على 44 نقطة و4 تعليقات وقت النشر.
هل يتطلب Proa استخدام JavaScript لعرض مكوناته؟
ليس بالضرورة. يعرض Proa المكونات على الخادم افتراضيًا، ويرسل JavaScript فقط للجزر التي تحتاج إلى تفاعلية. بعض المكونات، مثل الأكورديون في نسخته المعتمدة على CSS فقط، لا ترسل أي JavaScript على الإطلاق.
🇧🇩 বাংলা
Proa: দ্রুত SSR সহ Rust ওয়েব ফ্রেমওয়ার্ক
Proa একটি নতুন Rust ওয়েব ফ্রেমওয়ার্ক, যা Hacker News-এ Show HN প্রকল্প হিসেবে উপস্থাপিত হয়েছে। এটি দ্রুত সার্ভার-সাইড রেন্ডারিং (SSR) এবং মাল্টি-টার্গেট রেন্ডারিংয়ের উপর জোর দেয়, যার ফলে একই কম্পোনেন্ট HTML ও Markdown উভয় আউটপুট দিতে পারে। প্রকল্পের লেখক মাল্টি-টার্গেট রেন্ডারিংয়ের পদ্ধতি ব্যাখ্যা করে ডেমো ভিডিও প্রকাশ করেছেন, এবং GitHub-এ একটি সর্বজনীন বেঞ্চমার্ক রিপোজিটরিও রয়েছে।
এই ফ্রেমওয়ার্কটি নির্বাচিত ইন্টারঅ্যাক্টিভিটিসহ তথ্য-ঘন অ্যাপ তৈরির জন্য বানানো হয়েছে। এর নির্মাতারা GitHub, Sentry ও Airbnb-এর পুনর্নির্মিত স্বতন্ত্র ডেমো তৈরি করেছেন, যেগুলো ওই কোম্পানিগুলোর সঙ্গে সংযুক্ত নয় এবং তারা এগুলো অনুমোদনও করেনি। প্রকাশিত বেঞ্চমার্কে একটি 8-vCPU AMD EPYC-Milan VPS-এ ওয়ার্ম প্রোডাকশন রানে পরিমাপ করা React renderToString-এর 5.56 ms p50 মান অন্তর্ভুক্ত।
Proa UI-ও দেওয়া হয়, যা টাইপড Rust-এ লেখা একটি Shadcn-শৈলীর কম্পোনেন্ট লাইব্রেরি। ডেভেলপাররা কম্পোনেন্টের সোর্স নিজেদের রিপোজিটরিতে রাখেন এবং সেটি স্বাধীনভাবে থিম ও কম্পোজ করতে পারেন। কম্পোনেন্টের মধ্যে রয়েছে অ্যাকর্ডিয়ন, টেবিল, বাটন, ফর্ম, সার্ভারে বিশুদ্ধ SVG হিসেবে রেন্ডার হওয়া চার্ট, ডেট পিকার এবং চ্যাট মেসেজ বাবল। শুধু CSS-এর অ্যাকর্ডিয়ন বিল্ড কোনো JavaScript পাঠায় না, এবং অ্যাক্সেসিবিলিটির জন্য কম্পোনেন্টগুলো WAI-ARIA disclosure প্যাটার্ন অনুসরণ করে।
ফ্রেমওয়ার্কের ডিফল্ট পদ্ধতি হলো পেজ সার্ভারে রেন্ডার করা এবং কেবল ইন্টারঅ্যাক্টিভিটির প্রয়োজন হলে JavaScript আইল্যান্ড পাঠানো। প্রকাশের সময় প্রকল্পের Hacker News থ্রেডটি 44 পয়েন্ট ও 4টি মন্তব্য পেয়েছিল।
Proa কি তার কম্পোনেন্ট রেন্ডার করতে JavaScript ব্যবহার করতে বাধ্য?
সবসময় নয়। Proa ডিফল্টভাবে কম্পোনেন্ট সার্ভারে রেন্ডার করে এবং শুধু ইন্টারঅ্যাক্টিভিটির প্রয়োজন এমন আইল্যান্ডের জন্য JavaScript পাঠায়। কিছু কম্পোনেন্ট, যেমন এর শুধু-CSS বিল্ডের অ্যাকর্ডিয়ন, একেবারেই কোনো JavaScript পাঠায় না।
🇩🇪 Deutsch
Proa: Rust-Webframework mit schnellem SSR
Proa ist ein neues Rust-Webframework, das auf Hacker News als Show-HN-Projekt vorgestellt wurde. Es konzentriert sich auf schnelles serverseitiges Rendering (SSR) und Multi-Target-Rendering, sodass dieselben Komponenten HTML und Markdown ausgeben können. Der Autor des Projekts hat Demovideos veröffentlicht, die den Multi-Target-Rendering-Ansatz erklären, zusammen mit einem öffentlichen Benchmark-Repository auf GitHub.
Das Framework dient dem Bau informationsdichter Anwendungen mit selektiver Interaktivität. Seine Entwickler haben Nachbauten von GitHub, Sentry und Airbnb als unabhängige Demos erstellt. Diese sind weder mit diesen Unternehmen verbunden noch von ihnen unterstützt. Die veröffentlichten Benchmarks nennen einen p50-Wert von 5,56 ms für React renderToString, gemessen bei warmen Produktionsläufen auf einem VPS mit 8 vCPUs (AMD EPYC-Milan).
Außerdem bietet Proa Proa UI an, eine Komponentenbibliothek im Shadcn-Stil in typisiertem Rust. Entwickler bewahren den Quellcode der Komponenten in ihrem eigenen Repository auf und können sie frei gestalten und kombinieren. Zu den Komponenten gehören Akkordeons, Tabellen, Schaltflächen, Formulare, auf dem Server als reines SVG gerenderte Diagramme, Datumsauswahlen und Chat-Nachrichtenblasen. Eine rein auf CSS basierende Akkordeon-Variante liefert kein JavaScript aus, und die Komponenten folgen dem WAI-ARIA-Disclosure-Muster für Barrierefreiheit.
Der Standardansatz des Frameworks ist, Seiten serverseitig zu rendern und JavaScript-Inseln nur dort auszuliefern, wo Interaktivität nötig ist. Der Hacker-News-Thread zum Projekt hatte zum Zeitpunkt der Veröffentlichung 44 Punkte und 4 Kommentare erhalten.
Benötigt Proa JavaScript, um seine Komponenten zu rendern?
Nicht unbedingt. Proa rendert Komponenten standardmäßig auf dem Server und liefert JavaScript nur für Inseln aus, die Interaktivität benötigen. Einige Komponenten, etwa das Akkordeon in der reinen CSS-Variante, liefern überhaupt kein JavaScript aus.
🇪🇸 Español
Proa: framework web de Rust con SSR rápido
Proa es un nuevo framework web en Rust presentado en Hacker News como un proyecto Show HN. Se centra en el renderizado rápido del lado del servidor (SSR) y en el renderizado multiobjetivo, lo que permite que los mismos componentes generen HTML y Markdown. El autor del proyecto ha publicado vídeos de demostración que explican el enfoque de renderizado multiobjetivo, junto con un repositorio público de benchmarks en GitHub.
El framework está diseñado para crear aplicaciones con mucha información y una interactividad selectiva. Sus creadores han desarrollado recreaciones de GitHub, Sentry y Airbnb como demostraciones independientes, que no están afiliadas ni cuentan con el respaldo de esas empresas. Los benchmarks publicados incluyen un valor p50 de 5,56 ms para React renderToString, medido en ejecuciones de producción en caliente en un VPS de 8 vCPU AMD EPYC-Milan.
Proa también ofrece Proa UI, una biblioteca de componentes en Rust tipado de estilo Shadcn. Los desarrolladores mantienen el código fuente de los componentes en su propio repositorio y pueden personalizarlos y combinarlos libremente. Los componentes incluyen acordeones, tablas, botones, formularios, gráficos renderizados como SVG puro en el servidor, selectores de fecha y burbujas de mensajes de chat. Una versión del acordeón solo con CSS no incluye JavaScript, y los componentes siguen el patrón de desplegables WAI-ARIA para la accesibilidad.
El enfoque predeterminado del framework consiste en renderizar las páginas en el servidor y enviar islas de JavaScript solo donde se necesita interactividad. El hilo del proyecto en Hacker News recibió 44 puntos y 4 comentarios en el momento de la publicación.
¿Proa necesita JavaScript para renderizar sus componentes?
No necesariamente. Proa renderiza los componentes en el servidor de forma predeterminada y envía JavaScript solo para las islas que necesitan interactividad. Algunos componentes, como el acordeón de su versión solo con CSS, no incluyen JavaScript en absoluto.
🇫🇷 Français
Proa : framework web Rust avec SSR rapide
Proa est un nouveau framework web en Rust présenté sur Hacker News comme un projet Show HN. Il met l'accent sur le rendu côté serveur (SSR) rapide et le rendu multi-cibles, permettant aux mêmes composants de produire du HTML et du Markdown. L'auteur du projet a publié des vidéos de démonstration expliquant l'approche de rendu multi-cibles, ainsi qu'un dépôt public de benchmarks sur GitHub.
Le framework est conçu pour créer des applications riches en informations avec une interactivité sélective. Ses créateurs ont réalisé des recréations de GitHub, Sentry et Airbnb sous forme de démonstrations indépendantes, qui ne sont ni affiliées à ces entreprises ni approuvées par elles. Les benchmarks annoncés font état d'un p50 de 5,56 ms pour React renderToString, mesuré lors d'exécutions de production à chaud sur un VPS AMD EPYC-Milan à 8 vCPU.
Proa propose également Proa UI, une bibliothèque de composants de style Shadcn en Rust typé. Les développeurs conservent le code source des composants dans leur propre dépôt et peuvent les thématiser et les assembler librement. Les composants comprennent des accordéons, des tableaux, des boutons, des formulaires, des graphiques rendus en SVG pur côté serveur, des sélecteurs de date et des bulles de messages de chat. Une version de l'accordéon en CSS seul n'embarque aucun JavaScript, et les composants suivent le modèle de disclosure WAI-ARIA pour l'accessibilité.
L'approche par défaut du framework consiste à rendre les pages côté serveur et à n'envoyer des îlots JavaScript que là où l'interactivité est nécessaire. Le fil du projet sur Hacker News avait recueilli 44 points et 4 commentaires au moment de la publication.
Proa nécessite-t-il JavaScript pour afficher ses composants ?
Pas nécessairement. Proa rend les composants côté serveur par défaut et n'envoie du JavaScript que pour les îlots qui nécessitent de l'interactivité. Certains composants, comme l'accordéon de sa version en CSS seul, n'embarquent aucun JavaScript.
🇮🇳 हिन्दी
Proa: तेज़ SSR वाला Rust वेब फ्रेमवर्क
Proa एक नया Rust वेब फ्रेमवर्क है, जिसे Hacker News पर Show HN प्रोजेक्ट के रूप में प्रस्तुत किया गया। यह तेज़ सर्वर-साइड रेंडरिंग (SSR) और मल्टी-टारगेट रेंडरिंग पर केंद्रित है, जिससे एक ही कंपोनेंट HTML और Markdown दोनों आउटपुट कर सकता है। प्रोजेक्ट के लेखक ने मल्टी-टारगेट रेंडरिंग के तरीके को समझाने वाले डेमो वीडियो प्रकाशित किए हैं, साथ ही GitHub पर एक सार्वजनिक बेंचमार्क रिपॉज़िटरी भी है।
यह फ्रेमवर्क सूचना-घने ऐप्स बनाने के लिए तैयार किया गया है, जिनमें चुनिंदा इंटरैक्टिविटी होती है। इसके निर्माताओं ने GitHub, Sentry और Airbnb के स्वतंत्र डेमो तैयार किए हैं, जो उन कंपनियों से संबद्ध नहीं हैं और न ही उनके द्वारा समर्थित हैं। रिपोर्ट किए गए बेंचमार्क में 8-vCPU AMD EPYC-Milan VPS पर वार्म प्रोडक्शन रनों में मापा गया React renderToString का 5.56 ms p50 मान शामिल है।
Proa UI भी प्रदान करता है, जो टाइप्ड Rust में बनी Shadcn-शैली की कंपोनेंट लाइब्रेरी है। डेवलपर कंपोनेंट का सोर्स अपने रिपॉज़िटरी में रखते हैं और उसे स्वतंत्र रूप से थीम और कंपोज़ कर सकते हैं। कंपोनेंट्स में एकॉर्डियन, टेबल, बटन, फॉर्म, सर्वर पर शुद्ध SVG के रूप में रेंडर होने वाले चार्ट, डेट पिकर और चैट संदेश बबल शामिल हैं। केवल CSS वाला एकॉर्डियन बिल्ड कोई JavaScript नहीं भेजता, और कंपोनेंट्स एक्सेसिबिलिटी के लिए WAI-ARIA डिसक्लोज़र पैटर्न का पालन करते हैं।
फ्रेमवर्क का डिफ़ॉल्ट तरीका पेजों को सर्वर पर रेंडर करना और JavaScript आइलैंड्स को केवल वहीं भेजना है जहाँ इंटरैक्टिविटी आवश्यक है। प्रकाशन के समय प्रोजेक्ट के Hacker News थ्रेड को 44 पॉइंट्स और 4 टिप्पणियाँ मिली थीं।
क्या Proa अपने कंपोनेंट्स को रेंडर करने के लिए JavaScript की आवश्यकता है?
जरूरी नहीं। Proa डिफ़ॉल्ट रूप से कंपोनेंट्स को सर्वर पर रेंडर करता है और JavaScript केवल उन आइलैंड्स के लिए भेजता है जिन्हें इंटरैक्टिविटी चाहिए। कुछ कंपोनेंट्स, जैसे इसके केवल-CSS बिल्ड वाला एकॉर्डियन, बिल्कुल भी JavaScript नहीं भेजते।
🇮🇩 Bahasa Indonesia
Proa: Framework Web Rust dengan SSR Cepat
Proa adalah framework web Rust baru yang diperkenalkan di Hacker News sebagai proyek Show HN. Framework ini berfokus pada rendering sisi server (SSR) yang cepat dan rendering multi-target, sehingga komponen yang sama dapat menghasilkan HTML dan Markdown. Penulis proyek telah mempublikasikan video demonstrasi yang menjelaskan pendekatan rendering multi-target, beserta repositori benchmark publik di GitHub.
Framework ini dibuat untuk membangun aplikasi yang padat informasi dengan interaktivitas selektif. Para pembuatnya telah membuat ulang GitHub, Sentry, dan Airbnb sebagai demo independen, yang tidak berafiliasi dengan maupun didukung oleh perusahaan-perusahaan tersebut. Benchmark yang dilaporkan mencakup nilai p50 sebesar 5,56 ms untuk React renderToString, diukur pada eksekusi produksi yang sudah hangat di VPS 8-vCPU AMD EPYC-Milan.
Proa juga menawarkan Proa UI, pustaka komponen bergaya Shadcn yang ditulis dalam Rust bertipe. Pengembang menyimpan sumber komponen di repositori mereka sendiri dan dapat mengatur tema serta menyusunnya secara bebas. Komponennya meliputi accordion, tabel, tombol, formulir, grafik yang dirender sebagai SVG murni di server, pemilih tanggal, dan gelembung pesan obrolan. Build accordion yang hanya menggunakan CSS tidak mengirim JavaScript sama sekali, dan komponen mengikuti pola disclosure WAI-ARIA untuk aksesibilitas.
Pendekatan default framework ini adalah merender halaman di server dan hanya mengirim pulau JavaScript di tempat yang membutuhkan interaktivitas. Pada saat publikasi, utas proyek di Hacker News telah memperoleh 44 poin dan 4 komentar.
Apakah Proa memerlukan JavaScript untuk merender komponennya?
Tidak selalu. Proa merender komponen di server secara default dan hanya mengirim JavaScript untuk pulau yang membutuhkan interaktivitas. Beberapa komponen, seperti accordion pada build yang hanya menggunakan CSS, sama sekali tidak mengirim JavaScript.
🇯🇵 日本語
Proa:高速SSRを備えたRust製Webフレームワーク
Proaは、Hacker NewsでShow HNプロジェクトとして紹介された新しいRust Webフレームワークです。高速なサーバーサイドレンダリング(SSR)とマルチターゲットレンダリングに重点を置いており、同じコンポーネントからHTMLとMarkdownの両方を出力できます。プロジェクトの作者はマルチターゲットレンダリングの手法を解説するデモ動画を公開しており、GitHubには公開のベンチマークリポジトリもあります。
このフレームワークは、選択的なインタラクティブ性を備えた情報密度の高いアプリを作ることを目的としています。開発者はGitHub、Sentry、Airbnbを再現した独立したデモを作成しており、これらは各社とは提携しておらず、各社の承認も受けていません。報告されているベンチマークでは、8vCPUのAMD EPYC-Milan VPS上でウォーム状態の本番実行時に測定したReact renderToStringのp50値が5.56 msとされています。
また、Proaは型付きRustで書かれたShadcn風のコンポーネントライブラリ「Proa UI」も提供しています。開発者はコンポーネントのソースを自分のリポジトリで管理し、自由にテーマを変更したり組み合わせたりできます。コンポーネントにはアコーディオン、テーブル、ボタン、フォーム、サーバー上で純粋なSVGとして描画されるチャート、日付ピッカー、チャットメッセージの吹き出しなどがあります。CSSのみで動作するアコーディオン版はJavaScriptを一切送信せず、アクセシビリティのためにWAI-ARIAの開示パターンに従っています。
フレームワークの標準的な方針は、ページをサーバーでレンダリングし、インタラクティブ性が必要な箇所にだけJavaScriptの「アイランド」を配信することです。公開時点で、このプロジェクトのHacker Newsのスレッドは44ポイントと4件のコメントを集めていました。
Proaではコンポーネントの描画にJavaScriptが必要ですか?
必ずしも必要ではありません。Proaは標準でコンポーネントをサーバー側で描画し、インタラクティブ性が必要なアイランドにのみJavaScriptを配信します。CSSのみ版のアコーディオンのように、JavaScriptをまったく配信しないコンポーネントもあります。
🇧🇷 Português
Proa: framework web em Rust com SSR rápido
Proa é um novo framework web em Rust apresentado no Hacker News como um projeto Show HN. Ele se concentra na renderização rápida no servidor (SSR) e na renderização multialvo, permitindo que os mesmos componentes gerem HTML e Markdown. O autor do projeto publicou vídeos de demonstração explicando a abordagem de renderização multialvo, junto com um repositório público de benchmarks no GitHub.
O framework foi criado para desenvolver aplicações com muita informação e interatividade seletiva. Seus criadores produziram recriações do GitHub, do Sentry e do Airbnb como demonstrações independentes, que não são afiliadas nem endossadas por essas empresas. Os benchmarks divulgados incluem um p50 de 5,56 ms para o renderToString do React, medido em execuções de produção já aquecidas em uma VPS de 8 vCPUs AMD EPYC-Milan.
O Proa também oferece o Proa UI, uma biblioteca de componentes no estilo Shadcn escrita em Rust tipado. Os desenvolvedores mantêm o código-fonte dos componentes em seu próprio repositório e podem personalizar e combinar os componentes livremente. Os componentes incluem acordeões, tabelas, botões, formulários, gráficos renderizados como SVG puro no servidor, seletores de data e balões de mensagens de chat. Uma versão do acordeão apenas com CSS não envia nenhum JavaScript, e os componentes seguem o padrão de disclosure WAI-ARIA para acessibilidade.
A abordagem padrão do framework é renderizar as páginas no servidor e enviar ilhas de JavaScript apenas onde a interatividade é necessária. A discussão do projeto no Hacker News havia recebido 44 pontos e 4 comentários na época da publicação.
O Proa exige JavaScript para renderizar seus componentes?
Não necessariamente. O Proa renderiza os componentes no servidor por padrão e envia JavaScript apenas para as ilhas que precisam de interatividade. Alguns componentes, como o acordeão em sua versão apenas com CSS, não enviam nenhum JavaScript.
🇷🇺 Русский
Proa: веб-фреймворк на Rust с быстрым SSR
Proa — новый веб-фреймворк на Rust, представленный на Hacker News как проект Show HN. Он ориентирован на быстрый серверный рендеринг (SSR) и мультицелевой рендеринг, позволяя одним и тем же компонентам выводить HTML и Markdown. Автор проекта опубликовал демонстрационные видео, объясняющие подход к мультицелевому рендерингу, а также открытый репозиторий с бенчмарками на GitHub.
Фреймворк предназначен для создания информационно насыщенных приложений с выборочной интерактивностью. Его создатели подготовили воссоздания GitHub, Sentry и Airbnb в виде независимых демонстраций, которые не связаны с этими компаниями и не одобрены ими. В опубликованных бенчмарках указано значение p50 для React renderToString, равное 5,56 мс, измеренное при прогретых производственных запусках на VPS с 8 vCPU AMD EPYC-Milan.
Также Proa предлагает Proa UI — библиотеку компонентов в стиле Shadcn, написанную на типизированном Rust. Разработчики хранят исходный код компонентов в собственном репозитории и могут свободно настраивать их оформление и комбинировать. Компоненты включают аккордеоны, таблицы, кнопки, формы, графики, которые на сервере рендерятся как чистый SVG, выбор дат и пузыри сообщений чата. Версия аккордеона только на CSS не передаёт никакого JavaScript, а компоненты следуют шаблону раскрытия WAI-ARIA для доступности.
По умолчанию фреймворк рендерит страницы на сервере и отправляет JavaScript-острова только там, где нужна интерактивность. На момент публикации обсуждение проекта на Hacker News набрало 44 балла и 4 комментария.
Требует ли Proa JavaScript для рендеринга своих компонентов?
Не обязательно. Proa по умолчанию рендерит компоненты на сервере и отправляет JavaScript только для островов, которым нужна интерактивность. Некоторые компоненты, например аккордеон в версии только на CSS, вообще не используют JavaScript.
🇨🇳 简体中文
Proa:具有快速SSR的Rust Web框架
Proa是一款新的Rust Web框架,在Hacker News上以Show HN项目的形式发布。它专注于快速服务器端渲染(SSR)和多目标渲染,使同一组件能够输出HTML和Markdown。该项目作者发布了解释多目标渲染方法的演示视频,并在GitHub上公开了基准测试代码库。
该框架旨在构建信息密集型应用,并支持选择性交互。其创建者制作了GitHub、Sentry和Airbnb的重制演示,这些是独立项目,与这些公司没有关联,也未获其认可。据报告的基准测试显示,在8核AMD EPYC-Milan VPS上进行预热生产运行时,React renderToString的p50值为5.56 ms。
Proa还提供Proa UI,这是一个基于类型化Rust的Shadcn风格组件库。开发者可以将组件源码保留在自己的代码库中,并自由地进行主题定制和组合。组件涵盖手风琴、表格、按钮、表单、在服务器端渲染为纯SVG的图表、日期选择器和聊天消息气泡。仅使用CSS的手风琴版本不包含任何JavaScript,并且这些组件遵循WAI-ARIA披露模式以提升无障碍性。
该框架的默认方式是服务器端渲染页面,仅在需要交互的地方才加载JavaScript孤岛。该项目在Hacker News上的讨论帖在发布时获得了44分和4条评论。
Proa渲染组件是否需要JavaScript?
不一定。Proa默认对组件进行服务器端渲染,仅为需要交互的孤岛加载JavaScript。某些组件(例如仅使用CSS的手风琴版本)完全不包含JavaScript。