JavaScript or jQuery?

Published: Feb 3, 2016 by C.S. Rhymes

Whenever I search for an example of how someone has produced an effect or animation in JavaScript the majority of the time I end up finding jQuery examples instead of native JavaScript.

JavaScript or jQuery

I know jQuery is very powerful and has a lot of useful methods, as well as a very large following with developers, but I worry about new developers missing out on learning JavaScript and going straight into jQuery.

You may ask what is the issue with this as they do the same thing don’t they? Well, I have been told that jquery is a library that just translates your code into JavaScript, but makes it easier to write. That’s fine for developers, but what about users?

Issues with jQuery

When a user visits your site they have to download your webpage and your scripts,but also another library, before they can use your page as you want them to. You could try and improve page loading time through the jQuery CDN, but I recently read an article that gave examples of where sites failed to render at all due to jQuery CDN being blocked. This is a rare example, but it can happen.

Therefore, I think more needs to be done by the web development community to promote JavaScript learning. You can start by learning more of it yourself and every time you write a tutorial, consider giving a JavaScript example alongside the jQuery examples.

The other thing to consider is the rise of server side JavaScript such as Node.js. If you learn jQuery then these skills are not as easily transferable to Node.js if you ever wanted to use it in future. A lot of new technology has decide to utilise JavaScript as its programming language due to its flexibility and lightweight nature, such as the Internet of Things.

Is JavaScript is the answer then?

I’m not the best person to be giving this advice, mainly because I am lazy. This site uses foundation 5 as its front end which utilises jQuery. So what am I going to do about it? Probably nothing, but one day I might surprise you and write everything from scratch.

It sounds liberating coding everything yourself and not relying on libraries, but then you are missing out on support from the community. JQuery is regularly updated and implements new browser technologies. If you want a new feature then you can update jQuery and migrate your code.

So what should you do?

Well, I don’t think there is a definitive answer that applies to all projects. I think you need to consider what you use at the design phase of a project.

I’m as guilty as most at rushing into coding once the look and feel design has been confirmed, without considering what technology is best for that project.

The other consideration is skills in the team. Will it take too long to skill up your team in a new technology to meet the deadline? But if you don’t do it for the current project, will you ever make time to learn it?

Share

Latest Posts

Building a VS Code Extension for Gutenberg blocks
Building a VS Code Extension for Gutenberg blocks

I have been tasked with building a new website using WordPress. The last time I used WordPress was a few years ago and involved using Advanced Custom Fields to build custom pages and layouts. Things have changed a lot over the years and now there is the built in Gutenberg editor, which uses blocks to create a custom layout and add content. The trouble was, there didn’t seem to be great support in Visual Studio Code for the blocks, as they use HTML comments.

Using Pest to test Laravel Livewire validation rules
Using Pest to test Laravel Livewire validation rules

Last year I wrote a post about testing Laravel Livewire validation rules with PHP Unit. This post uses the same techniques as that post, but shows how to transfer it to Pest instead of PHP Unit.

Mocking window.location in Jest
Mocking window.location in Jest

Recently I had to write some tests for a piece of JavaScript code that used window.location. This left me trying to figure out how to mock the window.location so that I could pass in dummy data and ensure that the data I got back was what was expected. Here was how I managed to solve the issue.

How NOT to make a website

How NOT to make a Website

By C.S. Rhymes

From £8.99

Nigel's Intranet Adventure

Nigel's Intranet Adventure

By C.S. Rhymes

From £2.69