2013-02-22 47 views
13

मैं वर्तमान में एक मूल एंड्रॉइड ऐप विकसित कर रहा हूं। मेरे ऐप में बहुत सी गतिविधियां हैं। मैं native एंड्रॉइड ऐप विकसित करना चाहता हूं। लेकिन कुछ मामलों में, मैं webview का उपयोग करना चाहता हूं जहां पूरा लेआउट सिर्फ एक वेबदृश्य है। रैखिक या सापेक्ष या कोई अन्य लेआउट नहीं, बस एक वेबदृश्य। एचटीएमएल में चल रही सभी छवियों और अन्य चीजें। All of screen will run in HTML5.क्या यह देशी एंड्रॉइड ऐप में वेबव्यू पूरे लेआउट का उपयोग कर उपयोगी है?

तो, मैं आंशिक रूप से अपने ऐप को आईफोन ऐप या अन्य प्लेटफ़ॉर्म में स्थानांतरित कर सकता हूं। यह मेरे लिए इस तरह का लाभ है।

लेकिन मुझे नहीं पता। क्या यह बेहतर है? प्रदर्शन क्या होगा? एक HTML5 ऐप में कनवर्ट करने के नुकसान क्या हैं?

क्या आप समझा सकते हैं?

सादर

+0

यह वैकल्पिक रूप से कोई संदेह नहीं है लेकिन एप्लिकेशन का प्रदर्शन आपके सर्वर कनेक्शन पर निर्भर करता है। –

+0

मेरा वेबव्यू इंटरनेट पर भरोसा नहीं है। यह स्थानीय रूप से काम करेगा। –

उत्तर

12

इस बहुत विषय के बारे में एक very good presentation है।

  1. प्रदर्शन: आप के बीच में एक अतिरिक्त परत जोड़ रहे हैं, एक वेबकिट इंजन हमेशा मूल (और कभी कभी हार्डवेयर त्वरित) प्रतिपादन प्रदर्शन से मेल नहीं कर सकते हैं।

  2. नुकसान: एक यह है कि एपीआई उपयोग सीमित है, आप मूल पृष्ठ पर किसी पृष्ठ की जावास्क्रिप्ट को बाध्य कर सकते हैं, लेकिन सभी कार्यक्षमता उपलब्ध नहीं है। हालांकि आप Cordova प्रोजेक्ट की क्षमताओं को देखना चाहते हैं। एक और यह है कि जावास्क्रिप्ट के माध्यम से जटिल विजेट अनुकरण पृष्ठ को धीमा कर देगा।

  3. पोर्टेबिलिटी: दरअसल एक बड़ा फायदा है, यही कारण है कि PhoneGap और Cordova लोकप्रिय हैं। हालांकि फेसबुक ऐप आदि जैसे कई लोगों को बेहतर प्रदर्शन के लिए switched to native ऐप है।

आपके लिए आवश्यक दृष्टिकोण वास्तव में आपकी आवश्यकताओं पर निर्भर करता है। यह मेरा व्यक्तिगत रान हो सकता है लेकिन आईएमएचओ: एक मार्कअप अभी तक केवल मुड़ सकता है, यह अभी तक औद्योगिक ग्रेड जीयूआई प्रोग्रामिंग सेटअप को निष्पादित नहीं कर सकता है।

+0

धन्यवाद, आपका उत्तर बहुत ही illustrative है। –

+0

@BreedHansen मैंने इस विषय पर एक प्रस्तुति के लिए पहला लिंक अपडेट किया है। –

+0

बहुत बहुत धन्यवाद। मैं देखूगा्। –

1

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

+0

स्पष्टीकरण के लिए धन्यवाद। –

+3

मुझे असहमत होना है, सबसे पहले आपकी वेबव्यू की सामग्री एप्लिकेशन के साथ आसानी से संवाद करने में सक्षम है .. हालांकि यह सीमित है, जानकारी के एक बड़े बहुमत के लिए यह एक सुरक्षित दृष्टिकोण हो सकता है। एचटीएमएल एचटीएमएल/सीएसएस/जेएस – Mayhem

0

विपक्ष WebView

  • , डिवाइस का पूरा प्रदर्शन उपयोग नहीं कर सकते के बाद से वेब दृश्य एक अतिरिक्त परत के रूप में।
  • वेब दृश्य सभी उपयोगकर्ता घटना नहीं सुन सकता है।
  • आप अपने वेब व्यू से डेटा को पूरी तरह से साझा या सहेज नहीं सकते हैं।
  • लोड करने के लिए और अधिक समय लें। अन्य हम सभी चीजों को एक साधारण एपीआई में प्राप्त करते हैं और उन्हें प्रस्तुत किया जा सकता है।
  • पृष्ठ में एक साधारण फ़ील्ड को बदलने से फिर से पूर्ण पृष्ठ लोड करना होगा।
  • ऑनलाइन आवश्यक, ऑफ़लाइन सुविधाओं का विस्तार नहीं कर सकता है।
  • अभिविन्यास परिवर्तन और पूर्ण स्क्रीन कठिनाइयों को बनाते हैं।

Android और iOS दोनों के लिए वेब दृश्य का उपयोग कर

  • एक पेज के पेशेवरों।
  • मुझे लगता है कि मुख्य लाभ प्रत्येक उपयोगकर्ता को अपने डिवाइस पर ऐप अपडेट करने की आवश्यकता के बिना परिवर्तन करने की क्षमता है, क्योंकि सभी पृष्ठ आपके सर्वर पर हैं।
  • अद्यतन के लिए ऐप स्टोर अनुमोदन की कोई प्रतीक्षा नहीं है।

कुछ तकनीकों

  • मूल निवासी WebView के साथ एक साथ तत्वों। मुझे लगता है कि यह बहुत बेहतर होगा, क्योंकि ऐसे कई कार्य हैं जो केवल वेबव्यू के साथ नहीं किए जा सकते हैं। दोनों का संयोजन बहुत अधिक अनुशंसित है।
  • स्थानीय रूप से प्रस्तुत करना, HTML फ़ाइलों के लिए एक संपत्ति निर्देशिका बनाएं - एंड्रॉइड आंतरिक रूप से इसे फ़ाइल करने के लिए मानचित्र करता है: /// android_asset/(एकवचन संपत्ति नोट करें)। इसलिए यदि आप ऑफलाइन हैं तो भी आप स्थानीय रूप से अपने वेब व्यू फॉर्म को फ़ीड कर सकते हैं।
+0

के साथ अनुभवी होने के कारण उच्च गुणवत्ता वाले अनुप्रयोग को आसानी से विकसित करने के लिए एक वेब डिज़ाइनर/डेवलपर को सक्षम बनाता है क्या आप "ऑनलाइन आवश्यक" के बारे में निश्चित हैं? आप अपने ऐप के लिए स्थानीय रूप से डेटा स्टोर करने के लिए 'लोकल स्टोरेज' जावास्क्रिप्ट ऑब्जेक्ट का उपयोग कर सकते हैं। इसके अलावा, वेबव्यू jquery, आदि के माध्यम से यूआई घटनाओं को सुन सकता है। –