How jQuery is changing the face of web development (literally)
In the beginning of the Internet, there were static pages with static content. This means that the only way things changed on a web page was if someone physically changed the content on the web page.
Then came dynamic content, which allowed content to be generated based off any number of variables - from the browser being used to view the site, to the time of day (for example, the greeting on the site could say, “good morning!” until noon and then switch to “Good afternoon!”).
Dynamic content can be achieved one of two ways: server side or client side. An example of server side dynamic content would be through a language like PHP, which allows the web developer to inject dynamic content throughout a static web page. This content is “calculated” or rendered on the server that is hosting the web page, and it usually requires a browser refresh to render new content. An example might be that the page displays different content if a certain button is clicked...but after the user clicks that button, the web page will continue to display the old content until either the page is forced to refresh, or the user refreshes the page.
This is pretty cool (and very common), but it has its limitations. The very fact that page refresh is required seems pretty clunky these days.
Javascript allows us to get around this shortcoming. It’s a client side language that is executed by your browser and not by the server. This allows the web developer to change things on a web page that has already been “rendered” (loaded). So in the example above, if you clicked a button, Javascript could be used to display content on the page in real time without needing a page reload (i.e. displaying a message in real time like, “Hey, you clicked this button!” after the button click).
This is pretty cool, too. And it opens up a world of possibilities - but the downside is that Javascript scripts can sometimes take quite a bit of time to develop and debug.
Enter Javascript “libraries”, which can allow very complicated Javascript to be executed by merely including a single library file in the web page and adding a single line of code. One of the most popular of these libraries is called jQuery.
jQuery has taken the development community by storm and allows even novice web developers to implement extremely sophisticated features on a website with little to no coding. These makes it easier to add really cool functionality to your site, which means that even experienced web developers can save time by focusing their energies on more challenging or complex aspects of a project (not to mention saving a lot of cash for whomever is footing the bills!).
In general, if you have an idea for something, you can likely find something similar already implemented and available for free in a jQuery library.
An example of a few awesome jQuery libraries can be found below. All you need to do is download the library, follow the install instructions and you’ve got the functionality on your site sometimes within minutes.
Flip panel: http://jonraasch.com/blog/quickflip-2-jquery-plugin
Product zoom: http://www.mind-projects.it/projects/jqzoom/demos.php
Tiny Tips: http://www.mikemerritt.me/demos/tt-1-0/index.html
Lightbox effect (voxview): http://www.yoxigen.com/yoxview/
Accordion Menus: http://jquery.bassistance.de/accordion/demo/
Live form validation: http://jquery.bassistance.de/validate/demo/
These just barely scratch the surface of the thousands of jQuery libraries available on the web today - and the functionality they extend to your site. These plugins can be tied into your existing website, worked into new development or even transformed into something like a drupal module if you’re using a CMS.
Never before has it been so inexpensive to develop a world-class website. And never before have so many world-class libraries been available with such amazing, cutting-edge functionality.
We look forward to the future. Things will only get more advanced and less expensive. And that’s a fun environment to be in from both a business and developer perspective.