Bosh sahifa Wiki Backbone.js

Backbone.js

Backbone.js — Jeremi Eshkenas tomonidan 2010-yilda taqdim etilgan, JavaScript uchun yengil strukturaviy kutubxona. U veb-ilovalarga oddiy jQuery kodi bilan yetarlicha boshqarib bo’lmaydigan tuzilishni berish maqsadida yaratilgan.

Jeremy Ashkenas tomonidan yaratilishi

Eshkenas Backbone.js’ni DocumentCloud loyihasi ustida ishlayotganda, murakkablashib borayotgan JavaScript kodini tuzilgan holatga keltirish zaruratini sezgach yaratgan. U shundan oldin CoffeeScript tilini ham yaratgan bo’lib, ikkala loyiha ham JavaScript ekotizimini yanada intizomli qilishga qaratilgan edi.

Minimalistik MV* arxitekturasi

Backbone.js ataylab minimal qilib loyihalashtirilgan — u zamonaviy freymvorklarga xos bo’lgan murakkab shablon tizimi yoki avtomatik ma’lumot bog’lashni taqdim etmaydi. Buning o’rniga, u dasturchiga asosiy qurilish bloklarini beradi, qolgan qarorlarni esa dasturchining o’ziga qoldiradi.

Model, View, Collection tushunchalari

Backbone.js’ning markazida uchta asosiy tushuncha yotadi: Model (bitta ma’lumot birligini va uning mantiqini ifodalaydi), View (interfeys va foydalanuvchi hodisalarini boshqaradi) va Collection (bir nechta model to’plamini boshqaradi). Bu sodda tuzilma dasturchiga ma’lumot va interfeysni aniq ajratgan holda kod yozish imkonini beradi.

Underscore.js bilan bog’liqligi

Backbone.js Eshkenasning yana bir loyihasi — Underscore.js — ga qattiq bog’liq bo’lib, u massivlar va obyektlar bilan ishlash uchun yordamchi funksiyalarni taqdim etadi. Bu ikki kutubxona birgalikda ishlatilib, o’sha davrdagi JavaScript dasturlashni ancha soddalashtirgan.

Zamonaviy freymvorklar davridagi o’rni

React, Vue va Angular kabi to’liq huquqli, komponentlarga asoslangan freymvorklarning paydo bo’lishi bilan Backbone.js’ning yangi loyihalardagi qo’llanilishi sezilarli kamaydi, chunki bu yangi freymvorklar ancha ko’proq imkoniyat va tayyor infratuzilmani taqdim etadi. Shunga qaramay, Backbone.js ko’plab eski, 2010-yillar boshida yaratilgan veb-ilovalarda hamon ishlab turibdi.

Bog’liq tushunchalar

JavaScript, MVC arxitekturasi, Underscore.js, jQuery, Ember.js, AngularJS