Electron (software framework)

Electron (formerly known as Atom Shell)[5] is a free and open-sourcesoftware framework developed and maintained by OpenJS Foundation.[6] The framework is designed to create desktop applications using web technologies (mainly HTML, CSS and JavaScript, although other technologies such as front-end frameworks and WebAssembly are possible) that are rendered using a version of the Chromium browser engine and a back end using the Node.js runtime environment.[7] It also uses various APIs to enable functionality such as native integration with Node.js services and an inter-process communication module.

Electron was originally built for Atom[5] and is the main GUI framework behind several other open-source projects including GitHub Desktop, Light Table,[8]WordPress Desktop,[9] and Eclipse Theia.[10] It is also used in Microsoft's proprietary code editor Visual Studio Code.

Architecture

Chromium forms the basis of a managed runtime, allowing application developers to write cross-platform applications in memory-safe JavaScript or TypeScript and target Web browser technologies including HTML, CSS, and SVG for graphics.

Electron-based applications include a "main" process and several "renderer" processes. The main process runs the logic for the application (e.g., menus, shell commands, lifecycle events), and can then launch multiple renderer processes by instantiating an instance of the BrowserWindow class, which loads a window that appears on the screen to render HTML, CSS, etc.

Both the main and renderer processes can run with Node.js integration if the nodeIntegration field in the main process is set to true.

Most of Electron's APIs are written in C++ or Objective-C and are exposed directly to the application code through JavaScript bindings.[11]

History

في سبتمبر 2021، انتقل Electron إلى دورة إصدار مدتها ثمانية أسابيع بين الإصدارات الرئيسية لتتوافق مع دورة إصدار Chromium Extended Stable وللامتثال لمتطلبات جديدة من متجر Microsoft والتي تتطلب أن تكون التطبيقات المستندة إلى المتصفح ضمن إصدارين رئيسيين من أحدث إصدار لمحرك المتصفح . [ 12 ]

يُصدر فريق Electron بانتظام إصدارات رئيسية جديدة بالتزامن مع كل إصدار آخر من Chromium . ويدعم فريق Electron أحدث ثلاثة إصدارات مستقرة. [ 13 ]

