باختصار
Electron يشحن متصفحًا كاملًا مع تطبيقك، فالشكل نفسه في كل مكان، وفرق JavaScript تتحرك بسرعة. Tauri يستخدم WebView النظام مع Backend بـ Rust، فالتطبيق أخف والحدود أوضح. أبدأ دائمًا بسؤال: هل يكفي Tauri؟ ولا أنتقل إلى Electron إلا لسبب محدد.
في هذه الصفحة
File Converter Pro برنامج ديسكتوب يحوّل ملفاتك بـ 158 طريقة: مستندات، وصور، وصوت، وفيديو، وجداول، وملفات إعدادات. كل شيء يحصل على جهازك، بدون رفع وبدون تتبّع. والنسخة 3 أعدت بناءها من الصفر: محرّك تحويل بـ Rust داخل Tauri 2.
اشتغلت على Electron وعلى Tauri، وليس أحدهما أفضل دائمًا. هكذا أختار بينهما.
الفرق الأساسي
Electron يشحن متصفحًا كاملًا مع تطبيقك: Chromium للواجهة وNode.js للـ Backend، في كل نسخة تُثبَّت.
Tauri يشحن تطبيقك فقط، ويستخدم الـ WebView الموجود أصلًا في النظام: WebView2 على Windows، وWKWebView على macOS، وWebKitGTK على Linux. والـ Backend بـ Rust.
كل الفروق الأخرى تقريبًا تأتي من هنا.
الحجم
هذا الرقم الذي يتكلم عنه الجميع، وهو حقيقي. تطبيق Tauri بسيط قد يكون بضعة ميغابايت، بينما يبدأ تطبيق Electron البسيط من حوالي 100 أو أكثر، لأنه يحمل متصفحه معه.
لكن الفرق يعتمد على ما يفعله تطبيقك. File Converter Pro يضمّ ffmpeg وPandoc وTypst وpdfium حتى لا يضطر أحد إلى تثبيت أي شيء آخر. هذه الأدوات كبيرة، ولا يوجد Framework يصغّرها. Tauri وفّر عليّ المتصفح، لا الحمولة.
فإذا كان تطبيقك واجهة في معظمه، فالفرق كبير جدًا. وإذا كان يشحن أدوات ثقيلة، فالفرق أقل بكثير، وقارن نسختك الحقيقية لا Hello World.
شكل الواجهة
هذه أكبر ميزة حقيقية لـ Electron. الجميع يحصل على Chromium نفسه، فما تختبره هو ما يراه المستخدم.
مع Tauri، أنت تعمل على ثلاثة محرّكات متصفح مختلفة، وهي لا تتصرف بالطريقة نفسها. في واجهة عادية هذا مقدور عليه، لكن خصّص وقتًا لتختبر على كل نظام. وإذا كان تطبيقك يعتمد على أحدث ميزات المتصفح أو رسوم ثقيلة، ففكر في هذا جيدًا.
لغة الـ Backend
إذا كان فريقك يكتب JavaScript ولا يعرف Rust، فالبداية مع Electron أسرع بكثير، وتستطيع أن تستخدم كل npm من الـ Backend.
Rust يكلّفك أكثر في البداية، ويعوّضك عندما يكون الـ Backend هو المنتج نفسه. محرّك التحويل يقضي وقته مع ملفات كبيرة ومدخلات لا يمكن الوثوق بها، وهنا بالضبط تظهر قيمة أداء Rust وأمان الذاكرة فيه. لهذا كان الخيار الصحيح لهذا البرنامج.
الأمان
في Tauri، لا تصل الواجهة إلا إلى ما تسمح به صراحةً عبر نظام الصلاحيات، فأي خطأ في الـ Frontend يبقى أثره محدودًا. Electron يمكن تأمينه جيدًا أيضًا، لكن معظم هذا الشغل عليك أنت.
ولبرنامج وعده أن ملفاتك تبقى خاصة، أردت أن تكون هذه الحدود جزءًا من البنية نفسها.
ما لن يفعله أيٌّ منهما عنك
هذه الأمور أخذت من وقتي أكثر من اختيار الـ Framework:
- توقيع الكود. بدونه، يحذّر Windows وmacOS الناس من تطبيقك. File Converter Pro موقّع على Windows عبر برنامج SignPath Foundation للمشاريع المفتوحة، وموقّع وموثّق من Apple على macOS.
- الأدوات المضمّنة. شحن نسخ منفصلة لكل نظام ومعالج شغل دقيق. كل نسخة تحتاج إلى تنزيل وتغليف ورخصة صحيحة.
- الرخص. ffmpeg وPandoc برخصة GPL. اقرأ ما تفرضه قبل أن تضمّهما.
- الثقة. أنشر Checksums مع كل نسخة ليتأكد الناس مما نزّلوه.
- التحديث والانتقال. نقل المستخدمين من نسخة قديمة إلى نسخة أعدت بناءها يحتاج إلى خطة خاصة.
كيف أختار
اختر Tauri عندما:
- يهمك حجم التطبيق واستهلاك الذاكرة
- الـ Backend يقوم بشغل ثقيل أو حسّاس
- عندك خبرة في Rust، أو مستعد لتتعلمها
اختر Electron عندما:
- تحتاج إلى الشكل نفسه تمامًا في كل مكان
- فريقك كله JavaScript والسرعة أهم شيء
- تعتمد على حزم Node أو ميزات خاصة بـ Chromium
ساعدني أختار
Tauri أم Electron لتطبيقك؟
خمسة أسئلة، نفس ما كنت سأسألك إياه في مكالمة.
1من سيبنيه؟
2ماذا يفعل الـ Backend؟
3كم يجب أن يتطابق الشكل بين الأنظمة؟
4هل يهتم مستخدموك بحجم التطبيق والذاكرة؟
5هل تعتمد على حزم Node أو ميزات خاصة بـ Chromium؟
جوابك
الأسئلة الباقية حتى أقول لك ما أختاره: 5
لمعظم تطبيقات الديسكتوب الجديدة اليوم، أبدأ بسؤال: هل يكفي Tauri؟ ولا أنتقل إلى Electron إلا لسبب محدد. لكن تطبيق Electron الذي ينزل إلى السوق أفضل من تطبيق Tauri الذي لا ينزل.
تستطيع أن تنزّل File Converter Pro لترى النتيجة، أو احكي معي عن تطبيق ديسكتوب.
بقلم خالد جمال
مهندس برمجيات من بيروت، معروف أونلاين باسم Dequavious، ومؤسس Helm. أبني منصات SaaS وAI agents وتطبيقات ديسكتوب ومواقع للعملاء، من الفكرة حتى الإطلاق.






