2010-12-09 11 views
9

मैं एंड्रॉइड प्रोग्रामिंग के लिए नया हूं, और कुछ सामान्य ज्ञान की तलाश में हूं। मैं जावास्क्रिप्ट में अपने आवेदन के तर्क लिखने पर विचार कर रहा हूं ताकि एक ही कोड वेबपैप में और डेस्कटॉप एप्लिकेशन में निष्पादित किया जा सके। क्या यह एंड्रॉइड पर काम करना भी संभव होगा? मुझे पता है कि:एंड्रॉइड में जावास्क्रिप्ट ऐप

  • SL4A अल्फा-गुणवत्ता के रूप में चिह्नित किया गया है, और उपयोगकर्ता को ऐसा ऐप काम करने के लिए इंस्टॉल करने की आवश्यकता होगी। फिर भी यह एंड्रॉइड एपीआई तक पहुंच प्रदान करता है। जहां तक ​​मुझे पता है, एसएल 4 ए स्क्रिप्ट्स एंड्रॉइड मार्केट में भी नहीं जा सकती हैं।
  • एक साधारण वेबपैप के पास अधिकांश एंड्रॉइड एपीआई तक पहुंच नहीं है।

क्या एक साधारण जावा ऐप लिखना संभव होगा जो जावास्क्रिप्ट कोड के साथ एक HTML विजेट एम्बेड करेगा और आवश्यक एपीआई तक पहुंचने के लिए कुछ रैपर प्रदान करेगा?

मैं पूरी तरह से पोर्टेबल चीज़ की तलाश नहीं कर रहा हूं - मैं मैन्युअल रूप से प्रत्येक वातावरण में यूआई को अनुकूलित करना चाहता हूं। मैं सिर्फ सभी बंदरगाहों के लिए आंतरिक तर्क सामान्य करना चाहता हूं।

उत्तर

8

यदि आप जावास्क्रिप्ट का उपयोग करना चाहते हैं और मूल एपीआई एक्सेस करना चाहते हैं तो आपको Appcelerator.com को आजमाएं। वे लोग इसे उपलब्ध करा रहे हैं।

+0

बहुत रोचक। मैं एंड्रॉइड के करीब कुछ ढूंढ रहा था, लेकिन यह बिल भी फिट हो सकता है। – liori

2

Rhino है, जो जावा में लिखा गया जावास्क्रिप्ट इंजन है। यह एंड्रॉइड में काम करता है, और इसका उपयोग एपसेलरेटर टाइटेनियम द्वारा यहां एक और जवाब में किया गया है।

उपयोगकर्ता इंटरफ़ेस और एंड्रॉइड-विशिष्ट API को तब जावा में लिखा और लपेटा जा सकता है, फिर जावास्क्रिप्ट में लिखे गए तर्क कोड द्वारा कॉल किया जाता है और राइनो द्वारा चलाया जाता है।

+0

और मुझे यह भी पसंद है :) +1 – Tarik

11

PhoneGap आपको एक HTML- आधारित ऐप लिखने की अनुमति देता है जो न केवल एंड्रॉइड के साथ काम करता है, बल्कि आईफोन, विंडोज फोन 7, वेबोस और भी बहुत कुछ करता है। The API मानकीकृत है, इसलिए आप सभी प्लेटफ़ॉर्म पर एक ही पृष्ठ का उपयोग कर सकते हैं।

अधिकांश प्लेटफ़ॉर्म पर सबसे आम मूल सुविधाओं के लिए समर्थन है। (Here's a chart of the features supported प्रत्येक प्लेटफ़ॉर्म पर) इसके अतिरिक्त, यदि आपको लगता है कि एक सुविधा है जिसे आप केवल अपने एपीआई का उपयोग करके दोहराना नहीं कर सकते हैं, तो आप देशी प्लेटफार्म भाषा में write a plugin (इसलिए, एंड्रॉइड के लिए जावा होगा), और उसके बाद उस प्लगइन को कॉल कर सकते हैं आपका एचटीएमएल/जावास्क्रिप्ट-पेज।

+0

बढ़िया! क्या देशी यूआई का भी उपयोग करना संभव है? एंड्रॉइड पर इरादा? – liori

+0

@ लिओरी: आप एचटीएमएल गतिविधियों को मानक एंड्रॉइड गतिविधियों के साथ मिश्रित कर सकते हैं, ताकि आप एचटीएमएल को मूल यूआई के साथ मिश्रित कर सकें, हां। इरादों को सुनना मानक एंड्रॉइड तरीका किया जा सकता है। एक अनुलग्नक के माध्यम से भेजने का इरादा किया जा सकता है ([उदाहरण] (http://stackoverflow.com/a/5279258/79061))। –

+0

+1, यह बहुत बढ़िया है। – Oli

0

जावास्क्रिप्ट कंपाइलर के लिए जावा, जीडब्ल्यूटी पर विचार करें। आप अपने तर्क और सादे पुराने जावा में कई अन्य कोड लिख सकते हैं (कुछ चीजें हैं (उदाहरण के लिए प्रतिबिंब) कि आप प्रतिबिंब की तरह नहीं कर सकते हैं लेकिन आप इसे जावास्क्रिप्ट में भी नहीं कर पाएंगे) Google जैसे अनुप्रयोग इनबॉक्स जावास्क्रिप्ट में अपने बहुत सारे कोड का पुन: उपयोग करने के लिए जीडब्ल्यूटी का उपयोग कर रहे हैं। वे या तो तर्क का पुन: उपयोग नहीं करते हैं। आप निर्भरता इंजेक्शन, अपने आर्किटेक्चर, AJAX कॉल और अधिक का पुन: उपयोग कर सकते हैं। साथ ही, ब्राउज़र और जेवीएम दोनों में जावास्क्रिप्ट से जीडब्ल्यूटी तेज है। जीडब्ल्यूटी के साथ आपके पास सबसे बड़ी समस्या यह है कि यह अधिक जटिल जावास्क्रिप्ट है। नियमित जावा पहले से ही जटिल है। इसे JVM और ब्राउज़र दोनों पर काम करना केवल चीजों को और जटिल बना सकता है। इसके अलावा, जीडब्ल्यूटी को बेहद अनुचित वेब ऐप्स के लिए ग्राउंड अप से डिजाइन किया गया था।

+1

प्रश्न जावास्क्रिप्ट-आधारित समाधानों के साथ विकल्पों का मूल्यांकन करने के बारे में था, जावा-आधारित नहीं। इसलिए, जीडब्ल्यूटी यहां वैध जवाब नहीं है। – liori

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