मूल अनुप्रयोग विकास के लिए फोनगैप का उपयोग करना [बंद]


97

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

जवाबों:


95

मैंने PhoneGap का उपयोग करके कुछ अनुप्रयोगों का निर्माण किया है, और इसके लिए जो प्रदान करता है, वह बहुत अच्छा है। कुछ त्वरित नोट्स हैं, जिन्हें मैं इंगित करना चाहूंगा, जो आपकी मदद कर सकते हैं।

Disable device-based features you're not using एक्सेलेरोमीटर, जियोलोकेशन फीचर डिफ़ॉल्ट रूप से चालू हैं। यदि आप उनका उपयोग नहीं कर रहे हैं, तो मैं उन्हें बंद कर दूंगा, क्योंकि आपका ऐप तेजी से लोड होगा (आरंभ करें) और चिकनी चलाएगा।

onDeviceReady- यह वह विधि है जिसे एक बार फोनगैप लोड करने और तैयार होने के बाद कहा जाता है। $ (दस्तावेज़)। पहले से या जो भी आप उपयोग कर रहे हैं, वह वास्तव में यहां लागू नहीं होता है - जब तक कि आप केवल इंटरफ़ेस / हार्ड-कोडेड HTML सामान नहीं कर रहे हैं। यदि आप iPhone सुविधाओं के साथ बातचीत कर रहे हैं, तो जियोक्लोलेशन की तरह, आपको onDeviceReady को कॉल करने के बाद सब कुछ करने की आवश्यकता होगी ।

Pick a UI/library इंटरफ़ेस / लाइब्रेरी, jquery-mobile, sencha स्पर्श, jqtouch, आदि के लिए विकल्पों में से एक टन हैं। ये प्रत्येक एक अद्वितीय दृष्टिकोण और सुविधा-सेट प्रदान करते हैं। कुछ शोध करें और एक का उपयोग करें, लेकिन संयोजन से बचें। आप कुछ और विकल्पों के बारे में पढ़ सकते हैं, यहाँ उपकरण: http://www.phonegap.com/tool (अद्यतन लिंक)

Also, more on just mobile development in general, with PhoneGapयदि आप ऐप्स का निर्माण करना चाहते हैं, जो एंड्रॉइड मार्केट और आईफोन ऐप स्टोर के माध्यम से वितरित किए जाते हैं, तो मैं आपके ऐप को विकसित करने के दिशा-निर्देशों के लिए उनकी संपूर्ण सूचियों के माध्यम से पढ़ूंगा। उदाहरण के लिए, ऊपर दिए गए टूल लिंक में, " APPS " नामक एक "टूल / प्लगइन" है - जबकि यह एंड्रॉइड के लिए उपयोगी है - और तकनीकी रूप से iPhone पर उल्लेखनीय है, यह विकास समझौते का उल्लंघन करता है, क्योंकि यह बताता है कि आपको Apple अधिसूचना का उपयोग करना चाहिए नेटवर्क, आदि .. यह सिर्फ एक उदाहरण है, लेकिन उस सामान को पढ़ने से आप बहुत सारे सिरदर्द से बच जाएंगे, अगर यह आपका अंतिम लक्ष्य है।

सब के सब, यह हल्के क्षुधा के लिए बहुत अच्छा है, खासकर यदि आप एक वेब विकास पृष्ठभूमि से आते हैं। LocalStorage, GeoLocation, आदि .. वास्तव में अच्छी तरह से काम करता है। मुझे उम्मीद है कि इससे थोड़ी मदद मिलेगी ... और सवाल पूछने का मन करेगा।

अतिरिक्त संपादन:

मुझे वास्तव में लगता है कि यह नीचे आता है कि आप क्या करना चाहते हैं, और आप क्या करना जानते हैं। मैट ने बताया कि देशी ऐप्स विकसित करना, iOS के लिए बेहतर है, आदि। हाँ, यदि आपके पास यह जानने के लिए समय और ज्ञान है कि - बेशक देशी बेहतर होगा। लेकिन PhoneGap वेब डेवलपर्स के लिए बनाया गया है जो अपने मौजूदा कौशल को ले सकते हैं और ऐप्स का निर्माण कर सकते हैं। इसके अलावा, PhoneGap आपको iOS, Android, सिम्बियन, पाम, ब्लैकबेरी के लिए जल्दी से ऐप्स बनाने की अनुमति देता है। प्रत्येक के लिए अपने कोडबेस में मामूली समायोजन के साथ।


