6

मैं HTML 5 पृष्ठों को उत्पन्न करने के लिए ASP.Net MVC का उपयोग कर एक मोबाइल ऐप विकसित कर रहा हूं। एचटीएमएल 5 पेज डीओएम में पृष्ठों को लोड करने के लिए एएसपी.NET एमवीसी को कॉल करने के लिए jQueryMobile के loadPage का उपयोग करेगा। फिर यह ऐप के साथ उपयोगकर्ता के इंटरैक्शन के आधार पर डीओएम में सक्रिय पृष्ठ बनाने के लिए jQueryMobiles के परिवर्तन पृष्ठ का उपयोग करेगा। एमवीसी ऐप पर कॉल एचटीएमएल बनाने के लिए स्रोत डेटा पुनर्प्राप्त करने के लिए विभिन्न वेब सर्विसेज का आह्वान करेंगे।asp.net mvc, jquery mobile, phonegap architecture सर्वोत्तम प्रथाओं

हम ऐप के साथ फोनगैप का उपयोग करने की योजना बना रहे हैं ताकि हम ऐप्पल और एंड्रॉइड स्टोर्स में समाप्त ऐप सबमिट कर सकें। मेरे ऐप को किसी डिवाइस की मूल कार्यक्षमता (संपर्क, भौगोलिक स्थान इत्यादि) से बातचीत करने की आवश्यकता नहीं है क्योंकि हमें वास्तविक डिवाइस के ओएस के साथ बातचीत करने की आवश्यकता नहीं है (jQuery एजेक्स को एमवीसी ऐप पर कॉल करने के अलावा), तो क्या फोनगैप वास्तव में आवश्यक है? क्या मोबाइल दृष्टिकोण पर एक वेब ऐप व्यवहार्य बनाने के लिए मैंने एक दृष्टिकोण के ऊपर वर्णित दृष्टिकोण है?

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

क्या मैं इसे सही तरीके से देख रहा हूं? आपकी सहायता के लिए धन्यवाद.

+0

यह सुनिश्चित नहीं है कि मेरा प्रश्न क्यों वोट दिया गया था। मैं बहुत सारे शोध कर रहा हूं। मुझे कुछ स्पष्टीकरण की ज़रूरत है। ऐसे कई अलग-अलग संसाधन हैं जिन्हें मैंने पढ़ा है जिनके पास काम करने के विभिन्न तरीके हैं। मेरे शोध के माध्यम से मुझे लगता है कि मैंने एक दृष्टिकोण निकाला है। मुझे बस अपनी धारणाओं के कुछ सत्यापन की आवश्यकता है। –

उत्तर

5

फ़ोनगैप (या कुछ विकल्प) काफी आवश्यक नहीं है लेकिन आपके एचटीएमएल/जेएस/सीएसएस स्रोत से ऐप पैकेज बनाने में बहुत मददगार है। फोनगैप निष्पादन योग्य नहीं बनाता है (आपका आईडीई ऐसा करता है) लेकिन जावा की जावास्क्रिप्ट कार्यक्षमता के लिए एक ढांचा है (जिससे जावास्क्रिप्ट से जावा कोड चलाने में संभव हो)।

फ़ोनगैप मूल रूप से webview में आपके एचटीएमएल/जेएस/सीएसएस साइट को लपेटता है ताकि आपके कोड को डिवाइस के ब्राउज़र द्वारा व्याख्या किया जा सके (कभी-कभी ब्राउज़र को चलाने से अधिक रेत-बक्से तरीके से, उदाहरण के लिए प्री-आईओएस -5 webview उदाहरणों को नाइट्रो जेएस इंजन नहीं मिला है, इसलिए वे मोबाइल सफारी ब्राउज़र में वेबसाइटों की तुलना में धीमी गति से चलते हैं)।

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

