HTML / CSS / जावास्क्रिप्ट का उपयोग करके डेस्कटॉप ऐप कैसे विकसित करें? [बन्द है]


189

पहला, मुझे इसे पेशेवर रूप से करने में कोई दिलचस्पी नहीं है। मैं एक वेब डेवलपर हूं, मेरा एक सहकर्मी हाल ही में Spotify के लिए रवाना हुआ और उसने कहा कि वह ज्यादातर Spotify डेस्कटॉप ऐप के लिए जावास्क्रिप्ट में काम करेगा। उन्होंने कहा कि यह "क्रोम फ्रेम" का उपयोग करता है और अंदर सब कुछ एक वेब ऐप (HTML / JS / CSS) की तरह किया जाता है।

एक वेब डेवलपर के रूप में, जिसने कभी भी डेस्कटॉप के लिए कुछ भी नहीं बनाया है, यह बहुत अच्छी खबर है। अगर मैं उन तकनीकों का उपयोग कर सकता हूं जो मैं पहले से जानता हूं और उन्हें किसी "फ्रेम" के अंदर लागू करता हूं और फिर भी एक विंडोज़ या बेहतर अभी तक क्रॉस प्लेटफॉर्म ऐप बनाने में सक्षम हो सकता हूं।

मुझे पता है कि मैंने डेटाबेस के बारे में कुछ भी उल्लेख नहीं किया है, लेकिन वेब प्रौद्योगिकियों के साथ एक सरल हैलो वर्ल्ड डेस्कटॉप ऐप भी जा रहा है।

तो इस बारे में कोई कैसे जाता है? वास्तव में मुझे क्या जानना / जानना चाहिए?


यह ध्यान दिया जाना चाहिए कि वेब-ऐप-इनस के कम से कम दो गैर-अनन्य टियर हैं। एक क्लाइंट-साइड, सिंगल-पेज एप्लिकेशन शैली ऐप होगा, और एक ऐसा ऐप होगा जो डेटाबेस या कुछ के साथ राज्य को बनाए रखता है। (बेशक, सबसे अच्छे ऐप दोनों हैं।) आप सीख सकते हैं कि एक को दूसरे के बारे में बहुत कुछ सीखे बिना कैसे किया जा सकता है।
वलेद खान

यहां एक अन्य संबंधित धागा [क्या आप जावास्क्रिप्ट का उपयोग करके डेस्कटॉप विकास कर सकते हैं?] [1] [१]: stackoverflow.com/questions/109399/… सादर, बेन
benbai123

आप गलत करते हैं। वेब को डेस्कटॉप ऐप के लिए डिज़ाइन नहीं किया गया है। Period.If आप चाहते हैं कि आप QML / QtQuick का उपयोग कर सकें, जो कि एक अच्छा व्यापार है (लेकिन यह वेब नहीं है!)
Stef

इसी तरह यहां
99

जवाबों:


74

आप डेस्कटॉप देव के लिए टाइटेनियम से शुरू कर सकते हैं। इसके अलावा, आप क्रोमियम एंबेडेड फ्रेमवर्क पर एक नज़र डाल सकते हैं । यह मूल रूप से क्रोमियम पर आधारित एक वेब ब्राउज़र नियंत्रण है।

यह C ++ में लिखा गया है, इसलिए आप अपने कंटेनर ऐप में सभी निम्न स्तर के ओएस सामान (ग्रोएल, ट्रे आइकन, स्थानीय फ़ाइल एक्सेस, कॉम पोर्ट आदि) कर सकते हैं और फिर html / जावास्क्रिप्ट में सभी एप्लिकेशन लॉजिक और गुई कर सकते हैं। यह आपको किसी भी HTTP अनुरोध को या तो स्थानीय संसाधनों की सेवा करने या कुछ कस्टम क्रिया करने के लिए इंटरसेप्ट करने की अनुमति देता है। उदाहरण के लिए, http://localapp.com/SetTrayIconState?state=active के लिए एक अनुरोध कंटेनर द्वारा इंटरसेप्ट किया जा सकता है और फिर ट्रे आइकन को अपडेट करने के लिए C ++ फ़ंक्शन को कॉल कर सकता है।

