[JS] Tworzymy aplikację JS z wykorzystaniem Backbone.js, część 1 – Zapoznanie z frameworkiem
Dzisiejszy wpis będzie początkiem serii wpisów dotyczących tworzenia aplikacji internetowych z wykorzystaniem języka JavaScript. Celem serii będzie zapoznanie się z frameworkiem Backbone.js a także zapoznanie się z metodologią tworzenia aplikacji webowych.
Aplikacja, którą będziemy tworzyć, będzie miała na celu agregowanie informacji z różnych sieci społecznościowych takich jak Twitter i Facebook, a także pomoże nam w zamieszczaniu informacji na swoich profilach użytkownika w tychże sieciach.
Czym jest Backbone.js?
Backbone.js jest to framework MV*, który zapewnia tak zwane "jądro aplikacji", czyli:
- obsługę modeli,
- obsługę kolekcji modeli,
- obsługę zdarzeń,
- obsługę widoków,
- obsługę routingu.
Zapewnia tylko tyle i aż tyle. Na bazie takiego frameworka jesteśmy w stanie utworzyć aplikację internetową wg własnego pomysłu i z własnoręcznie zaprojektowanymi funkcjonalnościami. Nie jesteśmy w zasadzie ograniczeni niczego innego poza szkieletem aplikacji opierającym się na 3-ch najważniejszych rzeczach: modelach, kolekcjach i widokach.
Modele są kontenerami pojedynczej jednostki informacyjnej, np. newsa czy też osoby. Można je tworzyć, walidować (sprawdzać poprawność ich danych), usuwać i zapisywać na serwerze pełniącym rolę bazę danych.
Kolekcje są zbiorami modeli, czyli na przykład kategorią newsów czy też zbiorem osób o określonych umiejętnościach.
Natomiast, widoki są formą prezentacyjną obecnego stanu modeli, to za ich pomocą użytkownik jest w stanie zobaczyć jakie dane zawiera model, a także wykonać na nich różnego rodzaju widoczne operacje.
Backbone.js jest to projekt o otwartym kodzie źródłowym i można go pobrać bezpośrednio z Githuba (gdzie można w razie chęci wspomóc autorów projektu przy rozwoju nowych funkcjonalności frameworka).
Backbone.js i jego kompania
Framework Backbone.js nie byłby tak bardzo funkcjonalny, gdyby nie jego integracja z bibliotekami jQuery/Zepto oraz Underscore.js/lodash.js. To dzięki nim, wiele operacji zostało uproszczonych lub znacznie przyspieszonych. Wykorzystując fakt popularności biblioteki jQuery, autorzy nie muszą się martwić o jej brak, ponieważ znajduje się ona w ogromnej ilości stron internetowych czy aplikacji internetowych.
Generalnie, biblioteka jQuery lub Zepto przydaje się głównie do manipulacji na obiekcie DOM, przy zarządzaniu zdarzeniami oraz przy obsłudze żądań AJAX.
Natomiast, biblioteki Underscore.js lub lodash.js są to zestawy narzędzi, które pozwalają na bardzo szybkie operacje na obiektach, tablicach, łańcuchach znaków czy też do tworzenia dynamicznie reagujących na zmiany widoków.
Backbone.js a inne frameworki
Oprócz Backbone.js istnieje całe mnóstwo różnych frameworków JavaScriptowych. Ich cele i sposoby wykorzystania są różne. Bezpośrednimi konkurentami Backbone.js są Ember.js oraz rosnące w siłę Angular.js. Spośród tych 3-ch wymienionych frameworków, to właśnie Backbone.js jest tym, który zapewnia sam szkielet aplikacji i nie robi narzutu na sposób pisania kodu JS, tak jak to ma miejsce w innych frameworkach.
Nie da się powiedzieć, będąc 100% pewnym, który framework jest lepszy. Każdy ma swoje zalety i wady, ale to nie to jest tematem tego wpisu. Uważam, że Backbone.js zapewnia odpowiednią funkcjonalność, odpowiednią przejrzystość kodu oraz jest odpowiednio prosty w wykorzystaniu na co dzień.
Podsumowanie
Pierwszy wpis zawiera trochę teorii i jest wstępem do fazy tworzenia kodu aplikacji. Starałem się wyjaśnić czym jest Backbone.js a także dlaczego to on został wybrany.
Spodziewam się różnych opinii odnośnie wybranego zestawu narzędzi, jak wiadomo skoro jest wiele opcji wyboru, to każda z tych opcji ma swoich zwolenników jak i przeciwników.
Kolejne części wpisów będą się pojawiać w nadchodzących tygodniach. Postaram się, aby to było przynajmniej raz w tygodniu.