javascript - ExtJS दर्शन क्या है? एकल पृष्ठ आवेदन?




ajax design (6)

मुझे ExtJs का उपयोग करके अपना अगला प्रोजेक्ट लिखना होगा। यह एक अच्छा जावास्क्रिप्ट lib है लेकिन मैं इसके पीछे विचार को पूरी तरह से समझ नहीं पा रहा हूं। उदाहरण के लिए दस्तावेज़ पृष्ठ ले लो।

क्या मुझे अपने वेब अनुप्रयोगों को इस तरह के extjs के साथ लिखना चाहिए? एक पृष्ठ जिसे कभी भी ताज़ा नहीं किया जाना चाहिए, और AJAX द्वारा किया जा रहा सबकुछ?

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

कोई सुझाव?


क्या मुझे अपने वेब एप्लिकेशन को एक्स्टजेएस के साथ लिखना है? एक पृष्ठ जिसे कभी भी ताज़ा नहीं किया जाना चाहिए, और AJAX द्वारा किया जा रहा सबकुछ?

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

यदि सही जगह पर पहुंचने पर आप इस तरह के अनुप्रयोगों को डीबग करते हैं तो बहुत सारे 'क्लिकिंग' ले सकते हैं और इसके साथ काम कर सकते हैं।

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

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

ExtJS का उपयोग करके बड़े ऐप्स लिखने के बारे में आलेखों की एक श्रृंखला यहां दी गई है, यह बहुत अच्छी जानकारी के साथ एक सुंदर सभ्य पढ़ा गया है।

ExtJS 4 Part1 1 Part1 Part2 Part1 3 में नमूना अनुप्रयोग बनाना

ExtJS 3.3 और नीचे Part1 Part2 Part1 Part2 Part3

मुझे लगता है कि किसी भी तरह से एक्स्टजेस का उपयोग करना ठीक है, अगर आप अभी शुरू कर रहे हैं तो यह अधिक समझदारी हो सकती है कि आप सबसे ज्यादा आरामदायक हैं और रास्ते में कुछ एक्स्टजेस 'मसाला' जोड़ें। उस ने कहा, एक बार जब आप सिंगल पेज ऐप बनाने के लिए इसका इस्तेमाल शुरू कर देते हैं और आपके पास बैक-एंड आउटपुट कुछ भी नहीं है लेकिन जेएसओएन है तो आप शायद वेब ऐप के पुराने तरीके से कभी भी वापस नहीं देखेंगे।


एकल पृष्ठ नहीं बल्कि कुछ पेजेड एप्लिकेशन

मैं एक जटिल परियोजना में शामिल था जो इस पर बनाया गया था:

  • Asp.net 3.5
  • डब्ल्यूसीएफ वेब सेवाएं
  • ExtJS 2.1
  • डीएएल + डीएओ के लिए .netTiers (कोडस्मिथ के साथ)
  • एसक्यूएल 2005 + ओलाप क्यूब्स (कुछ डॉन-रिमोट-ऑफ-द-नाइटमेयर वर्कअराउंड ऐप के भीतर किए जाने थे क्योंकि हमने कुछ तीसरे पक्ष के नियंत्रणों का उपयोग किया था, जो आंशिक रूप से अपडेटपेनल का समर्थन करते थे और इस बात ने अकेले ही मूलभूत प्रक्रिया को तोड़ दिया हमारा आवेदन)
  • मौजूदा एक्सटीजेएस पर कस्टम लुक और महसूस करें - यह एक्स्टजेस कॉस्टुमाइज़ेशन का सबसे कठिन हिस्सा था, इसलिए मेरा सुझाव है कि आप प्रदान की गई थीम में से किसी एक से चिपके रहें

हमने वास्तविक सिंगल पेज एप्लिकेशन नहीं किया लेकिन यह सच है कि पृष्ठों की संख्या बहुत कम हो गई थी। आवेदन के भीतर काम के प्रत्येक क्षेत्र आमतौर पर एक अलग पृष्ठ था। सभी इंटरफ़ेस प्रसंस्करण या तो एक्स्टजेस या सर्वर पक्ष पर डब्ल्यूसीएफ सेवाओं के भीतर क्लाइंट पर किया गया था जो एक्स्टजेस क्लाइंट इंटरफ़ेस को डेटा प्रदान करता था।

