JQuery
Overview
In deference to the KISS principle, I generally prefer to use jQuery over some of the newer more complex frontend frameworks if at all possible. For most CRUD applications, jQuery usually fits the bill.
When writing jQuery code, I usually adopt one of the following patterns:
- Module: https://learn.jquery.com/code-organization/concepts/#the-module-pattern
- Plugin: https://github.com/jquery-boilerplate/jquery-boilerplate/blob/master/src/jquery.boilerplate.js
Another more specialized pattern is the web widget pattern. This would be used to build a centralized widget pushed out to multiple sites (e.g. Disqus comment forms).
Module Pattern
The module is best used for modules where the abstraction is centralized and does not require multiple instantiations (as with a class object).
For an example of the modular pattern, see the following :
Plugin Pattern
To build your own classic jQuery plugin that can be used like so:
$('.div').foo()
Boilerplate template to get you started here: