Tauri 2: تطبيقات سطح مكتب أصغر 10 مرات من Electron

المطورون على منصة X يطلقون أدوات ذكاء اصطناعي ومديري أسهم ومحاكيات طرفية وحزم إنتاجية كاملة — كلها مبنية بـ Tauri 2. إطار العمل المدعوم بلغة Rust انتقل من بديل واعد إلى أداة إنتاج جاهزة، والأرقام توضح السبب: ملف تثبيت بحجم 8.6 ميغابايت مقابل 244 ميغابايت في Electron، مع نصف استهلاك الذاكرة.
إذا كنت تعرف React أو Vue أو Svelte أو أي إطار ويب، فأنت تعرف بالفعل كيف تبني الواجهة الأمامية. Tauri يتكفل بالباقي.
لماذا يكتسب Tauri 2 زخماً متسارعاً
غيّر Electron كل شيء عندما أثبت أنه يمكن بناء تطبيقات سطح المكتب بتقنيات الويب. لكنه جاء بثمن: كل تطبيق Electron يحمل نسخته الخاصة من Chromium وNode.js. لهذا السبب يبلغ حجم تطبيق "Hello World" البسيط أكثر من 100 ميغابايت ويستهلك 200-300 ميغابايت من الذاكرة في وضع الخمول.
Tauri يتبع نهجاً مختلفاً جذرياً. بدلاً من تضمين محرك متصفح، يستخدم WebView الأصلي لنظام التشغيل:
- Windows: WebView2 (مبني على Chromium، مثبت مسبقاً على Windows 10/11)
- macOS: WKWebView (WebKit، مدمج في macOS)
- Linux: WebKitGTK
الخلفية تعمل كـ ملف Rust مُترجَم — لا حاجة لبيئة تشغيل Node.js. النتيجة هي تطبيقات أصغر بشكل كبير وأسرع وأكثر أماناً.
الأرقام: Tauri 2 مقابل Electron
إليك ما تُظهره المقارنات الحقيقية:
| المقياس | Tauri 2 | Electron |
|---|---|---|
| حجم المُثبِّت | 8.6 ميغابايت | 244 ميغابايت |
| الذاكرة (6 نوافذ) | 172 ميغابايت | 409 ميغابايت |
| وقت البناء الأول | ~80 ثانية | ~16 ثانية |
| تبعية وقت التشغيل | لا شيء (ملف أصلي) | Node.js + Chromium |
البناء الأول في Tauri أبطأ لأن Rust يُترجَم إلى كود أصلي. لكن عمليات البناء اللاحقة سريعة، ويحصل مستخدموك على تجربة أسرع بشكل ملحوظ.
البدء في 5 دقائق
تحتاج إلى تثبيت Rust وإطار ويب من اختيارك. إليك أسرع طريقة:
# تثبيت Rust إذا لم يكن مثبتاً
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# إنشاء مشروع Tauri جديد مع React
npm create tauri-app@latest my-app -- --template react-ts
cd my-app
npm install
npm run tauri devهذا كل شيء. لديك الآن تطبيق سطح مكتب يعمل مع إعادة تحميل فوري على الواجهة الأمامية وRust يُشغّل الخلفية.
البنية: الواجهة الأمامية تلتقي بـ Rust
مشروع Tauri 2 يتكون من طبقتين:
الواجهة الأمامية (مجلد src/): كود ويب عادي — React أو Vue أو Svelte أو HTML/CSS/JS صرف. يتم عرضه داخل WebView الأصلي.
الخلفية (مجلد src-tauri/): كود Rust يتعامل مع عمليات النظام والوصول إلى الملفات وواجهات API الأصلية والحسابات الثقيلة.
الاثنان يتواصلان عبر أوامر — دوال Rust يمكنك استدعاؤها من JavaScript:
// src-tauri/src/lib.rs
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {}! Welcome to Tauri.", name)
}// src/App.tsx
import { invoke } from "@tauri-apps/api/core";
const greeting = await invoke("greet", { name: "Developer" });
// "Hello, Developer! Welcome to Tauri."هذا الفصل النظيف يعني أن فريق الويب يبني واجهة المستخدم بينما يتعامل Rust مع المنطق الحساس للأداء والوصول إلى النظام.
نظام الإضافات
Tauri 2 يأتي مع نظام إضافات رسمي يغطي معظم احتياجات سطح المكتب:
- @tauri-apps/plugin-fs — قراءة وكتابة الملفات
- @tauri-apps/plugin-dialog — نوافذ حوار فتح/حفظ أصلية
- @tauri-apps/plugin-shell — تشغيل أوامر النظام والملفات الثنائية المرافقة
- @tauri-apps/plugin-notification — إشعارات على مستوى نظام التشغيل
- @tauri-apps/plugin-store — تخزين مفتاح-قيمة دائم
- @tauri-apps/plugin-updater — تحديث تلقائي لتطبيقك
- @tauri-apps/plugin-http — إرسال طلبات HTTP من الخلفية
تثبيت إضافة بسيط:
npm run tauri add fsهذا يضيف تبعية Rust وروابط JavaScript تلقائياً.
الأمان: ميزة Rust
نموذج الأمان في Tauri أكثر صرامة بشكل ملحوظ من Electron. افتراضياً، الواجهة الأمامية ليس لديها أي وصول للنظام. كل قدرة — قراءة الملفات، الوصول إلى الشبكة، تشغيل الأوامر — يجب منحها صراحة في ملف إعداد:
{
"permissions": [
"fs:read-files",
"dialog:open",
"notification:default"
]
}نهج القائمة المسموحة هذا يعني أنه حتى لو تم تشغيل كود ضار في WebView، لا يمكنه الوصول إلى أي شيء لم تسمح به صراحة. مع ضمانات أمان الذاكرة في Rust، تتمتع تطبيقات Tauri بسطح هجوم أصغر بشكل ملموس.
دعم الهواتف: قاعدة كود واحدة، أربع منصات
قدّم Tauri 2 دعم الهواتف كميزة أساسية. نفس قاعدة الكود يمكن أن تستهدف:
- Windows
- macOS
- Linux
- iOS (عبر WKWebView)
- Android (عبر Android WebView)
# البناء لـ Android
npm run tauri android build
# البناء لـ iOS
npm run tauri ios buildبينما دعم الهواتف لا يزال في مرحلة النضج، فهو قابل للاستخدام بالفعل للأدوات الداخلية والتطبيقات المساعدة حيث تريد قاعدة كود واحدة عبر سطح المكتب والهاتف.
مشاريع حقيقية مبنية بـ Tauri 2
الإطار لم يعد تجريبياً. إليك ما يبنيه المطورون الآن:
- Triad — مساحة عمل متكاملة تجمع الطرفية والمتصفح ومحرر الكود، مبنية بـ Tauri 2 + React 19
- Cockpit Tools — مدير حسابات أدوات الذكاء الاصطناعي متعدد المنصات يدمج 12 أداة AI
- AgentSkills — لوحة تحكم لإدارة مهارات وكلاء AI عبر مزودين متعددين، باستخدام SQLite + React 19 + Tailwind
- Kivo — مدير مجموعات هرمي مع بحث ومعالج إعداد
تتراوح هذه من مشاريع فردية إلى أدوات إنتاج تُستخدم يومياً.
متى تختار Tauri بدلاً من Electron
اختر Tauri 2 عندما:
- حجم الحزمة واستهلاك الذاكرة مهمان (توزيع لمستخدمين بإنترنت بطيء أو أجهزة قديمة)
- تحتاج إعدادات أمان قوية افتراضياً
- فريقك لديه خبرة في Rust (أو مستعد للتعلم)
- تريد تطبيقاً متعدد المنصات للحاسوب والهاتف من كود واحد
- العمليات الخلفية الحساسة للأداء تستفيد من سرعة Rust الأصلية
ابقَ مع Electron عندما:
- فريقك بالكامل يعمل بـ JavaScript فقط وRust ليس في الخطة
- تحتاج تناسقاً مثالياً لواجهة المستخدم عبر المنصات (Chromium المُدمج في Electron يضمن عرضاً متطابقاً في كل مكان)
- تعتمد بشكل كبير على مكتبات بيئة Node.js للمنطق الخلفي
- أوقات البناء الأولى السريعة ضرورية لسير عمل التطوير
المفاضلة التي يجب معرفتها
اعتماد Tauri على WebViews النظام يعني أن تطبيقك قد يُعرض بشكل مختلف قليلاً على Windows (Chromium) وmacOS (WebKit) وLinux (WebKitGTK). هذا نفس التحدي الذي يواجهه مطورو الويب مع توافق المتصفحات — ونفس الحلول تنطبق: اختبر عبر المنصات وتجنب ميزات CSS المتقدمة جداً.
لمعظم التطبيقات، هذا ليس مشكلة. لكن إذا كنت تبني شيئاً بعرض مخصص معقد، اختبر مبكراً واختبر كثيراً.
الخطوات التالية للبدء
- تثبيت المتطلبات: Rust وإصدار Node.js المفضل لديك
- إنشاء مشروع:
npm create tauri-app@latest - قراءة الأدلة: وثائق Tauri 2 الرسمية تغطي كل شيء من إدارة النوافذ إلى التكامل العميق مع نظام التشغيل
- الانضمام للمجتمع: خادم Discord الخاص بـ Tauri نشط وصديق للمبتدئين
مجال تطبيقات سطح المكتب يتغير. Electron أثبت أن النموذج يعمل. Tauri 2 يُثبت أنه يمكن أن يعمل بخفة أكبر 10 مرات. إذا كنت تبني برمجيات سطح مكتب في 2026، فهو يستحق نظرة جادة.
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.