Backbone.js - Strukturet javascript kode

Jeg er igang med at lærer Backbone.js, og jeg må sige at når man først har forstået konceptet så er Backbone.js rigtig genialt!

Backbone.js er kort sagt en måde at strukturer sin kode så man kan bruge den igen og på tværs af siden. Når man først lærer javascript, falder man nok hurtig for hvor nemt det er at manipulere html med jQuery, og som man bliver bedre kan man få bygget nogle rimelig advanceret funktioner som til sidst bliver så advanceret at man ikke kan finde rundt i dem. Kort sagt det er blevet det man kalder spagehtti kode fordi det er kludret sammen.

Backbone består af 4 forskellige ting, Models, Views, Collections og Routes.

Det sjove er når man prøver at forstå konceptet bag backbone.js bliver man meget nemt i tvivl om hvordan de 4 forskellige moduler hænger sammen. Det er i sig selv nemt nok at forstå en "Model", og et "View", og sågar og en "Collection", men hvordan de er forbundet kan godt give grå hår!

Men jeg vil anbefale dig at kigge på det hvis du er seriøs med at lærer Javascript, fordi det er den eneste rigtige måde at strukturer din kode, uden at gå på kompromis på nogen måder. Det er så også en af ulemperne, netop fordi der ikke er nogen korrekt måde, er det op til en selv hvordan man vil bruge Backbone.js hvilket ikke gør det nemmere i starten.

Hvis godt kan lide at lærer med video, så kan jeg absolut anbefale CodeSchool, det er dog et betalingsprodukt ($20) , men hvad du får ud af det, synes jeg det er det værd! Det fede ved CodeSchool er også at der er disse interaktive øvelser, som sikre at du kommer igennem det. Ofte er det nemlig lige det lille skub som skal til for at man får rigtig fat på det.

Ellers så er dokumentation også god, men mangler lidt før at man som nybegynder kan læse fra den. http://backbonejs.org/

Jeg har også lavet en JS BIN, hvor jeg via Backbone laver 2 views, som henholdvis tilføjer og viser en liste af indtastninger. Hvis man starter oppefra og går ned kan man se flowet, hvordan man først starter med en Model, så et View, derpå en Collection. Tilsidst laver jeg også et View hvor man kan tilføje flere Todos. Prøv at tage et kig på det. http://jsbin.com/akicaf/6/edit