سجل الإصدارات
يطلقحالةتاريخ الافراج عنهتاريخ انتهاء الصلاحيةإصدار الكرومإصدار Node.jsإصدار الوحدةإصدار N-APIإصدار وحدة العناية المركزة
غير مدعوم: الإصدار 1.8.xنهاية الحياة12 ديسمبر 201720 ديسمبر 2018598.257؟؟
غير مدعوم: الإصدار 2.0.xنهاية الحياة1 مايو 201824 أبريل 2019618.957؟؟
غير مدعوم: الإصدار 3.1.xنهاية الحياة18 سبتمبر 201829 يوليو 20196610.2643؟
غير مدعوم: الإصدار 4.2.xنهاية الحياة20 ديسمبر 201822 أكتوبر 20196910.1169362.2
غير مدعوم: الإصدار 5.1.xنهاية الحياة24 أبريل 20194 فبراير 20207312.070463.1
غير مدعوم: الإصدار 6.1.xنهاية الحياة29 يوليو 201918 مايو 20207612.473464.2
غير مدعوم: الإصدار 7.3.xنهاية الحياة22 أكتوبر 201925 أغسطس 20207812.875464.2
غير مدعوم: الإصدار 8.3.xنهاية الحياة4 فبراير 202016 نوفمبر 20208012.1376565.1
غير مدعوم: الإصدار 9.4.xنهاية الحياة18 مايو 20202 مارس 20218312.1480565.1
غير مدعوم: الإصدار 10.4.xنهاية الحياة25 أغسطس 202025 مايو 20218512.1682565.1
غير مدعوم: الإصدار 11.4.xنهاية الحياة16 نوفمبر 202030 أغسطس 20218712.1885565.1
غير مدعوم: الإصدار 12.0.xنهاية الحياة2 مارس 202115 نوفمبر 2021 [ 14 ]8914.1687768.1
غير مدعوم: v13.xyنهاية الحياة25 مايو 202131 يناير 2022 [ 15 ]9114.1689768.1
غير مدعوم: v14.xyنهاية الحياة30 أغسطس 202129 مارس 2022 [ 16 ]9214.1789869.1
غير مدعوم: v15.xyنهاية الحياة21 سبتمبر 202124 مايو 2022 [ 17 ]9416.598؟؟
غير مدعوم: v16.xyنهاية الحياة15 نوفمبر 2021 [ 14 ]24 مايو 2022 [ 17 ]9616.999؟؟
غير مدعوم: v17.xyنهاية الحياة1 فبراير 2022 [ 15 ]2 أغسطس 20229816.13101؟؟
غير مدعوم: v18.xyنهاية الحياة29 مارس 2022 [ 16 ]26 سبتمبر 2022 [ 18 ]10016.13103؟؟
غير مدعوم: v19.xyنهاية الحياة24 مايو 2022 [ 17 ]29 نوفمبر 2022 [ 19 ]10216.14106؟؟
غير مدعوم: v20.xyنهاية الحياة2 أغسطس 2022 [ 20 ]7 فبراير 202310416.15؟؟؟
غير مدعوم: v21.xyنهاية الحياة26 سبتمبر 2022 [ 18 ]4 أبريل 202310616.16؟؟؟
غير مدعوم: v22.xyنهاية الحياة30 نوفمبر 2022 [ 19 ]10 أكتوبر 202310816.17؟؟؟
غير مدعوم: v23.xyنهاية الحياة30 نوفمبر 2022 [ 21 ]15 أغسطس 202311018.12؟؟؟
غير مدعوم: v24.xyنهاية الحياة4 أبريل 2023 [ 22 ]10 أكتوبر 202311218.14؟؟؟
غير مدعوم: v25.xyنهاية الحياة30 مايو 2023 [ 23 ]5 ديسمبر 202311418.15؟؟؟
غير مدعوم: v26.xyنهاية الحياة15 أغسطس 2023 [ 24 ]20 فبراير 202411618.16؟؟؟
غير مدعوم: v27.xyنهاية الحياة10 أكتوبر 2023 [ 25 ]16 أبريل 202411818.17؟؟؟
غير مدعوم: v28.xyنهاية الحياة5 ديسمبر 2023 [ 26 ]11 يونيو 202412018.18؟؟؟
غير مدعوم: v29.xyنهاية الحياة20 فبراير 202420 أغسطس 202412220.9؟؟؟
غير مدعوم: v30.xyنهاية الحياة16 أبريل 202415 أكتوبر 202412420.11؟؟؟
غير مدعوم: v31.xyنهاية الحياة11 يونيو 20247 يناير 202512620.14؟؟؟
غير مدعوم: v32.xyنهاية الحياة20 أغسطس 20244 مارس 202512820.16؟؟؟
غير مدعوم: v33.xyنهاية الحياة15 أكتوبر 2024 [ 27 ]29 أبريل 202513020.18؟؟؟
غير مدعوم: v34.xyنهاية الحياة14 يناير 2025 [ 28 ]24 يونيو 202513220.18؟؟؟
غير مدعوم: v35.xyنهاية الحياة4 مارس 2025 [ 29 ]2 سبتمبر 202513422.14؟؟؟
غير مدعوم: v36.xyنهاية الحياة29 أبريل 2025 [ 30 ]28 أكتوبر 202513622.14؟؟؟
غير مدعوم: v37.xyنهاية الحياة [ 31 ]24 يونيو 2025 [ 32 ]13 يناير 2026138.0.7204.25122.21.1؟؟؟
غير مدعوم: v38.xyنهاية الحياة2 سبتمبر 2025 [ 33 ]10 مارس 2026140.0.7339.24922.21.1؟؟؟
غير مدعوم: v39.xyنهاية الحياة28 أكتوبر 2025 [ 34 ]5 مايو 2026142.0.7444.23522.21.1؟؟؟
غير مدعوم: v40.xyنهاية الحياة13 يناير 2026 [ 35 ]30 يونيو 2026144.0.7547.024.11.1؟؟؟
الإصدار المدعوم: v41.xyنشيط10 مارس 2026 [ 36 ]25 أغسطس 2026146.0.7650.024.14.0؟؟؟
الإصدار المدعوم: v42.xyنشيط5 مايو 2026 [ 37 ]20 أكتوبر 2026148.0.7778.9624.15.0؟؟؟
أحدث إصدار: v43.xyحاضِر30 يونيو 2026 [ 38 ]5 يناير 2027150.0.7871.4624.17.0؟؟؟
نسخة تجريبية: v44.xyألفا25 أغسطس 2026 [ 39 ]2 مارس 2027151.0.7900.024.18.0؟؟؟
نسخة تجريبية: v45.xyليليًا25 أغسطس 2026 [ 40 ]2 مارس 2027151.0.7900.024.18.0؟؟؟

الاستخدام