फोनगैप बिल्ड (https://build.phonegap.com/) एक ऐसा प्रोग्राम है जिसे आप अपने ऐप पैकेज को ऐप्पल/Google/आरआईएम/विंडोज ऐप स्टोर्स में निर्मित और सबमिट करने के लिए खरीद सकते हैं। आम तौर पर आप ऐसा करने के लिए अपने स्वयं के आईडीई का उपयोग करते हैं। उदाहरण के लिए आईओएस ऐप बनाने के लिए आपको एक नया ऐप्पल कंप्यूटर उपयोग करना होगा (आपके पास आईओएस पैकेज के नवीनतम संस्करण बनाने के लिए नवीनतम ओएस संस्करण होना चाहिए)। iOS एप्लिकेशन संकुल XCode में बनाए जाते हैं, और ग्रहण आईडीई एक बहुत ही आम वातावरण अपने Android एप्लिकेशन संकुल बनाने के लिए है: http://developer.android.com/sdk/eclipse-adt.html

मैंने देखा तुमने कहा तुम $.mobile.loadPage()$.mobile.changePage() उपयोग कर रहे हैं डोम में पृष्ठों को लोड करने और उन लोगों के लिए उपयोगकर्ता नेविगेट करने के लिए पृष्ठों की है। यदि आप बस $.mobile.changePage() का उपयोग करते हैं तो यह स्वचालित रूप से loadPage() के साथ पृष्ठ को ले जाएगा। आप loadPage() उपयोग कर रहे हैं सामग्री लोड पूर्व तो चेक-आउट jQuery मोबाइल के प्रीफेचिंग क्षमताओं: http://jquerymobile.com/demos/1.1.0-rc.1/docs/pages/page-cache.html

के लिए अद्यतन मैं हाल ही में कुछ Cordova 3.5 का उपयोग कर अनुप्रयोगों का निर्माण किया है और निर्माण प्रक्रिया इसलिए बहुत ज्यादा था सरलीकृत। पैकेज बिल्डिंग प्रक्रिया अब आपके सिस्टम के कंसोल के माध्यम से प्रबंधित की जाती है और एप्लिकेशन पैकेज को पुनर्निर्माण करने के लिए प्लगइन इंस्टॉल करने से सब कुछ बहुत आसान है।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। लोडपेज और चेंज पेज के संबंध में, जब मैं दस्तावेज के अनुसार उनसे दूर नेविगेट करता हूं तो jQueryमोबाइल डोम से पृष्ठों को हटा रहा है। चूंकि पृष्ठ अब डोम में नहीं है, तो परिवर्तन पेज विफल हो जाता है। इसलिए, जब मैं किसी पृष्ठ पर उतरता हूं, तो मैं उन सभी पृष्ठों को लोड करने के लिए लोडपेज का उपयोग कर रहा हूं जो डोम में संभावना है (यह अब के लिए प्रबंधनीय है) तो मैं आवश्यकतानुसार परिवर्तनपेज को कॉल कर सकता हूं। प्रत्येक पृष्ठ में "प्रकार" विशेषता होती है, इसलिए मैं किसी निश्चित प्रकार के सभी पृष्ठों को हटा सकता हूं जब उपयोगकर्ता किसी नए क्षेत्र में जाता है जहां उन पुराने पृष्ठों की आवश्यकता नहीं होती है। क्या कोई बेहतर तरीका है? –

+0

यदि आप अपने 'डेटा-रोल = "पृष्ठ" तत्वों पर' डेटा-डोम-कैश = "सत्य" विशेषता सेट करते हैं तो jQuery मोबाइल उन पृष्ठों को हटा नहीं देगा जब उन्हें नेविगेट किया जाता है। अन्यथा, मैं सुनिश्चित करता हूं कि प्रत्येक 'डेटा-भूमिका = "पृष्ठ" तत्व के लिए' डेटा-यूआरएल 'विशेषता मैन्युअल रूप से सेट करें, जब आप इसका उपयोग करते हैं: '$ .mobile.changePage ('/about-us/default .html ')', फ्रेमवर्क उस स्ट्रिंग को पृष्ठ के लिए 'डेटा-यूआरएल' विशेषता में मिलान करने में सक्षम होगा (यदि यह पहले से ही डीओएम में मौजूद है)। – Jasper

+0

गोचा। पारितोषिक के लिए धन्यवाद। मैं प्रदर्शन पर बहुत ध्यान केंद्रित कर रहा हूं और चिंतित हूं कि डोम पेजों के साथ भर जाएगा। ऐप में अलग-अलग अनुभाग हैं, इसलिए यदि मैं डेटा-डोम-कैश = "सत्य" सेट करता हूं, तो मुझे चिंता है कि डोम समय के साथ भर जाएगा। इसलिए, मैंने एक दृष्टिकोण बनाया जहां प्रत्येक पृष्ठ में उस अनुभाग के मान के साथ एक प्रकार की विशेषता है जिसका वह संबंधित है। तो जब उपयोगकर्ता एक अलग सेक्शन पर जाता है, तो मैं पुराने अनुभाग से सभी पृष्ठों को हटा सकता हूं। यह डोम रखरखाव है। क्या यह दृष्टिकोण ठीक है? मैं डीओएम पृष्ठों के साथ भरने की इजाजत देने के लिए अनिच्छुक हूं। आपकी सहायता के लिए एक बार फिर से धन्यवाद। –