We are living in the Web 2.0 world, where social web applications and smart websites communicate between servers and clients dynamically using Ajax, refreshing whole pages only when the context changes. In this chapter, you will learn the best practices to deal with JavaScript in your templates to create a rich user experience. For responsive layouts, we will use the Bootstrap 3 frontend framework. For productive scripting, we will use the jQuery JavaScript framework.




















































