.NET Zone is brought to you in partnership with:

Gil Fink, Microsoft MVP, is an expert in Web development and Microsoft data platform. He works as a senior architect at Sela Group. He is currently consulting for various enterprises and companies, where he architects and develops Web and RIA-based solutions. He conducts lectures and workshops for developers and enterprises who want to specialize in infrastructure and Web development. He is also a co-author of several Microsoft Official Courses and training kits. You can read his publications at his blog: http://blogs.microsoft.co.il/blogs/gilf. Gil is a DZone MVB and is not an employee of DZone and has posted 151 posts at DZone. You can read more from them at their website. View Full User Profile

Use The Right Tool for Every Task

05.24.2014
| 3993 views |
  • submit to reddit

Lately I was involved in a few projects and was consulting to a few more. Most of the web developers I met are very confused with what is going today in the web platform. They have so many JavaScript frameworks and libraries that they are overwhelmed. In most of those projects the developers want to use AngularJS (note that it might have been any other framework which is cool at the moment) and I get the following reasons:

  • Everybody out there uses the framework
  • X company (in AngularJS case it is Google) created or support the framework
  • The framework includes needed feature
  • The framework is cool
  • The framework will help us gain rapid development
  • And many other reasons

I really like AngularJS and I used it in a few projects myself. This post definitely isn’t saying that I believe that you shouldn’t use it. 
On the other hand, I believe that only after you understand the needs in your project you should ask yourself which framework/library fits to the situation. 
This is were the problem stands. With so many options out there and hype around some of them, web developers tend to make the wrong decisions or make wrong assumptions. 

Let me explain what I mean with two small examples:

A web developer needs to develop a simple form. When he starts to develop the form, he adds AngularJS because it has a data binding feature. Then, he uses that feature only for a really small part (let’s say only one field). Everything works perfect, doesn’t it? 
Nope! We have wasted resources and we used an elephant to stomp over an ant. 
You might say that this fictional scenario is (hmm) fictional but it’s not…

A web developer needs to create a simple list web component.  He works on a legacy application which is traditional server oriented web application. In the application they don’t use AngularJS but rather a template library. He convince the team that this is the time to add AngularJS to the project and that they will gain a lot from having AngularJS in the project later on. You might back the developer because AngularJS is cool and includes a lot of features, but after seeing so many failing projects there are other ways which are better then adding a framework.

What I’m trying to say I’ll write in one sentence – use the right tool for every task.
Please evaluate your needs first and then think what is the framework/library that can help you to solve your problem.

Published at DZone with permission of Gil Fink, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)