2
ऐसा लगता है कि डेवलपर्स फोनगैप पर विभाजित हैं।
साकेत

8
यदि दिन के अंत में, आपके पास एंड्रॉइड और आईओएस के लिए मूल एप्लिकेशन बनाने के लिए विभिन्न भाषाओं को सीखने के लिए समय और पैसा है - तो हर तरह से ऐसा करते हैं :) लेकिन हममें से ज्यादातर के लिए, हम उन ऐप का उपयोग करना जानते हैं जो रन बनाते हैं। कई उपकरणों पर वास्तव में अच्छी तरह से, एक नहीं brainer है।
TNC

easyapns केवल iPhone अधिसूचना के लिए है (एंड्रॉइड नहीं) और Apple अधिसूचना नेटवर्क का उपयोग नहीं करता है, यह सुनिश्चित नहीं है कि आपको यह विचार कहां से मिलता है कि यह डेवलपर अनुबंध को तोड़ देता है ..
Traveling_Monk

अच्छी व्याख्या .. धन्यवाद :)
मृणाल

एक अच्छा डिबगर आपका सबसे अच्छा दोस्त है। दूरस्थ डिबग iOS के लिए इसे देखें: stackoverflow.com/questions/7242997/…
जोशुआविद

52

यहां वे सभी सर्वश्रेष्ठ प्रदर्शन मार्गदर्शिकाएँ हैं जो मैंने फोनगैप के लिए पढ़ी हैं ... यह सुनिश्चित करने के लिए कि आपको ठोस, स्थिर प्रदर्शन है, से सावधान रहना होगा ... लेकिन आप इसे पढ़ने की सिर्फ एक शाम में उठा सकते हैं।

यहाँ सबसे अच्छा सोने की डली हैं:

PhoneGap / मोबाइल वेब प्रदर्शन युक्तियाँ

नए कार्य सक्षम करना

आर्किटेक्चर

एक्सट जेएस 4 में अपने ऐप को तैयार करना: http://www.sencha.com/learn/altecting-your-app-in-ext-js-4-part-2


1
प्रलेखन का शानदार संग्रह .. वास्तव में उपयोगी धन्यवाद :)
मृणाल

29

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

फ्रेमवर्क के कुछ बहुत ही आकर्षक पहलू हैं, मुख्य रूप से "राइट-वन्स-रन-एनीवेयर" अपील और "आई-डोंट-हैव-लर्न-ऑब्जेक्टिव-सी?" अपील। यहां तक ​​कि फ्रेमवर्क आपको एक्सेलेरोमीटर जैसी कुछ हार्डवेयर विशेषताओं तक पहुंच प्रदान कर सकता है। ये सभी एक निश्चित सीमा तक मान्य हैं।

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

ध्यान देने वाली एक दूसरी बात यह है कि फोनगैप-निर्मित आईओएस अनुप्रयोगों के लिए समर्थन समुदाय मूल रूप से विकसित अनुप्रयोगों की तुलना में काफी छोटा है। यदि आप परियोजनाओं के दौरान समुदाय पर भरोसा करने के लिए एक हैं, तो यह आपको भी विराम देना चाहिए।

अंत में यह उस अनुभव की गुणवत्ता पर आ जाता है जिसे आप वितरित करना चाहते हैं। ऊपरी सीमा Phonegap के साथ कम है। यदि आप कम विकास के समय और बढ़ी हुई पोर्टेबिलिटी के बदले कम-से-उत्कृष्ट उपयोगकर्ता अनुभव को स्वीकार करने के लिए तैयार हैं, तो यह एक बहुत व्यवहार्य रूपरेखा है।

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


5
समुदाय के आकार पर +1 महान बिंदु।
डेविड टैंग

5
उपयोगकर्ता अनुभव पर +1 महान बिंदु। यह वास्तव में आईओएस में मायने रखता है।

1
आप फ़ोनगैप में भी वही उपयोगकर्ता अनुभव बना सकते हैं। मुझे नहीं लगता कि यह केवल सीखने के उद्देश्य की बात है। जैसे अन्य मोबाइल OS लोकप्रिय हो जाते हैं: Androi अब, देखते हैं कि विंडोज मोबाइल और फ़ायरफ़ॉक्स ओएस के साथ क्या होता है ... यदि आप x% बाजार हिस्सेदारी तक सीमित नहीं होना चाहते हैं तो iOS के बाद होगा।
यादगार

