मैं कोणीय का उपयोग क्यों करूंगा? [बन्द है]


20

बुनियादी कोणीय ट्यूटोरियल से, ऐसा लगता है कि यह सब कुछ एपीआई से कुछ JSON लाने और इसे प्रदर्शित करता है। इसके अलावा, इसका दोहरा बंधन जादू है।

लेकिन मैं बैकएंड सॉल्यूशन (रेल्स की तरह) के बजाय इसका उपयोग क्यों करूंगा, जो बैकएंड में व्यू बनाता है और इसे यूजर को सर्व करता है, पहले से ही सब कुछ के साथ? उपयोग के मामले क्या हैं?

जवाबों:


26

TLDR;

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

लंबी कहानी है

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

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

एक बिंदु आता है, हालांकि, जहां आप सभी करना चाहते हैं सर्वर एक स्टब पृष्ठ है जो पूरी तरह से जावास्क्रिप्ट-आधारित एप्लिकेशन को लोड करता है। संभवतः उपयोग-केस के प्रकार का सबसे प्रसिद्ध उदाहरण जहां एंगुलर वास्तव में चमकता है, ट्रोलो है (यह बैकबोन का उपयोग करता है, कोणीय नहीं, लेकिन यह एक ही उपयोग-केस है)। एक साइट है http://builtwith.angularjs.org/ जिसमें एंगुलर का उपयोग करने वाले अधिक उदाहरण साइट हैं।

तो छोटा जवाब? कोणीय आपको अपने यूआई को घटकों में विघटित करके अमीर और उच्च इंटरैक्टिव उपयोगकर्ता इंटरफेस बनाने में आसान बनाता है, और अंततः पूरी तरह से जावास्क्रिप्ट प्राप्त करता है।


3
AngularJ sodes लुक और फील और लॉजिक के स्पष्ट अलगाव प्रदान नहीं करता है।
rsman

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

3
Trello, उदाहरण में प्रयुक्त Angular blog.fogcreek.com/the-trello-tech-stack
JAMESSTONEco

1
@jamesstoneco वास्तव में, ऐसा नहीं है, मैंने बस ट्रेलो का उपयोग विशुद्ध रूप से क्लाइंट-साइड जेएस एप्लिकेशन के उदाहरण के रूप में किया है। यह इसे जल्द से जल्द करने में से एक था।
पीपुलमैन

7

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

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


"चला गया सभी डोम हेरफेर कोड था।" मेरी राय में यह सबसे महत्वपूर्ण बात है।
बेंट

5

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

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

उस ने कहा, आपका प्रश्न एंगुलर के बजाय एसपीए के उपयोग मामलों के बारे में अधिक प्रतीत होता है।

सिंगल पेज एप्लीकेशन के उपयोग के मामले मजबूत यूआई / यूएक्स के साथ वेब एप्लिकेशन और समग्र रूप से बेहतर एप्लिकेशन महसूस करने के लिए हैं। अपने पेज को पुनः लोड नहीं करने से आप समय और बैंडविड्थ को बचाते हैं। आप डेटा और प्रेजेंटेशन को भी अलग करते हैं जो कमाल का है। आपका आवेदन बन जाता है:

  • अपने index.html सहित स्टेटिक फ़ाइलें
  • एक REST API डेटा परोसता है
  • डेटा-संचालित फ्रंट-एंड एप्लिकेशन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.