Tauri 1.0 هي عبارة عن منصة للتنافس مع Electron لإنشاء تطبيقات مخصصة.

تم نشر إصدار مشروع Tauri 1.0، لتطوير إطار عمل لإنشاء تطبيقات مستخدم متعددة المنصات بواجهة رسومية، تم إنشاؤها باستخدام تقنيات الويب. يشبه Tauri في جوهره منصة Electron، ولكنه يتمتع ببنية مختلفة واستهلاك أقل للموارد. كود المشروع مكتوب بلغة Rust ويتم توزيعه بموجب ترخيص Apache 2.0.

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

يمكن للتطبيق استخدام أي إطار ويب لبناء الواجهة، وإنتاج HTML وJavaScript وCSS كمخرجات. ترتبط الواجهة الأمامية، المعدة على أساس تقنيات الويب، بالواجهة الخلفية، التي تؤدي وظائف مثل تنظيم تفاعل المستخدم وتنفيذ تطبيق الويب. لمعالجة النوافذ على منصة Linux، يتم استخدام مكتبة GTK (ربط GTK 3 Rust)، وعلى نظامي التشغيل macOS وWindows، تم تطوير مكتبة Tao بواسطة المشروع، المكتوبة بلغة Rust.

لتشكيل الواجهة، يتم استخدام مكتبة WRY، وهي إطار عمل لمحرك متصفح WebKit لنظام التشغيل macOS، وWebView2 لنظام التشغيل Windows وWebKitGTK لنظام التشغيل Linux. كما تقدم المكتبة مجموعة من المكونات الجاهزة لتنفيذ عناصر الواجهة مثل القوائم وأشرطة المهام. في التطبيق الذي تقوم بإنشائه، يمكنك استخدام واجهة متعددة النوافذ، والتصغير إلى علبة النظام، وعرض الإشعارات من خلال واجهات النظام القياسية.

يتيح لك الإصدار الأول من النظام الأساسي إنشاء تطبيقات لنظام التشغيل Windows 7/8/10 (.exe و.msi) وLinux (.deb وAppImage) وmacOS (.app و.dmg). دعم iOS وAndroid قيد التطوير. يمكن توقيع الملف القابل للتنفيذ رقميا. للتجميع والتطوير، يتم تقديم واجهة CLI، بالإضافة إلى محرر VS Code، ومجموعة من البرامج النصية للتجميع لـ GitHub (tauri-action). يمكن استخدام المكونات الإضافية لتوسيع المكونات الأساسية لمنصة Tauri.

تتضمن الاختلافات عن منصة Electron أداة تثبيت أكثر إحكاما (3.1 ميجابايت في Tauri و52.1 ميجابايت في Electron)، واستهلاك منخفض للذاكرة (180 ميجابايت مقابل 462 ميجابايت)، وسرعة بدء تشغيل عالية (0.39 ثانية مقابل 0.80 ثانية)، واستخدام واجهة Rust الخلفية. بدلاً من Node .js، تدابير أمان وعزل إضافية (على سبيل المثال، Scoped Filesystem لتقييد الوصول إلى نظام الملفات).

المصدر: opennet.ru

إضافة تعليق