Book Image

jQuery Design Patterns

By : Thodoris Greasidis
Book Image

jQuery Design Patterns

By: Thodoris Greasidis

Overview of this book

jQuery is a feature-rich JavaScript library that makes HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a variety of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript. jQuery solves the problems of DOM manipulation, event detection, AJAX calls, element selection and document queries, element attribute and data management, as well as object management utilities. This book addresses these problems and shows you how to make the best of jQuery through the various design patterns available. The book starts off with a refresher to jQuery and will then take you through the different design patterns such as facade, observer, publisher/subscriber, and so on. We will also go into client-side templating techniques and libraries, as well as some plugin development patterns. Finally, we will look into some best practices that you can use to make the best of jQuery.
Table of Contents (18 chapters)
jQuery Design Patterns
About the Author
About the Reviewer

Placing scripts near the end of the page

The first tip for making your page's initial rendering faster is to gather all the required JavaScript files and place their <script> tags near the end of the page, preferably just before the closing </body> tag. This change will have a great impact on the time needed for the initial rendering of the page, especially for users with low speed connections such as mobile users. If you are already using the $(document).ready() method for all initialization purposes that relate to the DOM, moving the <script> tags around should not affect the functionality of your implementation at all.

The main reason for this is that, even though browsers download the page's HTML and other resources (CSS, images, and so on) in parallel, when a <script> tag is encountered, the browser pauses everything else until it is downloaded and executed. In order to work around this limitation of the specification, attributes like defer and async from HTLM5...