यह आपको फ़ंक्शंस बनाने की भी अनुमति देता है जिसे सीधे जावास्क्रिप्ट से कॉल किया जा सकता है।

सीईएफ में सीधे जावास्क्रिप्ट को डीबग करना बहुत मुश्किल है। फायरबग जैसी किसी चीज का कोई समर्थन नहीं है।

आप AppJS.com को भी आज़मा सकते हैं (HTML, CSS और जावास्क्रिप्ट का उपयोग करके लिनक्स, विंडोज और मैक के लिए डेस्कटॉप एप्लिकेशन बनाने में मदद करता है)

इसके अलावा, @Clint द्वारा उठाई बाहर के रूप में, पर टीम brackets.io (एडोब) यह बहुत आसान है आरंभ करने के लिए करता है कि क्रोमियम एंबेडेड फ्रेमवर्क का प्रयोग करके एक भयानक खोल बनाया। इसे ब्रैकेट शेल कहा जाता है: github.com/adobe/brackets-shell यहां इसके बारे में और अधिक जानकारी प्राप्त करें: clintberry.com/2013/html5-desktop-apps-with-brackets-shell


3
CEF में क्रोम देव उपकरण बनाए गए हैं ताकि आप इसका उपयोग js डीबग करने के लिए कर सकें। एपजेएस में नोडज एपीआई का उपयोग करते हुए ओएस तक निम्न स्तर की पहुंच भी है।
मोर्तेजा मिलानी

1
ब्रैकेट.आईओ (एडोब) की टीम ने क्रोमियम एंबेडेड फ्रेमवर्क का उपयोग करते हुए एक भयानक शेल बनाया, जो आरंभ करने के लिए बहुत आसान बनाता है। यह कहा जाता है कोष्ठक शैल: github.com/adobe/brackets-shell : इसके बारे में यहाँ और अधिक जानकारी प्राप्त clintberry.com/2013/html5-desktop-apps-with-brackets-shell
क्लिंट

मैं वर्तमान में देव उपकरणों के रूप में CEF, और ग्रहण का उपयोग कर रहा हूं, और यह प्रोग्राम आर्ग के लिए रन-विन्यास के लिए --remote- डिबगिंग-पोर्ट = 8080 को पास करके Chrome डेवलपर टूल से CEF को लिंक करना संभव है, फिर Chrome में लोकलहोस्ट - 8080 पर जाएं। । तो कृपया जावास्क्रिप्ट को सीधे सीईएफ में डिबग करने के लिए भाग - टी को बहुत मुश्किल से हटाएं। फायरबग जैसी किसी चीज का कोई समर्थन नहीं है। -
फंसे बच्चे

इसके अलावा, मैं Win32, Linux, Unix like, Mac और SmartPhone के लिए विकास के लिए Kontena コ テ ub .com/ github.com/jhg/kontena विकसित करना शुरू कर रहा हूं , जो कि CEF, PhonePap, Backet.io of Adobe, AppJS, आदि में आधारित होंगे। यह इतना अस्थिर है और केवल एमवीपी प्राप्त करने के लिए एक प्रोटोटाइप है, परीक्षण अवधारणा के लिए पायथन में लिखा गया है, लेकिन क्यूटी 5 (अब क्यूटी 4 का उपयोग करें) के साथ कोड ++ और सी के लिए अनुवाद किया जाएगा और जब मोबिल के लिए सी + सी / सी अनुवाद शुरू होगा। सहयोग।

@ जेएचजी अच्छी नौकरी .. आइए जानते हैं कि कब इसकी आधिकारिक तौर पर रिलीज और बग-फिक्स्ड
अल्फ्रेड

33

NW.js

(पहले नोड-वेबकिट के रूप में जाना जाता था)

