WEBioDD Logo
WEBioDD
📁 تطوير البرمجيات ومصادر مفتوحة••⏱️ 5 دقيقة قراءة

TinyJS: بناء تطبيقات سطح مكتب صغيرة بحجم 6 ميجابايت

W

شبكة WEBioDD

تغطية وتحرير تقني مؤتمت بالذكاء الاصطناعي من المصادر المرجعية

TinyJS: بناء تطبيقات سطح مكتب صغيرة بحجم 6 ميجابايت
صورة تعبيرية
إعلان ممول
إعلانات

ابتكر المهندس تاروين سترو-سباير بيئة تشغيل JavaScript تُدعى TinyJS، تتيح للمطورين إنشاء تطبيقات سطح مكتب صغيرة جدًا، لا يتجاوز حجم العديد منها 6 ميجابايت على القرص. تعمل هذه التطبيقات على أنظمة macOS وLinux وWindows، وتهدف إلى توفير بديل خفيف الوزن لتطبيقات سطح المكتب التقليدية.

أبرز النقاط

  • TinyJS هي بيئة تشغيل JavaScript مصممة لتطبيقات سطح المكتب الصغيرة، بحجم حوالي 6 ميجابايت أو أقل.
  • تستخدم TinyJS محرك WebView الخاص بنظام التشغيل للعرض المرئي، مما يلغي الحاجة إلى طبقة واجهة مستخدم مخصصة.
  • تختلف عن Electron في حجم التطبيقات (Electron 150 ميجابايت+، TinyJS ~6 ميجابايت) وفي التوحيد البصري عبر المنصات.
  • تعتمد على txiki.js، وهي بيئة تشغيل JavaScript مدمجة للغاية، ولا تتطلب Node.js أو تجميع.
  • يمكن استخدامها لإنشاء تطبيقات باستخدام JavaScript وCSS وHTML، وتدعم أطر عمل مثل React وVue وSvelte.

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

وصف تاروين سترو-سباير، الذي وصف نفسه بأنه «صانع أشياء»، بيئة تشغيل JavaScript تُدعى TinyJS، مخصصة لإنشاء تطبيقات صغيرة جدًا (العديد منها يشغل حوالي 6 ميجابايت أو أقل على القرص) لأنظمة macOS وLinux وWindows.

ما الذي يميز TinyJS؟

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

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

يختلف نهج TinyJS بشكل كبير عن استخدام إطار عمل Electron، الذي يضم نواة متصفح Chromium مفتوحة المصدر مع كل تطبيق سطح مكتب. ولكن بينما يعد Electron بمظهر وإحساس متطابقين للتطبيق عبر جميع المنصات، فإن تطبيقات TinyJS ستظهر اختلافات بصرية طفيفة عند تشغيلها على المنصات المختلفة، بسبب الفروق الطفيفة في كيفية عمل محرك العرض الخاص بكل نظام تشغيل.

يدفع تطبيق Electron ثمن هذا التوحيد عبر المنصات: فمع Electron، يمكن أن يصل حجم أبسط تطبيق إلى 150 ميجابايت.

كيف يعمل TinyJS؟

النواة الأساسية لـ TinyJS هي txiki.js، وهي بيئة تشغيل JavaScript مدمجة للغاية كتبها ساؤول إيبارا كوريتجيه، وتجعل Deno وBun يبدوان كعملاقين. يبلغ حجم حزمة البدء حوالي 5.6 ميجابايت، ويشغل المشغل ميجابايت أخرى تقريبًا. والباقي من الحزمة هو بالأساس كود المطور.

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

يتم جميع عمليات البرمجة في TinyJS باستخدام JavaScript وCSS وHTML – دون الحاجة إلى التجميع. وهناك متسع كبير للإبداع هنا، حيث تتزايد قدرات تصميم الويب بشكل كبير في الآونة الأخيرة.

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

لا يحتاج المطورون إلى Node.js كاعتمادية هنا، إلا إذا أرادوا تشغيل إطار عمل يتطلب ذلك، مثل Vite. يمكنه أيضًا دعم أطر عمل JavaScript أخرى مثل React وVue وSvelte. أو يمكن تشغيله بدون أي اعتماديات على الإطلاق.

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

أنشأ سترو-سباير متجر تطبيقات يمكن تشغيله، بطبيعة الحال، من سطح المكتب (يمكن تنزيل نسخة Windows المضغوطة من هنا). وحتى وقت النشر، يقوم بفهرسة 25 تطبيقًا نموذجيًا كتبها.

تتنوع التطبيقات النموذجية، وجميعها مجانية، في فائدتها وغرابتها. تتضمن الرف ساعة عالمية (يتم شحنها كملف مضغوط بحجم 3.8 ميجابايت)، وتطبيق سجل الحافظة (3.7 ميجابايت)، ومحرر Markdown (4.9 ميجابايت)، وشبح سطح مكتب (3.8 ميجابايت)، ومتصفح SQLite (4.1 ميجابايت)، والأكثر إثارة للإعجاب، نسخة طبق الأصل من مشغل الموسيقى الشهير Winamp، والذي يتطلب 7.4 ميجابايت فقط من القرص الصلب الخاص بك.

بمجرد إقناع Windows Defender بالوثوق بالمشغل، يمكنك تنزيل وفتح التطبيق الذي تختاره مباشرة من الرف.

في الاختبارات، كان تطبيق النسخ واللصق، المكتوب بوضوح لمفاتيح اختصار Mac، لا يزال مليئًا بالأخطاء لنظام Windows، على الرغم من أن الساعة العالمية عملت بشكل جيد واستهلكت 15.5 ميجابايت فقط من ذاكرة الوصول العشوائي على جهازي. (تحذير: يتحقق المشغل من التجزئة لضمان صلاحية التطبيقات التي تم تنزيلها، على الرغم من أنك تثق في أن سترو-سباير لا يحمل أي نية سيئة هنا).

أو، يمكنك ببساطة تخطي الأمثلة وبناء تطبيقات الاختبار الخاصة بك.

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

®

جرّب الأداة: منسق ومتحقق JSON

🤖

إفصاح الشفافية ومصدر الخبر

كُتب هذا المقال بالذكاء الاصطناعي اعتماداً على المصدر المذكور أدناه، وفُحصت اقتباساته والأقوال المنسوبة فيه آلياً مقابل نص المصدر. لم يراجعه محرر بشري، فارجع إلى المصدر عند الشك.

زيارة المصدر الأصلي المرجعي
إعلان ممول
إعلانات

📰 مقالات وتقارير ذات صلة