بالنسبة لتقنيات الويب في تطوير تطبيقات سطح المكتب، اثنان من أكثر المشاركين الواعدين في اللعبة هما Tauri وElectron. ومن الجدير بالذكر أن كل مشروع يهدف إلى توفير أدوات لبناء تطبيقات سطح المكتب عبر الأنظمة الأساسية باستخدام تقنيات الويب، ولكنها في الوقت نفسه تفعل ذلك بطرق مختلفة تمامًا عن بعضها البعض. سيحاول هذا المنشور توضيح المقارنة الفنية بين Tauri وElectron من حيث البنية والأداء والأمن وتجربة التطوير ودعم المجتمع.
المكونات الأساسية: Electron عبارة عن مزيج من Chromium، وهو محرك عرض ويب مفتوح المصدر، وNode.js، وهو وقت تشغيل JavaScript مفتوح المصدر. إنه ينتج وقت تشغيل يحتوي على كافة الميزات اللازمة لتطوير واجهات المستخدم الرسومية لسطح المكتب عبر تقنيات الويب.
نموذج العملية: يقوم تطبيق Electron بتشغيل عملية Node.js واحدة تسمى العملية الرئيسية. تدير هذه العملية أحداث دورة الحياة في التطبيق ويمكن أن تنتج عمليات عارض متعددة (واحدة لكل نافذة تطبيق) للتعامل مع واجهة المستخدم الرسومية.
التجميع: نظرًا لأن Electron يقوم بتجميع Chromium وNode.js بالكامل، تميل التطبيقات إلى أن تكون كبيرة الحجم نسبيًا.
المكونات الأساسية: Tauri هو إطار خفيف الوزن تمامًا؛ فهو يستخدم فقط مكون عرض الويب لنظام التشغيل (يستخدم WebView2 على Windows، وWKWebView على macOS، وWebKitGTK على Linux) لعرض واجهة المستخدم ويستخدم Rust لمنطق الواجهة الخلفية.
نموذج العملية: يقوم Tauri بتقسيم الواجهة الأمامية (التي تعمل داخل عرض الويب) عن الواجهة الخلفية (المكتوبة بلغة Rust)، مما يؤدي إلى تحسين الأمان والأداء.
التجميع: مكونات عرض الويب الأصلية التي تستخدمها تطبيقات Tauri تعني أنها مجمعة بشكل أصغر بكثير مقارنة بالتطبيقات التي تجمع محرك متصفح كامل.
استخدام الذاكرة: تميل تطبيقات الإلكترون إلى استهلاك المزيد من الذاكرة بسبب محرك Chromium المجمع والحمل الزائد لتشغيل عمليات متعددة.
وقت بدء التشغيل: يميل وقت بدء تشغيل تطبيق Electron إلى أن يكون بطيئًا لأنه يجب أولاً تشغيل محرك Chromium بالكامل.
أداء وقت التشغيل: تعمل تطبيقات الإلكترون أحيانًا بكفاءة أقل بسبب محرك Chromium الذي يستهلك الكثير من الموارد في بعض الأحيان. وهذا هو الحال، خاصة بالنسبة للتطبيقات التي تحتوي على العديد من مكونات واجهة المستخدم أو احتياجات العرض المعقدة.
الثور:استخدام الذاكرة: تستهلك تطبيقات Tauri بشكل عام الذاكرة بكميات أقل نظرًا لأنها مدعومة من خلال عرض الويب الأصلي والواجهة الخلفية Rust خفيفة الوزن.
وقت بدء التشغيل: بشكل عام، ستبدأ تطبيقات Tauri بشكل أسرع بفضل حجم التطبيق الأصغر واستخدام مكونات عرض الويب الأصلية.
أداء وقت التشغيل:وبالتالي سيكون Tauri قادرًا على الاستفادة من أداء Rust وميزاته فيما يتعلق بالسلامة - مما يضعه في وضع جيد كقوة في حد ذاته للاستخدام في البيئات المحدودة الموارد و التطبيقات التي تتطلب الأداء العالي. 3. الأمن
في حين أن عمليات عرض الإلكترون تكون في وضع الحماية، فإن العملية الرئيسية تتمتع بإمكانية الوصول الكامل إلى النظام وتقدم بعض المخاوف الأمنية إذا لم يتم التعامل معها بشكل صحيح.
سطح الضعف:يضيف محرك Chromium الكامل إلى سطح الهجوم. وهذا يجعل من الضروري التحديث والترقية بشكل متكرر ضد الثغرات الأمنية المكتشفة حديثًا.
IPC (الاتصال بين العمليات):يجب تنفيذ نموذج الاتصال بين العمليات بعناية لتمكين العمليات الرئيسية وعمليات العارض من التواصل بشكل آمن دون أي خلل أمني. الثور:
وضع الحماية:تعمل بنية وضع الحماية Tauri على إبعاد عرض الويب/واجهة المستخدم عن الواجهة الخلفية/المنطق. يؤدي هذا بطبيعته إلى تقليل المخاطر المتعلقة بالأخطاء الأمنية.
سطح الثغرة الأمنية:سطح الثغرة الأمنية أقل لأنه يستخدم مكونات عرض الويب الأصلية في النظام عند مقارنته بمحرك متصفح كامل تم إنشاؤه وتجميعه. &&&]IPC:
تتمتع Tauri بآلية اتصال أكثر أمانًا بين العمليات، وذلك بفضل ضمانات Rust القوية للكتابة وسلامة الذاكرة التي تقلل من مخاطر المشكلات الأمنية.4. تجربة التطوير
الإلكترون:الأدوات:
الأدوات والمكتبات المشتركة لتطوير الويب تجعل المهمة أسهل للمطورين.تصحيح الأخطاء:
تأتي أدوات مثل Chrome DevTools مرفقة مع Electron، ومن السهل جدًا تصحيح الأخطاء.الثور:
الأدوات:
تتمتع Tauri بتكامل جيد مع أدوات تطوير الويب الحديثة اليوم، ويمكن إدارة الواجهة الخلفية لـ Rust باستخدام أدوات Rust القوية.تصحيح الأخطاء:
تتضمن تقنيات تصحيح الأخطاء كلاً من أدوات تصحيح أخطاء عرض الويب وأدوات تصحيح أخطاء الصدأ الأكثر ثراءً بطبيعتها ولكن قد يكون إعدادها أكثر تعقيدًا في بعض الأحيان.5. دعم المجتمع
الإلكترون:المجتمع:
المجتمع الكبير والنشط حول Electron يشكل شبكة دعم قوية مع تحديثات متكررة ومجموعة من موارد الطرف الثالث.الثور:
المجتمع:
حجم مجتمع تاوري ينمو مع حجم المساهمات الجديدة؛ في الواقع، المشروع أكثر من نشط، لكنه بالتأكيد ليس بحجم مشروع الإلكترون.خاتمة:
اختر بين Tauri وElectron حسب ضرورات وقيود مشروعك:Tauri - استخدمه عندما تهتم بالأداء والأمان وأحجام التطبيقات الصغيرة من خلال الاستفادة الكاملة من مكونات Rust وعرض الويب الأصلية. يتحرك النظام البيئي بسرعة، ولكنه قد يتطلب منحنى تعليميًا أكبر إذا كان المطورون جديدًا على Rust.
يمكن أن يوفر كلا الإطارين تطبيقًا جيدًا لسطح المكتب عبر الأنظمة الأساسية، وسيعتمد الاختيار الأفضل على أولويات مشروعك وخبرة فريق التطوير.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3