मैं जटिल क्लाइंट-साइड जावास्क्रिप्ट के विकास के आसपास, विभिन्न दृष्टिकोणों और सर्वोत्तम प्रथाओं के परिदृश्य को समझने की कोशिश कर रहा हूं।
मुझे यकीन नहीं है कि आवेदन के इस वर्ग को लेबल करने के लिए, शायद भारी AJAX या RIA (लेकिन फ्लैश / सिल्वरलाइट जैसे प्लगइन्स नहीं)। मैं इन विशेषताओं के साथ वेब ऐप्स की बात कर रहा हूं:
- जावास्क्रिप्ट में समृद्ध / देशी डेस्कटॉप UX का अनुकरण करें
- सर्वर-साइड JS में अधिकांश / सभी व्यवहार को डेटा-API (JSON / Html-Templates) के रूप में सर्वर का उपयोग करना शामिल है।
यह UI-रेंडरिंग के लिए वेब-सर्वर का उपयोग करने के विपरीत है, पेज-रिफ्रेश मॉडल में सभी HTML का उत्पादन करता है।
कुछ उदाहरण निम्न हैं:
- Google डॉक्स / जीमेल
- MindMeister
- निर्णायक ट्रैकर
जैसे ही हम एचटीएमएल 5 में आगे बढ़ते हैं, मैं आरआईए विकास की इस शैली को भारी जावास्क्रिप्ट के साथ देख सकता हूं, कभी भी अधिक सामान्य और प्रतिस्पर्धा करने के लिए आवश्यक हो जाता है।
प्रश्न: इस प्रकार के भारी जेएस विकास को प्रबंधित करने के लिए आम दृष्टिकोण क्या हैं?
क्लाइंट-साइड कोड, जैसा कि एक ऐप सुविधाओं में बढ़ता है, मजबूती से जटिल है। कच्चे JS (या तो मैं सुनता हूं, और अच्छी तरह से यह विश्वास कर सकता हूं) के साथ कई टीमों के विकास के प्रयासों को बढ़ाने में समस्याएं हैं।
Google ने GWT के निर्माण में समस्या का सामना किया है जो उच्च स्तर की भाषा (जावा) से लेकर JS तक संकलित है, मौजूदा विकास के बुनियादी ढाँचे पर झुकाव है जिसमें उच्च स्तरीय भाषा है (ग्रहण, मजबूत-टाइपिंग, रीफ़ैक्टरिंग उपकरण), साथ ही साथ ब्राउज़र संगतता और डेवलपर से दूर अन्य मुद्दे।
अन्य उपकरण हैं, जैसे स्क्रिप्ट # के लिए C # जो कुछ ऐसा ही करते हैं। यह सब जेएल को एक आईएल (इंटरमीडिएट भाषा) की भूमिका में डालता है। अर्थात। "आप वास्तव में कभी भी उस 'निम्न स्तर की भाषा' में नहीं लिखते हैं।"
लेकिन यह 'जेएस का संकलन' एकमात्र दृष्टिकोण नहीं है। यह स्पष्ट नहीं है कि GWT प्रमुख दृष्टिकोण है ... या वास्तव में यह बन जाएगा।
अमीर-ग्राहक जावास्क्रिप्ट के साथ लोग क्या कर रहे हैं? कुछ उन्मुख प्रश्न:
- क्या अधिकांश दुकानें जेएस क्राफ्टिंग को मैन्युअल रूप से तैयार कर रही हैं (जेपीई एट अल की तरह कामेच्छा)?
- या कई अलग-अलग दृष्टिकोण हैं, जिनमें कोई स्पष्ट सर्वोत्तम-अभ्यास उभर नहीं रहा है?
- क्या ज्यादातर दुकानें डेवलपर सर्वर-साइड / पेज-रेड्रा मॉडल के लिए आरआईए पैमाने के विकास को सरल बनाने के पक्ष में हैं? यदि हां, तो क्या यह चलेगा?
- क्या जेएस का संकलन शायद एक उभरती हुई भविष्य की प्रवृत्ति है? या यह सिर्फ गलत है?
- वे क्लाइंट JS की जटिलता और रीफैक्टरिंग का प्रबंधन कैसे करते हैं?
- टीमों में काम का संशोधन और वितरण?
- एमवीसी / एमवीपी आदि जैसे क्लाइंट साइड पैटर्न के आवेदन, प्रवर्तन और परीक्षण
तो, हमारे इस भारी-जावास्क्रिप्ट और एचटीएमएल 5 भविष्य में उभरते रुझान क्या हैं?
धन्यवाद!