यदि आप नोड से परिचित हैं या जावास्क्रिप्ट के साथ अनुभव करते हैं, तो मैं NW.js का सुझाव दूंगा

NW.js क्रोमियम और नोड के आधार पर एक ऐप रनटाइम है।

विशेषताएं

  • आधुनिक HTML5, CSS3, JS और WebGL में लिखे गए ऐप्स
  • Node.js API और उसके सभी तीसरे पक्ष के मॉड्यूल के लिए पूर्ण समर्थन।
  • अच्छा प्रदर्शन: नोड और वेबिट एक ही धागे में चलते हैं: फ़ंक्शन कॉल सीधे किए जाते हैं; ऑब्जेक्ट समान हीप में हैं और बस एक दूसरे को संदर्भित कर सकते हैं
  • ऐप्स को पैकेज और वितरित करना आसान है
  • लिनक्स, मैक ओएस एक्स और विंडोज पर उपलब्ध है

आप NW.js रेपो यहां पा सकते हैं , और यहां NW.js का अच्छा परिचय है । यदि आप Node.js सीखने के बारे में कल्पना करते हैं, तो मैं बहुत अच्छे लिंक के साथ इस SO पोस्ट की सिफारिश करूंगा ।


2
Seconded। महान उपकरण।
एरिक रिपेन

लेकिन इस कैंट को नोड और नोड-वेबकिट स्थापित करने के लिए बिना लोगों के बीच वितरित किया जाना चाहिए, है ना?
जानिस ग्रूज़िस

@ JANisGruzis नहीं, आपने NW.js बायनेरिज़ के साथ अपना ऐप भेज दिया ।
लगभग

27

Awesomium आपके C ++ या .NET ऐप में HTML UI का उपयोग करना आसान बनाता है

अपडेट करें

मेरा पिछला उत्तर अब पुराना हो चुका है। इन दिनों आप इसके लिए इलेक्ट्रॉन का उपयोग न करने के लिए पागल होंगे । इसके शीर्ष पर कई लोकप्रिय डेस्कटॉप ऐप विकसित किए गए हैं।


16

नोट: AppJS पदावनत और अब अनुशंसित नहीं है।

इसके बजाय NW.js पर एक नज़र डालें


3
यह appjs रचनाकारों द्वारा पदावनत किया गया है प्रकट होता है
दान एस्पर्ज़ा

@DanEsparza धन्यवाद, मैंने अपने उत्तर में सुधार किया
सियेवी शेन '

9

ऐसा लगता है कि HTML / JS / CSS डेस्कटॉप ऐप के समाधान कम आपूर्ति में नहीं हैं।

एक समाधान जो मुझे अभी आया है, वह है TideSDK: http://www.tidesdk.org/ , जो बहुत ही आशाजनक लगता है, दस्तावेज को देखकर।

आप पायथन, पीएचपी या रूबी के साथ विकसित कर सकते हैं और इसे मैक, विंडोज या लिनक्स के लिए पैकेज कर सकते हैं।


