हम निर्मित क्रॉस प्लेटफॉर्म डेस्कटॉप एप्लिकेशन की योजना बना रहे हैं। हमने पाया कि नोड-वेबकिट हमारे लिए एक आदर्श विकल्प है। लेकिन गिटहब ने नोड-वेबकिट का उपयोग करने के बजाय इलेक्ट्रॉन नामक अपना ढांचा विकसित किया ।
उनके बीच क्या अंतर है?
हम निर्मित क्रॉस प्लेटफॉर्म डेस्कटॉप एप्लिकेशन की योजना बना रहे हैं। हमने पाया कि नोड-वेबकिट हमारे लिए एक आदर्श विकल्प है। लेकिन गिटहब ने नोड-वेबकिट का उपयोग करने के बजाय इलेक्ट्रॉन नामक अपना ढांचा विकसित किया ।
उनके बीच क्या अंतर है?
जवाबों:
इलेक्ट्रॉन में नोड-वेबकिट के साथ अंतर को समझाने वाला एक पेज है:
https://github.com/atom/electron/blob/master/docs/development/atom-shell-vs-node-webkit.md
नोड-वेबकिट की तरह, इलेक्ट्रॉन जावास्क्रिप्ट और HTML के साथ डेस्कटॉप अनुप्रयोगों को लिखने के लिए एक मंच प्रदान करता है, और वेब पृष्ठों में निम्न स्तर की प्रणाली तक पहुंच प्रदान करने के लिए नोड एकीकरण है।
लेकिन दो परियोजनाओं के बीच बुनियादी अंतर भी हैं जो इलेक्ट्रॉन को नोड-वेबकिट से पूरी तरह से अलग उत्पाद बनाते हैं:
1 - आवेदन की प्रविष्टि
NW.js में एक एप्लिकेशन का मुख्य प्रवेश बिंदु एक वेब पेज या एक जेएस स्क्रिप्ट है। आप package.json में एक html या js फ़ाइल निर्दिष्ट करते हैं और इसे ब्राउज़र विंडो में एप्लिकेशन की मुख्य विंडो (html प्रविष्टि के मामले में) या स्क्रिप्ट निष्पादित होने पर खोला जाता है।
जबकि इलेक्ट्रॉन में, प्रवेश बिंदु एक जावास्क्रिप्ट स्क्रिप्ट है, सीधे URL प्रदान करने के बजाय, आपको मैन्युअल रूप से एक ब्राउज़र विंडो बनाने की जरूरत है और उसमें संबंधित एपीआई के साथ html फ़ाइल लोड करना होगा। आपको यह भी देखना होगा कि एप्लिकेशन को कब छोड़ना है, यह तय करने के लिए विंडो इवेंट्स को सुनना होगा।
तो इलेक्ट्रॉन Node.js रनटाइम की तरह अधिक काम करता है, और API अधिक निम्न स्तर के होते हैं, आप फ़ैंटम जैसे वेब परीक्षण उद्देश्य के लिए इलेक्ट्रॉन का उपयोग भी कर सकते हैं,
2 - बिल्ड सिस्टम
पूरे क्रोमियम के निर्माण की जटिलता से बचने के लिए, क्रोम क्रोमियम की सामग्री एपीआई तक पहुंचने के लिए लिबक्रोमियमकंटेंट का उपयोग करता है, लिबक्रोमियमकंटेंट एक एकल, साझा पुस्तकालय है जिसमें क्रोमियम सामग्री मॉड्यूल और इसकी सभी निर्भरताएं शामिल हैं। इसलिए उपयोगकर्ताओं को एटम-शेल बनाने के लिए एक शक्तिशाली मशीन की आवश्यकता नहीं है।
3 - नोड एकीकरण
नोड-वेबकिट में, वेब पेजों में नोड इंटीग्रेशन को काम करने के लिए क्रोमियम को पैच करने की आवश्यकता होती है, जबकि इलेक्ट्रॉन में हमने क्रोमियम को हैक करने से बचने के लिए प्रत्येक प्लेटफ़ॉर्म के मैसेज लूप में लिब्यूव लूप को एकीकृत करने के लिए एक अलग तरीका चुना है, नोड_बिन्डिंग कोड देखें कि यह कैसे किया गया था।
4 - बहु-संदर्भ
यदि आप एक अनुभवी नोड-वेबकिट उपयोगकर्ता हैं, तो आपको नोड संदर्भ और वेब संदर्भ की अवधारणा से परिचित होना चाहिए, इन अवधारणाओं का आविष्कार किया गया था क्योंकि नोड-वेबकिट कैसे लागू किया गया था।
नोड के बहु-संदर्भ सुविधा का उपयोग करके, इलेक्ट्रॉन वेब पृष्ठों में एक नया जावास्क्रिप्ट संदर्भ पेश नहीं करता है।
स्रोत कोड सुरक्षा
इलेक्ट्रॉन आसार के साथ अपने अनुप्रयोगों को पैकेजिंग कर रहा है , जिसमें अनुप्रयोगों का असुरक्षित स्रोत कोड है। यह एप्लिकेशन 1 के लिए आवेदन 2 को निकालने और कमजोर लिपियों को इंजेक्ट करने के लिए संभव बनाता है, बिना उपयोगकर्ता को यह जानने के बिना। आप एक उदाहरण के लिए स्लैक ऐप में हेरफेर करने के तरीके को देखने के लिए GitHub पर इस परियोजना की जांच कर सकते हैं । अभी तक, इलेक्ट्रॉन टीम के पास सोर्स कोड प्रोटेक्शन के लिए समर्थन को लागू करने की कोई योजना नहीं है ।
NW.js ने अपने स्रोत कोड को संरक्षित बायनेरिज़ के संकलन के लिए समर्थन में बनाया है ।