ARCHITECTURE

Tools and methodologies that can be employed when building jQuery applications that require a greater level of structure or complexity.

Get Started. It's Free
or sign up with your email address
Rocket clouds
ARCHITECTURE by Mind Map: ARCHITECTURE

1. Re-usable components

1.1. jQuery plugin

1.1.1. Patterns

1.1.1.1. Event-driven

1.1.1.2. Object-driven

1.1.1.3. in-loop driven

1.1.1.4. Extend

1.1.1.5. Class and Function

1.2. $.widget factory

1.3. jQuery controller

2. Single-page applications

2.1. Backbone.js

2.1.1. Utilities

2.1.1.1. Underscore.js

2.1.2. Templating

2.1.2.1. jQuery templating

2.1.2.2. Mustache.js

2.1.2.3. Handlebars

2.1.2.4. PURE

2.1.2.5. MicroTemplates

2.1.2.6. Closure templates

2.1.2.7. jQuery.View

2.1.2.8. Dust.js

2.2. Sammy.js

3. Large-scale applications

3.1. Patterns

3.1.1. Architecture

3.1.1.1. MVC

3.1.1.1.1. JavaScriptMVC

3.1.1.1.2. Backbone.js

3.1.1.1.3. SproutCore

3.1.1.1.4. Sammy.js

3.1.1.1.5. Eyeballs.js

3.1.1.2. MVVM

3.1.1.2.1. Knockout.js

3.1.1.2.2. Knockback.js

3.1.2. Code structure

3.1.2.1. Module pattern

3.1.2.2. Inheritance pattern

3.1.2.3. Prototype pattern

3.1.2.4. Sandbox pattern

3.1.2.5. Observer pattern (PubSub)

3.1.2.6. Revealing module pattern

3.2. Events / Routing

3.2.1. PubSub

3.2.1.1. Custom events

3.2.1.2. jsSignals

3.2.1.3. OpenAjax Hub

3.2.1.4. Ben Alman's implem

3.2.1.5. Peter Higgin's implem

3.2.2. Hash / Routing / Bookmarking

3.2.2.1. routes.js

3.2.2.2. history.js

3.2.2.3. BBQ & hashchange

3.3. Unit Testing

3.3.1. QUnit

3.3.2. Jasmine

3.3.3. FireUnit

3.3.4. Crosscheck

3.3.5. JSSpec

3.3.6. jsTestDriver

3.4. Script loading

3.4.1. LAB.js

3.4.2. StealJS

3.4.3. HeadJS

3.4.4. ControlJS

3.4.5. yepnope.js

3.4.6. LazyLoad

3.4.7. curl.js

3.4.8. RequireJS

3.5. Build tools

3.5.1. Concatenation

3.5.1.1. Jake

3.5.1.2. Smasher

3.5.1.3. YUI compressor

3.5.1.4. Sprockets

3.5.1.5. Closure

3.5.2. Minification

3.5.2.1. Closure

3.5.2.2. YUI compressor

3.5.2.3. UglifyJS

3.5.2.4. ShrinkSafe

3.5.2.5. JSMin

3.6. Tools

3.6.1. Feature detection

3.6.1.1. Modernizr

3.6.1.2. has.js

3.6.1.3. HeadJS

3.6.2. LocalStorage

3.6.2.1. Store.js

3.6.2.2. jQuery Offline

3.6.2.3. PersistJS

3.6.3. Debouncing

3.6.3.1. jQuery debounce

3.6.3.2. doTimeout plugin