13 نوفمبر 2026
React يدخل، Rust يخرج
المصممون يحتفظون بـ React. والأجهزة تحصل على Rust أصلي. كيف يحوّل Screen Compiler الشاشات إلى شيفرة وقت البناء، فلا يبقى على الجهاز متصفح يُهاجَم.
في هذه الصفحة
تُصمَّم الواجهات الحديثة بـ React. ولذلك يحمل عدد كبير جدًا من الأجهزة المخصصة، من لوحات التحكم إلى آلات التذاكر، محرك متصفح كاملًا، وهو من أكبر البرامج وأكثرها تعرضًا للهجوم، ليرسم بضعة أزرار وعبارة «Touch Start to begin».
أردنا أسلوب التصميم الحديث من دون المتصفح. فبنينا Screen Compiler.
اكتب الشاشة بـ React
يحتفظ مصمموك ومطورو الواجهات لديك بأدواتهم: المكوّنات، والخصائص (props)، ورموز التصميم، ومحررهم. ويكتبون الشاشة بـ TSX (وهذه مختصرة من إحدى شاشات الاختبار في 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>
وسلِّم Rust خالصًا
وقت البناء، على جهازك أو في CI، يحوّل Screen Compiler ذلك إلى Rust لبيئة تشغيل واجهة المستخدم في 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>
كل سطر يشير إلى موضعه في TSX الذي جاء منه. ويحصل الجهاز على تلك الشيفرة ولا شيء غيرها: لا محرك JavaScript، ولا متصفح، ولا صفحة ويب تُهاجَم. و Screen Compiler نفسه لا يُحمَّل على الجهاز أبدًا.
React يدخل، Rust يخرج
المتصفح يبقى في مرحلة البناء.
وقت البناء
الشاشة بـ TSXReact كما يكتبه المصممون
Screen Compilerدقيق، أو لا شيء
Rust خالصيُرَدّ إلى سطره في TSX
خارج المجموعة الجزئية: يُرفض، مع ذكر الملف والسطر والعمود
على الجهاز
بيئة تشغيل الواجهة في NoWayOSلا متصفح. لا JavaScript.
دقيق، أو لا شيء
المحوِّل الذي يخمّن محوِّل لا يمكن الوثوق به. يحوّل Screen Compiler مجموعته الجزئية المعلنة من TSX بدقة، ويرفض كل ما عداها مع ذكر الملف والسطر والعمود. ولا يقرّب أبدًا. و Rust الذي يكتبه لا يحوي unsafe ولا unwrap ولا panic.
ثم تُرسم كل شاشة محوَّلة بمحرك الرسم في NoWayOS وتُقارن، بكسلًا ببكسل، بصورتها المعتمدة. وإذا تحرك بكسل واحد، قال البناء ذلك.
أين وصل
Screen Compiler قيد التطوير: مجموعته الجزئية الأولى مبنية والتالية جارية. وهو مفتوح المصدر برخصة MIT، على GitHub إلى جانب NoWayOS. وإذا كان فريقك يصمم بـ React ويبني أجهزة لها شأن، فيسرّنا أن نسمع منك.