Backbone.js – co to jest?
Backbone.js – definicja
Backbone.js (spotykane określenia to też Backbone lub Backbonejs) to JavaScriptowa biblioteka, która pomaga deweloperom tworzyć aplikacje internetowe oparte na wzorcu projektowym Model-View-Controller. Łączy się z interfejsem API za pomocą protokołu RESTful JSON i jest znana ze swojej lekkiej konstrukcji, ponieważ wymaga tylko jednej biblioteki JavaScript (Underscore.js) i opcjonalnie jQuery.
Biblioteka Backbone.js często jest używana do tworzenia aplikacji typu single-page. Omawiany framework funkcjonuje w charakterze Open Source i jest dostępny w ramach licencji MIT.
Twórcą Backbone.js jest Jeremy Ashkenas, który miał udział w rozwoju także takich technologii jak CoffeeScript i Underscore.js.
Backbone.js – podstawowe informacje
- Rodzaj technologii – biblioteka JavaScript
- Wydawca – Jeremy Ashkenas
- Technologie wykorzystane do stworzenia – JavaScript
- Rok wydania – 2010
- Oficjalna strona internetowa – backbonejs.org
- Profil na GitHub – backbone
Backbone – najważniejsze zalety
Oto główne zalety, jakimi odznacza się framework Backbone.js:
1. Swoboda w tworzeniu rozwiązań
W przypadku Backbone na uwagę zasługuje to, że framework daje przestrzeń do podejmowania własnych decyzji dotyczących rozwoju i architektury. Developerzy mogą swobodnie dobierać metody i rozwiązania w zależności od celu, jaki chcą zrealizować. Rozpoczęcie projektów przy jego użyciu nie zajmuje zbyt wiele czasu, nawet gdy stosowane są biblioteki wyższego poziomu, takie jak Marionette.js lub Chaplin.js.
2. Funkcje dziedziczenia
Backbone.js umożliwia tworzenie hierarchii obiektów za pomocą metody „extend”, co pomaga w procesach związanych z zarządzaniem i poszerzaniem kodu. Technika ta pozwala na łatwe tworzenie nowych obiektów z już istniejących, co jest kluczowe podczas ponownego wykorzystania kodu - uniknie się dzięki temu duplikacji. Metoda ta jest szczególnie przydatna przy projektowaniu dużych i rozbudowanych aplikacji.
3. Społeczność i ekosystem
Backbone.js ma dużą i aktywną społeczność developerów oraz liczne rozszerzenia oraz wtyczki, które umożliwiają rozszerzenie funkcjonalności biblioteki. Dzięki temu, niezależnie od tego, jakiego rodzaju rozwiązania szukasz, prawdopodobnie znajdziesz je wśród już dostępnych opcji.
Backbone.js – najważniejsze wady
Oto wady, jakie warto mieć na uwadze, jeśli chodzi o framework JavaScript Backbone.js:
1. Elastyczność może czasami sprawiać problemy
Wspomniana wcześniej swoboda dotycząca tworzenia rozwiązań ma swoją cenę, gdyż wpływa ona na wygodę developera. Z tego powodu podczas realizacji niektórych projektów developerzy powinni podjąć dodatkowe kroki, aby dostosować swoje środowisko pracy.
2. Różne techniczne czynniki
Omawiany framework może przysparzać mniejszych lub większych problemów. Przykładowo czasami jest wolny, jeśli chodzi o obsługę wielu danych, gdyż polega na silniku JavaScript przeglądarki do aktualizowania DOM-u.
W porównaniu do innych frameworków (np. AngularJS) wymaga więcej kodu do wykonania pewnych zadań. Backbone.js nie dostarcza tak dużo wbudowanych funkcjonalności jak inne frameworki, przez co developerzy czasami muszą instalować dodatkowe biblioteki lub pisać więcej kodu, aby zaimplementować niektóre funkcje.
Backbone – zastosowanie
W kontekście zastosowania Backbone w różnych projektach, na uwadze należy mieć przede wszystkim to, że omawiany framework oparty jest na wzorcu Model-View-Controller. Dlatego szczególnie dobrze sprawdzi się w tworzeniu aplikacji jednostronnych, które ładują dane dynamicznie i wymagają synchronizacji różnych elementów aplikacji, takich jak klienci czy serwer.
Backbone.js jest lekkim frameworkiem, ponieważ jego jedyną wymaganą zależnością jest biblioteka JavaScript (dodatkową opcją jest także jQuery, jeśli chce się korzystać z pełnej wersji biblioteki). Dzięki temu framework Backbone jest dobrym rozwiązaniem dla projektów, w których wymagana jest wydajność i niskie zużycie zasobów.
Omawiany wzorzec MVC może jednak nie być idealnym rozwiązaniem dla wszystkich projektów. Jeśli przykładowo aplikacja jest bardzo prosta i nie zastosowano w niej zbyt wiele złożonego kodu, stosowanie się do reguł MVC staje się niepotrzebnym ciężarem. W takich przypadkach lepiej sprawdzą się prostsze wzorce projektowania jak np. MVVM (Model-View-ViewModel).
Backbone.js jest wykorzystywany przez m.in. następujące strony/serwisy/firmy:
- Airbnb,
- Diaspora,
- Groupon Now,
- Hulu,
- Nextcloud,
- Openbravo Mobile,
- ReSTbasis,
- SoundCloud,
- Strideapp,
- Trello,
- USA Today.com,
- WordPress.com.