1
@ धार्मिक, फेसबुक देव टीम आपसे असहमत होगी, एक के लिए। मैं यह नहीं कह रहा हूं कि यह बाजार कवरेज के नजरिए से कोई मतलब नहीं है, मैं कह रहा हूं कि यह उतना मूल नहीं है। इसके बावजूद कि आप क्या कहते हैं, यह एक सच्चाई है।
मैट विलिंग

4

स्थापना प्रक्रिया में कई पैकेज (जावा, अपाचे चींटी, रूबी, आईओएस एसडीके, एंड्रॉइड एसडीके और फोनगैप) शामिल हैं, जिन्हें सभी को सही तरीके से स्थापित और सेट अप करना होगा। यह एक बड़ा प्रयास हो सकता है। निष्पक्ष होने के लिए, उनके पास बीटा में PhoneGap बिल्ड नामक कुछ है जो इसे बहुत आसान बनाना चाहिए।

हम एप्लिकेशन स्टोर के लिए अर्हता प्राप्त करने वाले ऐप्स का निर्माण करने के लिए NS Basic / App Studio के साथ इसका उपयोग करते हैं।


PhoneGap बिल्ड अभी भी एक साल बाद बीटा में है, छह महीने से अधिक समय बाद Adobe ने मूल डेवलपर, Nitobi को खरीदा था।
DOK

2

यदि आपका गेम नहीं है और न ही विजेट, तो बस सादा अच्छा दिखने वाला ऐप है तो फोनगैप आपकी पसंद है।

लेकिन आपको अपने जेएस के साथ ध्यान रखना चाहिए, उदाहरण के लिए जेएस में कुछ भी करने से बचें यदि आप कोई एनीमेशन करना चाहते हैं तो छोटे अंतराल (जैसे। 100 एमएस) के साथ टाइमर सेट करने से बचें, jquery और एक जैसे एनिमेशन से बचें। उदाहरण के लिए, चरण-दर-चरण प्रत्येक चरण पर छोटी-सी अवधि घटती अस्पष्टता को निर्धारित करके फीका करने के बजाय (यह है कि jquery फीका काम), आपको css3 संक्रमण का उपयोग अस्पष्टता 1 से अपारदर्शिता 0 में करना चाहिए।

मेरी सलाह है कि zeptojs.com जैसी किसी चीज के साथ जाएं, क्योंकि फोनगैप यानी 6 नहीं चलेगा :-)

अपने JS को और अधिक हल्का बनाने के लिए कुछ ट्यूटोरियल देखें

http://bcksp.blogspot.com/


वास्तव में अब आप गेम का निर्माण भी कर सकते हैं
यादगार 12

1

अगर आपको HTML5 और Phonegap द्वारा प्रदान किए जाने वाले हार्डवेयर फीचर्स या प्रदर्शन की कोई आवश्यकता नहीं है, तो एक एन्कैप्सुलेटेड वेब ऐप (प्लस अन्य सुविधाओं तक सीमित पहुंच) एक बढ़िया समाधान है।

कई उद्यम बड़े पैमाने पर वेब ऐप तैनात करते हैं। फोनगैप (या एम्बेडेड सामग्री के साथ सिर्फ एक सादा वेब दृश्य नियंत्रण) आपको इन वेब ऐप्स को ऑफ़लाइन चलाने की अनुमति देगा (छोड़कर, निश्चित रूप से, किसी भी ऑनलाइन डेटा के लिए)।


0

कई अलग-अलग उपकरणों के बीच तैनाती करते समय एक "दर्द" का उल्लेख नहीं किया गया है: अधिक उपकरण, अधिक से अधिक सीखने की अवस्था। PhoneGap के साथ iOS उपकरणों को तैनात करने के लिए, आपको एक मैक पर Xcode की मूल बातें सीखने की आवश्यकता होगी। एंड्रॉइड पर तैनात करने के लिए, आपको एक्लिप्स, एंड्रॉइड एसडीके आदि को इंस्टॉल करने और सीखने की आवश्यकता होगी। अन्य प्लेटफार्मों की मांग है कि उनके खुद के एसडीके का उपयोग किया जाए। कुछ अल्पविकसित Xcode, जावास्क्रिप्ट और जावा सीखना मुझे त्रुटियों और सामान्य वाक्यविन्यास को समझने में मदद करता है।

"एक बार बनाएं, हर जगह तैनात करें" बहुत सारे चरणों को छोड़ देता है!

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