تشمل تطبيقات سطح المكتب المبنية باستخدام Electron كلاً من Atom [ 41 ] و balenaEtcher [ 42 ] وDiscord و Slack [ 43 ] و Visual Studio Code [ 44 ] [ 45 ] . وكان متصفح Brave مبنيًا على Electron قبل إعادة كتابته لاستخدام Chromium مباشرةً [ 46 ] ، بينما استخدم Microsoft Teams تقنية Electron قبل الإصدار 2.0 [ 47 ] [ 48 ] .

استقبال

أكثر الانتقادات شيوعًا الموجهة إلى Electron هي أنها تُسبب تضخمًا في حجم البرامج عند استخدامها في البرامج البسيطة. [ 49 ] ونتيجةً لذلك، وصف مايكل لارابيل هذا الإطار بأنه "سيئ السمعة بين معظم مستخدمي أنظمة Linux المكتبية نظرًا لاستهلاكه الكبير للموارد، وعدم تكامله الجيد مع معظم بيئات سطح المكتب، وكرهه بشكل عام". [ 50 ] وقد أظهرت الأبحاث أن مجموعة ميزات Electron الواسعة يُمكن استغلالها من قِبل جهات خبيثة لديها صلاحية الكتابة إلى ملفات JavaScript المصدرية. ويتطلب هذا صلاحيات الجذر على الأنظمة الشبيهة بنظام Unix، ولا يعتبره مطورو Electron ثغرة أمنية. [ 51 ] وقد أوصى من يساورهم القلق من أن Electron لا يعتمد دائمًا على أحدث إصدار من Chromium بتطبيقات الويب التقدمية كبديل. [ 52 ]

انظر أيضاً

