Backbone.js एक बहुत Light Weight JavaScript Library Framework है जो Developers को Structured तरीके से एक Page Application बनाने के लिए सुविधा प्रदान करता है. Backbone.js Client Side Applications Web Browser पर चलते है. यह MVC पैटर्न पर आधारित है जो Models मे Data को Abstracts करता है और विचारो मे DOM इन दो घटनाओ का उपयोग करके Bind करता है. Backbone.js मुख्य रूप से Data के लिए एक RESTful Service का उपयोग कर Single Page Applications बनाने के लिए उपयोग किया जाता है.
Backbone.js को शुरू में 13 अक्टूबर, 2010 को जारी किया गया था. इसे Jeremy Ashkenas द्वारा विकसित किया गया था.
Backbone.js की सबसे प्रमुख विशेषताओं की एक सूची निम्नलिखित है.
Backbone.js डेवलपर्स को जावास्क्रिप्ट फ़ंक्शंस का उपयोग करके एक पृष्ठ एप्लिकेशन और फ्रंट-एंड को अधिक आसान और बेहतर विकसित करने की अनुमति देता है.
Backbone क्लाइंट साइड वेब Applications को इकट्ठा करने के लिए Models, Views, Events, Routers और संग्रह जैसे विभिन्न प्रकार के बिल्डिंग ब्लॉक प्रदान करता है.
Model को बदलते समय Backbone.js मे यह स्वचालित रूप से आपके एप्लिकेशन के HTML को अपडेट करता है.
Backbone.js एक साधारण लाइब्रेरी है जो व्यवसाय और उपयोगकर्ता Interface Logic को अलग करने के लिए प्रयोग की जाती है.
Backbone.js एक नि: शुल्क और मुक्त स्रोत लाइब्रेरी है और इसमें 100 से अधिक उपलब्ध एक्सटेंशन होती है.
Backbone.js आपके कोड को सरल Systematic और Organized बनाता है यह आपकी परियोजना के लिए रीढ़ की हड्डी की तरह काम करता है.
Backbone.js डेटा मॉडल को manages करता है जिसमे User का Data शामिल होता है और सर्वर पक्ष पर उस Data को क्लाइंट साइड पर लिखे गए प्रारूप के साथ प्रदर्शित करता है.
Backbone.js डेवलपर्स को अच्छी तरह से संरचित और संगठित प्रारूप में क्लाइंट साइड वेब एप्लिकेशन या मोबाइल एप्लिकेशन बनाने की अनुमति देता है.
Backbone.js Architecture Structure को वेब अनुप्रयोगों को निर्दिष्ट करता है जो User को Business Logic और User Interface Logic को अलग करने की अनुमति देता है.
Backbone.js Events Modules है जिन्हें किसी भी Object मे मिश्रित किया जा सकता है. यह Objects को हमारी पसंद के Desired नाम का उपयोग करके Custom Events को Bind और Trigger करने की सुविधा प्रदान करता है.
Backbone.js Model Backbone.js Applications के निर्माण के लिए उपयोग किए जाने वाले सबसे महत्वपूर्ण बिल्डिंग ब्लॉक है. इसे जावास्क्रिप्ट एप्लिकेशन के दिल के रूप में भी जाना जाता है मॉडल में Dynamic Data और Logic भी शामिल होता है. यह Validation, Conversion, Computed Properties, Access Control आदि जैसे Data पर विभिन्न प्रकार की कार्रवाई करता है.
Backbone.js एक Collection Model का एक Ordered Set है. इसका उपयोग संबंधित Models के समूह से निपटने के लिए किया जाता है. Backbone.js सर्वर पर नए Model की Loading और बचत को संभालता है. यह Models की List के खिलाफ Aggregation और Calculation करने के लिए सहायक कार्यों को प्रदान करता है. आप Backbone's Collection Class को विस्तारित करके अपना स्वयं का Collection बना सकते है.
यदि Collection में किसी Model पर कोई Event Triggered किया जाता है तो यह सीधे Collection पर Triggered भी किया जाएगा यह आपको Collection मे किसी भी Model मे Specific Attributes मे परिवर्तनों को सुनने के लिए सुविधा प्रदान करता है.
Backbone.js राउटर क्लाइंट साइड अनुप्रयोगों को रूट करने और उन्हें क्रियाओं और घटनाओं से जोड़ने के लिए उपयोग किया जाता है. यह Web Applications को लिंक करने योग्य, बुकमार्क करने योग्य और तेज़ यूआरएल प्रदान करते समय एप्लिकेशन के ऑब्जेक्ट के URL Representation को भी परिभाषित करता है
Backbone.js Sync एक ऐसा फ़ंक्शन है जिसे इसे हर बार कहा जाता है सर्वर को मॉडल को पढ़ने या सहेजने का प्रयास करता है.
Backbone.js View Specify करता है कि आपका डेटा कैसा दिखता है. यह उपयोगकर्ताओं के लिए मॉडल के डेटा को Represent करता है. Backbone.js View किसी भी JavaScript Template Library के साथ इस्तेमाल किया जा सकता है. यह उपयोगकर्ता Input Events को संभालता है और Events और Methods को bind करता है Model और Collection को प्रस्तुत करता है और उपयोगकर्ताओं के साथ Interact करता है.
Utility क्लास मे Backbone Utility को लागू करने के तरीकों का एक सेट होता है. इसमे निम्नलिखित दो विधियां होती है जिनका उपयोग Backbone.js Utility मे हेरफेर करने के लिए किया जा सकता है
(1) Backbone.noConflict − यह Backbone Objects को अपने मूल मूल्य पर वापस देता है और Backbone के संदर्भ मे स्टोर करने की सुविधा प्रदान करता है. इसका उपयोग थर्ड-पार्टी वेबसाइटों पर Backbone को एम्बेड करने के लिए किया जा सकता है जहां आप मौजूदा Backbone को तोड़ना नहीं चाहते हो.
(2) Backbone.$ − इस प्रॉपर्टी का उपयोग तब किया जाता है जब आपके पास पृष्ठ पर jQuery की कई प्रतियां होती है या बस Backbone को किसी विशेष ऑब्जेक्ट का उपयोग करने के लिए अपनी DOM / Ajax library के रूप मे बताना चाहते हो.