Editor: Sublime Text
- Package Control - like npm for plugins. it’s how you install the rest of these
- DockBlockr. snippets for code comments / documentation
- Emmet. text-expander-ish html & css power-tools. check out the demos here, and bookmark the cheat sheet
- Jasmine. similar thing for writing the boiler-plate describe/beforeEach/afterEach/it/expect blocks faster
Git & GitHub
- Developing Backbone.js Applications by Addy Osmani. another great open-source book from Addy Osamani. I’d say this is a must read for anyone getting into Backbone, and it has a chapter on Marionette. It also talks about using AMD with Backbone, and unit testing Backbone apps with qunit and jasmine.
- Backbone.js Questions at StackOverflow. another advantage of using a super popular, relatively small framework, is that there is a huge community who have dug through nearly any use-case you can imagine.
- MarionetteJs.com. Main site for the project
- Docs. well written docs that explain why each component was built, and how to use it
- Annotated Source - the final word on how things work
- BackboneRails.com - Brian Mann has created a set of truly amazing screen casts about building backbone + marionette applications with a rails backend. Code is in coffee script,but the ideas and patterns are great and really well explained. Highly recommended
- Building Backbone Plugins by Derick Bailey (author of Marionette). Great description of how the marionette components were designed, and why. Also. if you use marrionette. just buy. you will certainly learn something new, and it’s a great way to give a little something back to Derick
- Backbone Fetch Cache. this uses local storage to create a cache of requested objects. It’s nice because it is just a drop-in upgrade for the fetch() method on models and collections. We use it for search results, so that when a user navigates from search results, to a datasets and back, the search results are pulled from the cache instead of making another request.
- Backbone Query Parameters. by default, the backbone router disregards query string parameters. which is fine if your app’s urls are all super “RESTful”, but that is not always viable (i.e. check the url of a google search). This plugin fixes this up, and converts the query string into a key/value hash. Additionally, by “respecting” the query string, it also causes the router to fire when navigating between urls that only differ by query string parameters. which is important for going “back” through search history in our app.
- jquery-jasmine. extensions to make DOM assertions easier, as well as adding support for html, css and json fixtures
- Jasmine Chapter in Developing Backbone Applications by Addy Osmani. good overview of using Jasmine to write tests for Backbone applications. There are also chapters on using QUnit and Sinon for those interested.
- Istanbul. writing tests is all well and good, but it’s important to know how much of your code has test coverage, and this is where a coverage tool comes in. We use this as a template mix-in for grunt-contrib-jasmine, and it runs as part of our automated test system
- watch plugin - watch a set of files in a tree and runs other plugins when changes occur
- jshint plugin - a friendlier version of jshint that catches syntax errors
- jasmine plugin - automated unit test runner
- istanbul plugin - code coverage mix-in for jasmine
- jst plugin - compiles underscore templates server side for much win
- Chrome Dev Tools site. dig into all the details here
- DevTools at Google I/O 2013. Paul Irish shows off many features in this 30min video
- Jank Free: Chrome Rendering Performance. From Google I/O 2013, this shows how to use the tools to optimize rendering
- More DevTools Videos. whole heap of videos showing how to use specific features