مراجع

  1. "electron/electron" . GitHub . مؤرشف من الأصل في 2 أغسطس 2016. تم الاطلاع عليه في 8 مايو 2018 .
  2. "إصدار Electron v43.1.0" . إصدارات Electron . 8 يوليو 2026. تم الاطلاع عليه بتاريخ 14 يوليو 2026 .
  3. "إصدار Electron v45.0.0-nightly.20260706" . إصدارات Electron . 6 يوليو 2026. تم الاطلاع عليه بتاريخ 14 يوليو 2026 .
  4. "electron/LICENSE at master" . GitHub . مؤرشف من الأصل بتاريخ 12 مايو 2017. تم الاطلاع عليه بتاريخ 3 يوليو 2020 .
  5. 1 2 ساويكي، كيفن (23 أبريل 2015). "غلاف الذرة أصبح الآن إلكترون" . إلكترون . مؤرشف من الأصل في 9 نوفمبر 2017. تم الاسترجاع في 6 يناير 2022 .
  6. "بناء تطبيقات سطح مكتب متعددة المنصات باستخدام جافا سكريبت، HTML، وCSS | إلكترون" . مؤرشف من الأصل في 9 مايو 2022. تم الاطلاع عليه في 1 فبراير 2023 .
  7. "Electron Internals: Using Node as a Library" . electronjs.org . 8 أغسطس 2016. مؤرشف من الأصل في 9 نوفمبر 2017. تم الاطلاع عليه في 3 يوليو 2020 .
  8. هورنر، غابرييل (10 ديسمبر 2015). "Light Table 0.8.0" . lighttable.com. مؤرشف من الأصل في 13 ديسمبر 2015. تم الاطلاع عليه في 3 يوليو 2020 .
  9. "مستودع GitHub" . GitHub . مؤرشف من الأصل في 19 فبراير 2016. تم الاطلاع عليه في 16 يونيو 2019 .
  10. "Theia - منصة تطوير متكاملة سحابية ومكتبية" . theia-ide.org . مؤرشف من الأصل بتاريخ 20 أبريل 2018. تم الاطلاع عليه بتاريخ 31 ديسمبر 2021 .
  11. "من لغة البرمجة الأصلية إلى جافا سكريبت في إلكترون | مدونة إلكترون" . electronjs.org . ١٩ مارس ٢٠١٩. مؤرشف من الأصل في ٢٦ أبريل ٢٠١٩. تم الاطلاع عليه في ٢٦ أبريل ٢٠١٩ .
  12. "إيقاع إصدار جديد للإلكترون | إلكترون" . electronjs.org . ١٤ يوليو ٢٠٢١. مؤرشف من الأصل في ١٤ يوليو ٢٠٢١. تم الاطلاع عليه في ٩ فبراير ٢٠٢٢ .
  13. "إصدارات إلكترون | إلكترون" . electronjs.org . مؤرشف من الأصل بتاريخ 16 ديسمبر 2022. تم الاطلاع عليه بتاريخ 16 ديسمبر 2022 .
  14. ١ ٢ "إصدار electron v16.0.0 · electron/electron" . GitHub . مؤرشف من الأصل في 6 ديسمبر 2021. تم الاطلاع عليه في 3 ديسمبر 2021 .
  15. ١ ٢ "إصدار electron v17.0.0 · electron/electron" . GitHub . مؤرشف من الأصل بتاريخ ١٢ فبراير ٢٠٢٢. تم الاطلاع عليه بتاريخ ٢٨ فبراير ٢٠٢٢ .
  16. ١ ٢ "إصدار electron v18.0.0 · electron/electron" . GitHub . مؤرشف من الأصل في ٤ مايو ٢٠٢٢. تم الاطلاع عليه في ٤ مايو ٢٠٢٢ .
  17. ١ ٢ ٣ "إصدار electron v19.0.0 · electron/electron" . GitHub . مؤرشف من الأصل في ٣١ مايو ٢٠٢٢. تم الاطلاع عليه في ٣١ مايو ٢٠٢٢ .
  18. ١ ٢ "إصدار electron v21.0.0 · electron/electron" . GitHub . مؤرشف من الأصل في ١٦ ديسمبر ٢٠٢٢. تم الاسترجاع في ١٦ ديسمبر ٢٠٢٢ .
  19. ١ ٢ "إصدار electron v22.0.0 · electron/electron" . GitHub . مؤرشف من الأصل في ١٥ ديسمبر ٢٠٢٢. تم الاطلاع عليه في ١٦ ديسمبر ٢٠٢٢ .
  20. "إصدار electron v20.0.0 · electron/electron" . GitHub . مؤرشف من الأصل بتاريخ 16 ديسمبر 2022. تم الاطلاع عليه بتاريخ 16 ديسمبر 2022 .
  21. "إصدار Electron v23.0.0 · electron/electron" . GitHub . مؤرشف من الأصل بتاريخ 23 سبتمبر 2023. تم الاطلاع عليه بتاريخ 23 سبتمبر 2023 .
  22. "إصدار Electron v24.0.0 · electron/electron" . GitHub . مؤرشف من الأصل بتاريخ 23 سبتمبر 2023. تم الاطلاع عليه بتاريخ 23 سبتمبر 2023 .
  23. "إصدار Electron v25.0.0 · electron/electron" . GitHub . مؤرشف من الأصل بتاريخ 23 سبتمبر 2023. تم الاطلاع عليه بتاريخ 23 سبتمبر 2023 .
  24. "إصدار Electron v26.0.0 · electron/electron" . GitHub . مؤرشف من الأصل بتاريخ 23 سبتمبر 2023. تم الاطلاع عليه بتاريخ 23 سبتمبر 2023 .
  25. "إصدار electron v27.0.0 · electron/electron" . GitHub . 10 أكتوبر 2023. مؤرشف من الأصل في 11 أكتوبر 2023. تم الاطلاع عليه في 11 أكتوبر 2023 .
  26. "إصدار electron v28.0.0 · electron/electron" . GitHub . 4 ديسمبر 2023. مؤرشف من الأصل في 14 ديسمبر 2023. تم الاطلاع عليه في 14 ديسمبر 2023 .
  27. "إصدار Electron v33.0.0 · electron/electron" . GitHub . ١٤ أكتوبر ٢٠٢٤. مؤرشف من الأصل في ٤ ديسمبر ٢٠٢٤. تم الاطلاع عليه في ١٦ أكتوبر ٢٠٢٤ .
  28. "إصدار electron v34.0.0 · electron/electron" . GitHub . 14 يناير 2025. مؤرشف من الأصل في 10 يونيو 2025. تم الاطلاع عليه في 7 مايو 2025 .
  29. "إصدار electron v35.0.0 · electron/electron" . GitHub . 3 مارس 2025. مؤرشف من الأصل في 10 يونيو 2025. تم الاطلاع عليه في 7 مايو 2025 .
  30. "إصدار electron v36.0.0 · electron/electron" . GitHub . 28 أبريل 2025. مؤرشف من الأصل في 26 نوفمبر 2025. تم الاطلاع عليه في 16 أكتوبر 2025 .
  31. "إلكترون 40.0.0 | إلكترون" . electronjs.org . 13 يناير 2026. تم الاطلاع عليه بتاريخ 24 فبراير 2026 .
  32. "إصدار Electron v37.10.3" . إصدارات Electron . 25 نوفمبر 2025. مؤرشف من الأصل في 16 ديسمبر 2025. تم الاطلاع عليه في 6 يناير 2026 .
  33. "إصدار Electron v38.7.2" . إصدارات Electron . 25 نوفمبر 2025. مؤرشف من الأصل في 13 ديسمبر 2025. تم الاطلاع عليه في 6 يناير 2026 .
  34. "إصدار Electron v39.2.7" . إصدارات Electron . 12 ديسمبر 2025. تم الاطلاع عليه في 6 يناير 2026 .
  35. "إلكترون 40.0.0" . إصدارات إلكترون . 13 يناير 2026. تم الاطلاع عليه بتاريخ 6 يناير 2026 .
  36. "v41.0.0 | إصدارات Electron" . releases.electronjs.org . تم الاطلاع عليه في 1 يوليو 2026 .
  37. "v42.0.0 | إصدارات Electron" . releases.electronjs.org . تم الاطلاع عليه في 1 يوليو 2026 .
  38. "v43.0.0 | إصدارات Electron" . releases.electronjs.org . تم الاطلاع عليه في 1 يوليو 2026 .
  39. "v44.0.0-alpha.3 | إصدارات Electron" . releases.electronjs.org . تم الاطلاع عليه بتاريخ 14 يوليو 2026 .
  40. "v44.0.0-nightly.20260507 | إصدارات Electron" . releases.electronjs.org . تم الاطلاع عليه في 1 يوليو 2026 .
  41. ساويكي، كيفن (23 أبريل 2015). "غلاف الذرة أصبح الآن إلكترون" . إلكترون . مؤرشف من الأصل في 16 أكتوبر 2019. تم الاسترجاع في 15 يوليو 2017 .
  42. "Etcher على GitHub" . GitHub . مؤرشف من الأصل في 16 نوفمبر 2018. تم الاطلاع عليه في 7 يوليو 2020 .
  43. "بناء تطبيقات هجينة باستخدام إلكترون" . موقع "Sulture People Are Coding " . 25 أكتوبر 2016. مؤرشف من الأصل في 16 أكتوبر 2019. تم الاطلاع عليه في 12 أغسطس 2017 .
  44. برايت، بيتر (29 أبريل 2015). "محرر أكواد مايكروسوفت الجديد مبني على كروميوم من جوجل" . آرس تكنيكا . مؤرشف من الأصل في 7 مايو 2015. تم الاطلاع عليه في 18 نوفمبر 2015 .
  45. "مشروع مفتوح المصدر" . جيت هاب . 29 مارس 2022. مؤرشف من الأصل في 23 نوفمبر 2015. تم الاطلاع عليه في 20 مايو 2018 .
  46. سينغ، جاغميت (3 يناير 2017). "يستخدم الناس الآن حتى لغة جافا سكريبت في تعلم الآلة" . المصادر المفتوحة للمستخدمين. مؤرشف من الأصل في 7 يناير 2017. تم الاطلاع عليه في 26 أغسطس 2022 .
  47. msdmaguire. "كيف يستخدم مايكروسوفت تيمز الذاكرة - مايكروسوفت تيمز" . docs.microsoft.com . مؤرشف من الأصل في 8 ديسمبر 2020. تم الاطلاع عليه في 12 نوفمبر 2021 .
  48. ريدموند، توني (25 يونيو 2021). "فرق العمل 2.0 تتخلى عن إلكترون لتتبنى إيدج ويب فيو 2" . أوفيس 365 لمحترفي تكنولوجيا المعلومات . تم الاطلاع عليه في 2 أغسطس 2024 .
  49. بروفن، ليام (19 نوفمبر 2021). "بعض جواهر البرمجيات الحرة والمفتوحة المصدر: فرانز، رامبوكس، بيدجين، وغيرها" . ذا ريجستر. مؤرشف من الأصل في 19 نوفمبر 2021. تم الاطلاع عليه في 26 أغسطس 2022 .
  50. لارابيل، مايكل (9 فبراير 2019). "تطبيقات إلكترون سيئة، لذا يمكنك الآن إنشاء تطبيقات سطح مكتب باستخدام HTML5 + Golang" . فورونيكس. مؤرشف من الأصل في 26 أغسطس 2022. تم الاسترجاع في 26 أغسطس 2022 .
  51. غالاغر، شون (7 أغسطس 2019). "يمكن اختراق تطبيقات مثل سكايب وسلاك وغيرها من التطبيقات المبنية على إلكترون بسهولة" . آرس تكنيكا. مؤرشف من الأصل في 7 أغسطس 2019. تم الاطلاع عليه في 26 أغسطس 2022 .
  52. هوفمان، كريس (15 أغسطس 2019). "ربما يكون هذا التطبيق الأصلي مجرد متصفح ويب قديم" . هاو تو جيك. مؤرشف من الأصل في 15 أغسطس 2019. تم الاطلاع عليه في 26 أغسطس 2022 .