यह बहुत अच्छा काम किया।

मैं शायद आज एक चीज़ बदल दूंगा : मैं Asp.net + WCF से Asp.net एमवीसी में माइग्रेट करूंगा। यह इस तरह के परिदृश्य के लिए और अधिक निर्माण है।

डिबगिंग के संबंध में हमने फ़ायरबग (फ़ायरफ़ॉक्स प्लगइन) का उपयोग बड़े पैमाने पर किसी अन्य डेवलपर की तरह किया था।

लेकिन ExtJS लाइब्रेरी का उपयोग करना एक बड़ी सफलता थी। इसने डेस्कटॉप जैसी डेटा भारी वेब एप्लिकेशन बनाने में आसानी से संभव बना दिया। यह किसी भी पेशेवर इंट्रानेट वेब अनुप्रयोग विकास के लिए एक महान एकीकृत लाइब्रेरी है। JQuery और उसके प्लगइन के साथ आप हमेशा उन प्लगइन के विभिन्न quirks के साथ अकेले छोड़ दिया जाता है जो समुदाय प्रदान करता है। ExtJS इस संबंध में बहुत एकीकृत है और बॉक्स से वास्तव में अच्छा दिखता है और महसूस करता है।


आप आधुनिक AJAX- आधारित ऐप्स कर सकते हैं और अपने ऐप को गहरे लिंक करने के लिए यूआरएल हैश का उपयोग कर सकते हैं

जीमेल यह एक महान उदाहरण है कि यह कैसे काम करता है। मेरे इनबॉक्स में जाने के लिए, मैं नेविगेट करता हूं:

https://mail.google.com/mail/?shva=1#inbox

मेरे संपर्क प्रबंधक पर जाने के लिए मैं ब्राउज़ करता हूं:

https://mail.google.com/mail/?shva=1#contacts

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

जब पृष्ठ लोड होता है, तो आपको window.location.hash की जांच करने की आवश्यकता होती है और अपने ऐप के राज्य को अपडेट करने के लिए इसका उपयोग करें।


आप हैशचेंज श्रोता पर कुछ उपयोग कर सकते हैं, साथ ही जिसे मैं extjs स्क्रीन लोड करने के लिए "बंद" प्रारूप कहता हूं। मैंने एक पृष्ठ लिखा है कि एक पृष्ठ extjs एप्लिकेशन कैसे बनाया जाए।


मुझे लगता है कि यह विचार है, किसी भी तरह से, किसी वेब वातावरण में अनुप्रयोगों की डेस्कटॉप भावना से मेल खाता है, इसका मतलब है कि लगभग सबकुछ अजाक्स के साथ काम करता है।

डिबगिंग के लिए, फायरबग आपका दोस्त है। लेकिन यह डेस्कटॉप एप्लिकेशन को डीबग करने के लिए अलग नहीं होना चाहिए, जहां बग प्राप्त करने के लिए बहुत सारे क्लिक शामिल हो सकते हैं।


मैं ExtJS के साथ एएसपी.NET एमवीसी का उपयोग कर रहा हूँ। यह एक पेज एप्लिकेशन नहीं है, लेकिन यह करीब है, यह एक पेज ऐप की तरह लगता है।

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

IMHO;

  1. एएसपीएनटी एमवीसी मंच वेबफॉर्म मंच से बेहतर होगा।
  2. कंट्रोलर एक्शन हैंडलिंग के लिए बहुत अच्छी तरह से फिट बैठते हैं।
  3. आंशिक सामग्री एचटीएमएल सामग्री उत्पन्न करने के लिए उपयोगी हैं (मचान बहुत मदद करता है)

ExtJS

  • नेविगेशन के लिए,
  • सूची
  • खोज कर,
  • संपादन सामग्री,
  • अधिसूचना,
  • बाकी सब कुछ के लिए बहुत कुछ ...

समग्र ExtJS एक महान ढांचा है।





extjs