"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > توري مقابل الإلكترون: مقارنة فنية

توري مقابل الإلكترون: مقارنة فنية

تم النشر بتاريخ 2024-07-30
تصفح:311

Tauri vs. Electron: A Technical Comparison

بالنسبة لتقنيات الويب في تطوير تطبيقات سطح المكتب، اثنان من أكثر المشاركين الواعدين في اللعبة هما Tauri وElectron. ومن الجدير بالذكر أن كل مشروع يهدف إلى توفير أدوات لبناء تطبيقات سطح المكتب عبر الأنظمة الأساسية باستخدام تقنيات الويب، ولكنها في الوقت نفسه تفعل ذلك بطرق مختلفة تمامًا عن بعضها البعض. سيحاول هذا المنشور توضيح المقارنة الفنية بين Tauri وElectron من حيث البنية والأداء والأمن وتجربة التطوير ودعم المجتمع.

1. الهندسة المعمارية

العمارة الإلكترونية:

المكونات الأساسية: Electron عبارة عن مزيج من Chromium، وهو محرك عرض ويب مفتوح المصدر، وNode.js، وهو وقت تشغيل JavaScript مفتوح المصدر. إنه ينتج وقت تشغيل يحتوي على كافة الميزات اللازمة لتطوير واجهات المستخدم الرسومية لسطح المكتب عبر تقنيات الويب.

نموذج العملية: يقوم تطبيق Electron بتشغيل عملية Node.js واحدة تسمى العملية الرئيسية. تدير هذه العملية أحداث دورة الحياة في التطبيق ويمكن أن تنتج عمليات عارض متعددة (واحدة لكل نافذة تطبيق) للتعامل مع واجهة المستخدم الرسومية.
التجميع: نظرًا لأن Electron يقوم بتجميع Chromium وNode.js بالكامل، تميل التطبيقات إلى أن تكون كبيرة الحجم نسبيًا.

العمارة التوري:

المكونات الأساسية: Tauri هو إطار خفيف الوزن تمامًا؛ فهو يستخدم فقط مكون عرض الويب لنظام التشغيل (يستخدم WebView2 على Windows، وWKWebView على macOS، وWebKitGTK على Linux) لعرض واجهة المستخدم ويستخدم Rust لمنطق الواجهة الخلفية.

نموذج العملية: يقوم Tauri بتقسيم الواجهة الأمامية (التي تعمل داخل عرض الويب) عن الواجهة الخلفية (المكتوبة بلغة Rust)، مما يؤدي إلى تحسين الأمان والأداء.

التجميع: مكونات عرض الويب الأصلية التي تستخدمها تطبيقات Tauri تعني أنها مجمعة بشكل أصغر بكثير مقارنة بالتطبيقات التي تجمع محرك متصفح كامل.

2. الأداء

الإلكترون:

استخدام الذاكرة: تميل تطبيقات الإلكترون إلى استهلاك المزيد من الذاكرة بسبب محرك Chromium المجمع والحمل الزائد لتشغيل عمليات متعددة.

وقت بدء التشغيل: يميل وقت بدء تشغيل تطبيق Electron إلى أن يكون بطيئًا لأنه يجب أولاً تشغيل محرك Chromium بالكامل.

أداء وقت التشغيل: تعمل تطبيقات الإلكترون أحيانًا بكفاءة أقل بسبب محرك Chromium الذي يستهلك الكثير من الموارد في بعض الأحيان. وهذا هو الحال، خاصة بالنسبة للتطبيقات التي تحتوي على العديد من مكونات واجهة المستخدم أو احتياجات العرض المعقدة.

الثور:

استخدام الذاكرة: تستهلك تطبيقات Tauri بشكل عام الذاكرة بكميات أقل نظرًا لأنها مدعومة من خلال عرض الويب الأصلي والواجهة الخلفية Rust خفيفة الوزن.

وقت بدء التشغيل: بشكل عام، ستبدأ تطبيقات Tauri بشكل أسرع بفضل حجم التطبيق الأصغر واستخدام مكونات عرض الويب الأصلية.

أداء وقت التشغيل:

وبالتالي سيكون Tauri قادرًا على الاستفادة من أداء Rust وميزاته فيما يتعلق بالسلامة - مما يضعه في وضع جيد كقوة في حد ذاته للاستخدام في البيئات المحدودة الموارد و التطبيقات التي تتطلب الأداء العالي. 3. الأمن

الإلكترون:

وضع الحماية:

في حين أن عمليات عرض الإلكترون تكون في وضع الحماية، فإن العملية الرئيسية تتمتع بإمكانية الوصول الكامل إلى النظام وتقدم بعض المخاوف الأمنية إذا لم يتم التعامل معها بشكل صحيح.

سطح الضعف:

