2011-02-22 9 views
11

Google क्रोम का मूल ग्राहक जल्द ही रिलीज़ हो जाएगा। http://blog.chromium.org/2011/02/native-client-getting-ready-for-takeoff.html क्या यह सर्वर के माध्यम से बिना किसी अन्य के साथ संवाद करने के लिए वितरित अनुप्रयोगों को सक्षम करने के लिए ब्राउज़र के भीतर node.js को चलाने की अनुमति देगा?क्या Node.js अपने मूल ग्राहक (जल्द ही रिलीज़ होने के लिए) में क्रोम में क्लाइंट पक्ष चला सकता है

उत्तर

1

node.js शुद्ध जावास्क्रिप्ट कोड नहीं है। सी ++ में इसके कुछ हिस्से लिखे गए हैं, इसलिए यह असंभव है।

वितरित संचार के लिए कुछ संभावनाएं हैं। एक अन्य ब्राउज़र के साथ संवाद करने के लिए ब्राउज़र में Websockets एपीआई का उपयोग करना है। दूसरा एक ब्राउज़र के समान मशीन पर एक अलग सर्वर प्रक्रिया के रूप में node.js चलाने के लिए है।

यह दूसरा वितरित अनुप्रयोग बनाने के लिए बेहतर विकल्प है क्योंकि यह ब्राउज़र पर निर्भरता को कम करता है। Node.js का संस्करण 0.5.0pre अब सिग्विन पर ठीक बनाता है और विंडोज क्लाइंट को वितरित करने के लिए एक स्टैंडअलोन बाइनरी के रूप में सिग्विन के आवश्यक घटकों को बंडल करना संभव है। Older versions of node.js used to be distributed this way.

+2

नोड सी में लिखा है: http://hackermedley.org/new-web-tech/ के रूप में क्रोम के लिए मूल क्लाइंट मूल कोड ब्राउज़र के भीतर इस्तेमाल किया जा करने की अनुमति देगा, मैं शायद नोड इस्तेमाल किया जा सकता सोचा .. – Sycren

+0

मैंने हाल ही में node.js के 0.5.0pre का निर्माण किया है और src फ़ोल्डर इस तरह की पंक्तियों के साथ .cc फ़ाइलों से भरा है: स्थिर स्थिर प्रक्रिया; लेकिन यह मामूली विस्तार है क्योंकि मूल ग्राहक सी और सी ++ दोनों की अनुमति देता है। जावास्क्रिप्ट इंजन एक और जटिल मुद्दा है। क्या आप दूसरे में बंधे हैं ताकि नोड.जेएस का अपना हो या आप किसी मौजूदा तरीके से लाभ उठा सकें। यह एक साधारण प्लगइन के रूप में आसान नहीं होगा। –

+1

@ साइक्रैन: यह इस बात पर निर्भर करता है कि आप लिखित परिभाषित कैसे करते हैं। नोड.जेएस ज्यादातर वी 8 और वी 8 सी ++ है! – adamse

0

आप ब्राउज़र में Node.js नहीं चला सकते हैं।

हालांकि, यदि आप पी 2 पी कनेक्शन करना चाहते हैं, तो ब्राउज़र के नवीनतम संस्करण (फ्लैश 10) स्थापित होने पर यह संभव है। नवीनतम संस्करण में, उन्होंने RTMFP पेश किया जो आपको सर्वर से गुज़रने के बिना पी 2 पी कनेक्शन करने देता है। यदि आप इसे जावास्क्रिप्ट में उपयोग करना चाहते हैं, तो आप एक पुल बना सकते हैं या आप a project I started recently पर एक नज़र डाल सकते हैं जो ठीक है।

+0

मैं अन्य कंप्यूटरों को प्रोटीन फोल्डिंग के लिए प्रोटीन फोल्डिंग के लिए एक एल्गोरिदम वितरित करने का एक तरीका ढूंढ रहा था। हालांकि अब node.js को चलाने के लिए असंभव है, मैं उम्मीद कर रहा था कि भविष्य में कभी-कभी संभव हो सकता है – Sycren

+0

@ साइक्रैन आप [BOINC] (http://boinc.berkeley.edu/) पर एक नज़र डाल सकते हैं जो बनाया गया है इस तरह की चीजों के लिए। यह ब्राउज़र आधारित नहीं है, लेकिन डेस्कटॉप आधारित कठिन है। – HoLyVieR

+0

मैं इसे ब्राउज़र के माध्यम से करने की सोच रहा था क्योंकि यह भविष्य में बाद में और अधिक महत्वपूर्ण हो जाएगा .. मैं यह भी उम्मीद कर रहा था कि जावास्क्रिप्ट में प्रोग्रामिंग का मतलब प्रत्येक ऑपरेटिंग सिस्टम के लिए थोड़ा अलग कोड के बजाय कोड का 1 सेट होगा जावा वर्चुअल मशीन की तरह थोड़ा। यद्यपि आप तर्क दे सकते हैं कि ब्राउज़र जेएस का अलग-अलग उपयोग करेंगे, मुझे नहीं लगता कि ब्राउजर द्वारा गणितीय फ़ंक्शंस बहुत अधिक बदल जाएंगे – Sycren

11

आजकल ऐसे कई समाधान हैं जो आपको क्रोम में कुछ नोड मॉड्यूल चलाने की अनुमति देते हैं।

  • node-webkit कोई एप्लिकेशन क्रोमियम और node.js. के आधार पर क्रम है: इन लिंक पर एक नज़र

  • Node-chromify, क्रोम में Node.js।

  • Screen cast क्रोम पैक किए गए ऐप्स में Google से नोडजेएस के बारे में Google से।

4

आज के रूप में, Node.js NaCl में नहीं चलेंगे, हालांकि अंततः यह संभव हो सकता है। कोड निष्पादित करने के लिए नोड V8 जावास्क्रिप्ट इंजन का उपयोग करता है। वर्तमान में वी 8 इंजन का कोई विश्वसनीय बंदरगाह नहीं है जो NaCl के भीतर चलाएगा।

28 जनवरी, 2014 को ब्रैड चेन द्वारा एक टिप्पणी से, सूत्र में "किसी को स्थानीय क्लाइंट के लिए Blink और V8 पोर्टिंग की कोशिश की है?":

वी 8 मूल क्लाइंट पर वापस पोर्ट दिया गया है, हालांकि बंदरगाह एवीएम निर्देश उत्पन्न करने की असुरक्षित चाल का उपयोग किया और फिर पोर्ट V8 कोड जेनरेटर को NaCl पर आवश्यकता से बचने के लिए पोर्टेबल एआरएम दुभाषिया का उपयोग करें। आपको V8 स्रोत और लक्ष्य nacl_ia32 या nacl_x64 का उपयोग करके मानक निर्माण/परीक्षण निर्देशों का पालन करके इसका निरीक्षण करने में सक्षम होना चाहिए।

https://groups.google.com/d/msg/native-client-discuss/Xw5yCe3Ubwc/fgm6M092DXwJ

यह देखते हुए कि वी 8 पहले से ही सोडियम क्लोराइड अंतर्गत चलाने के लिए, एक अविश्वसनीय हैक साथ यद्यपि में सक्षम रहा है, यह मान लेना कि नोड अंततः NaCl में चलाने के लिए सक्षम हो सकता है उचित है।मुझे एहसास है कि आपका प्रश्न अब तीन साल का है लेकिन मुझे लगता है कि ब्राउजर में देशी कोड (ओपनजीएल कोड) चलाने के बाद से मैं एक अद्यतन उत्तर प्रदान करूंगा, अब एक वास्तविकता है।

संबंधित मुद्दे