Solving a Dilemma: Raw JavaScript vs. JS Frameworks

Posted on November 7, 2012, under Frameworks, JavaScript, jQuery, MooTools 

There has been a huge dilemma among web developers as to what to get acquainted with first, the basic JavaScript or the more advanced features that use it such as jQuery, MooTools etc. The popular answer to such a question has always been the latter option. Learning the latter might be the easiest way around. But taking shortcuts always have their repercussions. Learning jQuery without getting acquainted with the basic Java script may lead to the developer running into problems later on.

The Pros and the Cons

Using script libraries is the easier way but not the best way. When one has ready made libraries of scripts in their possession and the library is user friendly and provides good tutorials for the beginners, it may not take a long time to master it. There are some great tutorials that may make even an absolute beginner master it and start working within a short period of time. There is a huge library of codes which can perform a huge range of functions. One does not have to write extensive lines of code as in raw JavaScript or others. The programming can be done with some speed as there is a lot of support for the library such as available plug-ins that speed up the process and can be downloaded readily. Yet all these come for a price.


Most web developers will agree that working directly with such libraries such as jQuery and MooTools will result in their running into problems sooner or later. Without knowledge of the basic JavaScript there will always be problems for or JavaScript is the basic knowledge that every web developer should have. Without it there will always be some functions that will not be available. Also, once one has the basic knowledge, working with the libraries is no big a hassle. Knowledge of JavaScript automatically enables users to learn jQuery, MooTools etc.

Learning the basic underlying principles of web development concepts will always help to lay a solid foundation for any web developer to work upon. Otherwise the understanding of some of the concepts of web development may escape him. Learning about server side and client side concepts, cross browser scripting etc. will make the programmer less dependent on such libraries. For once one starts with one of them before learning the basics, they’re crippled.

Performance vs Power

Taking shortcuts without knowing what exactly one is cut out from the learning experience may actually be taking a long road instead of a shorter one. It is true that tools like jQuery and MooTools are powerful ones. But there will be a compromise on the performance for the power. Which web developer will really want to handicap himself, limiting his capabilities in the long run.

The Downsides

Tools like jQuery and MooTools might have a huge library to themselves. But there will always be a limit however rare the occasion might be. There will always be instances where a particular website will require customization to a level which might not be possible to create in such applications. In such scenarios a web developer will always have to go back to the basics, which is the basic JavaScript.

Another disadvantage of developing through tools like these is that a JavaScript file is required to run the commands. Although the size of the file is relatively quite small, yet the mere existence of the file is a burden. It might prove to be an unnecessary strain on the client server and the performance might be slowed.

So the above discussion amply illustrates how learning the basic JavaScript will always be a big winner for web developers in the long run.

This article was written by Rob Pell on behalf of Simplifydigital. Simplifydigital are Ofcom accredited and provide independent advice to consumers looking for the right broadband, TV and home phone packages.

Comment via Facebook

comments

Leave a Reply


* = required fields

  (will not be published)


XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Note: If you want to post CODE Snippets, please make them postable first!
(e.g. <br /> should be converted to &lt;br /&gt;)

POSTING RULES:

  • The comment must be relevant with the topic of the post.
  • Only comments with real email addresses will get approved. So, emails like 'abc@domain.com' will not be accepted.
  • Do not post the same message in multiple articles through the site.
  • Do not post advertisements, junk mail or pyramid schemes.
  • In case you post a link to another site, please explain briefly where the link goes as a courtesy to other users.
  • Do not post comments such as: "Thank you", "Awesome", "Nice tutorial", "Merci", etc.