1
होनहार लग रहा था, लेकिन विकसित नहीं किया जा रहा है जैसा दिखता है। कोर टीम अब कुछ कॉल टाइडकिट पर काम कर रही है, लेकिन इसे जारी करने में उन्हें हमेशा के लिए लग जाता है - इसके अलावा इसमें पैसे भी खर्च होंगे :(
TheStoryCoder

1
हाँ, दया आती है। यह उस समय आशाजनक लग रहा था जब मैंने उत्तर दिया था। मुझे लगता है कि यह एक कारण है कि वे सामान के लिए सिफारिशों के बारे में सवालों पर भड़क गए हैं।
mydoghasworms

3

अपना बुलबुला फोड़ने के लिए क्षमा करें, लेकिन डेस्कटॉप क्लाइंट को Spotify करना एक वेबकिट-आधारित ब्राउज़र है । बेशक यह विशिष्ट अतिरिक्त कार्यक्षमता को उजागर करता है, लेकिन यह केवल JS चलाने में सक्षम है और HTML / CSS को प्रस्तुत करता है क्योंकि इसमें JS इंजन और क्रोमियम रेंडरिंग इंजन है। यह आपको क्लाइंट-साइड वेब-ऐप को कोड करने और कई प्लेटफार्मों पर तैनात करने में मदद नहीं करता है।

आप जिस चीज की तलाश कर रहे हैं वह सेंका टच के समान है - एक ऐसा ढांचा जो एचटीएमएल 5 ऐप को मूल रूप से आईओएस, एंड्रॉइड और ब्लैकबेरी उपकरणों पर तैनात करने की अनुमति देता है। यह मूल रूप से उपलब्ध कुछ एपीआई कॉल और डिवाइस-विशिष्ट कार्यक्षमता के बीच मध्यस्थ के रूप में कार्य करता है।

मेरे पास एप्सीलेटर का कोई अनुभव नहीं है , ऐसा प्रतीत होता है कि वह बिल्कुल ऐसा कर रहा है - और ऑनलाइन बहुत अनुकूल समीक्षाएं प्राप्त करता है। आपको इसे छोड़ देना चाहिए (जब तक कि आप 1999 तक वापस नहीं जाना चाहते और एमएस एचटीए के साथ रोल करें ;)


यह अनुप्रयोग के लिए वेबकिट का उपयोग करता है लेकिन मुख्य सॉफ्ट html / js पर आधारित नहीं है
सुक्रेनोयर

1

मुझे पता है कि वहाँ पर फ़्लूइड और प्रिज़्म हैं (कुछ अन्य हैं, जो कि मैं उपयोग करता था) जो आपको एक वेबसाइट को एक स्वसंपूर्ण ऐप की तरह दिखता है।

क्रोम में, आप वेबसाइटों के लिए डेस्कटॉप शॉर्टकट बना सकते हैं। (आप ऐसा करते हैं कि Chrome के भीतर से, आप अपने ऐप से पैकेज नहीं कर सकते / नहीं कर सकते) Chrome Frame अलग है:

Google Chrome फ़्रेम एक प्लग-इन है जो इंटरनेट एक्सप्लोरर के लिए ओपन-सोर्स क्रोमियम प्रोजेक्ट पर आधारित है; यह Google Chrome की खुली वेब तकनीकों को Internet Explorer में लाता है।

आपको अपने वेबएप के लिए किसी प्रकार के रैपर की आवश्यकता होगी, और फिर बाकी वे वेब तकनीकें हैं जिनका आप उपयोग कर रहे हैं। एप्लिकेशन ऑफ़लाइन होने पर आप डेटा संग्रहीत करने के लिए HTML5 स्थानीय संग्रहण का उपयोग कर सकते हैं । मुझे लगता है कि आप SQLite के साथ भी काम कर सकते हैं।

मैं नहीं जानता कि आप ओएस विशिष्ट सुविधाओं तक पहुँचने के बारे में कैसे जाएंगे, हालांकि। मैंने जो ऊपर वर्णित किया है उसकी सीमाएं किसी भी "नियमित" वेबसाइट के समान हैं। उम्मीद है कि यह आपको कुछ प्रकार के मार्गदर्शन देता है कि कहां से शुरू करें।



0

CEF अनुकूलन के लिए बहुत लचीलापन और विकल्प प्रदान करता है। लेकिन अगर जल्दी से नोड-वेबकिट विकसित करने का इरादा है, तो यह भी एक अच्छा विकल्प है। नोड-वेब किट डोम से सीधे नोड मॉड्यूल को कॉल करने की क्षमता भी प्रदान करता है।

यदि नोड-वेबकिट को एकीकृत करने के लिए कोई देशी मॉड्यूल नहीं हैं, तो बेहतर लाभ प्रदान कर सकते हैं। देशी मॉड्यूल C / C ++ या C # के साथ CEF के साथ बेहतर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.