يضيف محرك Chromium الكامل إلى سطح الهجوم. وهذا يجعل من الضروري التحديث والترقية بشكل متكرر ضد الثغرات الأمنية المكتشفة حديثًا.

IPC (الاتصال بين العمليات):

يجب تنفيذ نموذج الاتصال بين العمليات بعناية لتمكين العمليات الرئيسية وعمليات العارض من التواصل بشكل آمن دون أي خلل أمني. الثور:

وضع الحماية:

تعمل بنية وضع الحماية Tauri على إبعاد عرض الويب/واجهة المستخدم عن الواجهة الخلفية/المنطق. يؤدي هذا بطبيعته إلى تقليل المخاطر المتعلقة بالأخطاء الأمنية.

سطح الثغرة الأمنية:

سطح الثغرة الأمنية أقل لأنه يستخدم مكونات عرض الويب الأصلية في النظام عند مقارنته بمحرك متصفح كامل تم إنشاؤه وتجميعه. &&&]IPC:

تتمتع Tauri بآلية اتصال أكثر أمانًا بين العمليات، وذلك بفضل ضمانات Rust القوية للكتابة وسلامة الذاكرة التي تقلل من مخاطر المشكلات الأمنية.

4. تجربة التطوير

الإلكترون:

النظام البيئي:

تمتلك شركة Electron نظامًا بيئيًا ناضجًا يحتوي على وثائق واسعة النطاق، وعدد لا يحصى من المكونات الإضافية، والكثير من الوحدات التي طورها المجتمع.

الأدوات:

الأدوات والمكتبات المشتركة لتطوير الويب تجعل المهمة أسهل للمطورين.

تصحيح الأخطاء:

تأتي أدوات مثل Chrome DevTools مرفقة مع Electron، ومن السهل جدًا تصحيح الأخطاء.

الثور:

النظام البيئي:

برج الثور هو نظام بيئي، ينمو كل يوم من حوله؛ ويتزايد الدعم والتوثيق يومًا بعد يوم أيضًا، لكنه لا يزال في مراحله الأولى. يمكننا مقارنتها بإصدار سابق من النظام البيئي الإلكتروني.

الأدوات:

تتمتع Tauri بتكامل جيد مع أدوات تطوير الويب الحديثة اليوم، ويمكن إدارة الواجهة الخلفية لـ Rust باستخدام أدوات Rust القوية.

تصحيح الأخطاء:

تتضمن تقنيات تصحيح الأخطاء كلاً من أدوات تصحيح أخطاء عرض الويب وأدوات تصحيح أخطاء الصدأ الأكثر ثراءً بطبيعتها ولكن قد يكون إعدادها أكثر تعقيدًا في بعض الأحيان.

5. دعم المجتمع

الإلكترون:

الاعتماد:

يتمتع Electron باعتماد مرتفع مقارنة بالتطبيقات الأخرى التي تحتوي على العديد من التطبيقات البارزة (Slack وVisual Studio Code وDiscord).

المجتمع:

المجتمع الكبير والنشط حول Electron يشكل شبكة دعم قوية مع تحديثات متكررة ومجموعة من موارد الطرف الثالث.

الثور:

الاعتماد:

يعتبر Tauri أحدث ولكنه في طور اعتماد سريع للغاية بسبب طبيعته الخفيفة والفوائد الأمنية التي يوفرها.

المجتمع:

حجم مجتمع تاوري ينمو مع حجم المساهمات الجديدة؛ في الواقع، المشروع أكثر من نشط، لكنه بالتأكيد ليس بحجم مشروع الإلكترون.

خاتمة:

اختر بين Tauri وElectron حسب ضرورات وقيود مشروعك:

سيكون Electron مناسبًا للمطورين الذين يستهدفون نظامًا بيئيًا ناضجًا وممارسات تطوير الويب الشائعة باستخدام JavaScript ودعمًا واسعًا من المجتمع. ومع ذلك، فإن المزايا المذكورة تؤدي إلى استهلاك كبير للذاكرة وأحجام التطبيقات.

Tauri - استخدمه عندما تهتم بالأداء والأمان وأحجام التطبيقات الصغيرة من خلال الاستفادة الكاملة من مكونات Rust وعرض الويب الأصلية. يتحرك النظام البيئي بسرعة، ولكنه قد يتطلب منحنى تعليميًا أكبر إذا كان المطورون جديدًا على Rust.

يمكن أن يوفر كلا الإطارين تطبيقًا جيدًا لسطح المكتب عبر الأنظمة الأساسية، وسيعتمد الاختيار الأفضل على أولويات مشروعك وخبرة فريق التطوير.


بيان الافراج تم نشر هذه المقالة على: https://dev.to/vorillaz/tauri-vs-electron-a-technical-comparison-5f37?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3