General

How to choose the best framework/ libraries for your next project?

denver Published on July 11, 2021

Blog Written by Samay Bhattacharyya

So you got a project, and you’re about to work on it, but you’re confused as to which framework to use; should you use laravel or codeigniter, express.js or sails.js, or wait, which language, javascript or PHP? Oh God!, you’ve been in this too right? 

And I have some interesting news for you, so read it till the end!

What’s the solution for this?

Don’t worry, let's start by discussing these burning issues faced by several developers.

 

Often, the answer for such complicated problems can be understood by a simple example. I am sure most of you have played a First Person Shooter game once in your life, for example, Call of Duty, etc. Imagine you’re playing a similar game, and you’ve come across a situation where you have to take down 5 enemies at once. Mostly in these games, you can use an assault rifle or equivalent, a grenade or equivalent, some kind of knife, and a pistol. Now to take down 5 enemies, who are constantly firing at you, you wouldn’t use a pistol because it's too slow and less powerful, or an assault rifle because it is most probable that they would take you down before you could take them, hence a grenade could be a best option in that case. 

 

However, imagine you have to take down one enemy then an assault rifle or some pistol or equivalent would be the best option. I’m no good gamer, but you’ve probably got an idea.

 

 

Similarly, every framework or library has its own pros and cons, which would decide its use case. Don’t take it in a wrong way but every framework or library can be used to code similar projects as its peer framework or library would do.

Which framework to trust on?

Anyways, so, how to decide which framework to use? 

Considering its fundamental technology that it is used to make, for eg. Laravel is made with PHP, Sails.js is made with NodeJS. Now, NodeJS is good for I/O, non-blocking requests, so if you need something like that, use NodeJS, or use the technology that fits with your purpose. 

 

Let's consider the frontend frameworks, React, Vue and Angular, which one to use for your next project? Now, Angular has a lot of stuff that comes out of the box, but do you require those, or do you require some normal changes in your DOM that could be easily handled by React? 

 

While learning a framework you should also look at these stuff too, as it will prove helpful in selecting a technology for your next project. 

 

 

If you’re a project manager, the first thing that you should consider is, what technologies does the majority of the developers in your team know? For example, let’s say your team is trained to work with Django, it would make no sense to ask them to code the next project in some other framework than that, because even if the framework is top notch, if your team is not properly trained, then they would not follow the best practices, and hence overall effect of using that new framework shall only stand negative.



Although there might be slight differences between each framework, picking once blindly for your next project might have some repercussions in the long run. If your project does a lot of I/O, use Javascript and NodeJS and takes the advantage of its event looping feature, but if your project has I/O and it could be used in finance industry then you could go for typescript, or any strictly typed language.

 

But imagine if you chose Javascript, which is a loosely typed language, you might lose track of the trailing decimals and could eventually cause a big error in the long run (You’re familiar with the butterfly effect correct? The wind displaced by the flap of a butterfly can cause a cyclone in other parts of the world).

Conclusion

So, the question still remains, which framework to work with? Honestly speaking, that would only depend upon your use case and it is hard to pick a clear winner without knowing the same. However, it is my personal advice that you go with whatever you know best for a professional project, i.e., the one you’d be making for a company or a client, and keep on experimenting with new frameworks in your personal projects. In that way, you’ll be able to gain knowledge, experiment with technologies and also it won’t harm your professional career if something goes wrong.

 

Smart and simple right?

 

 

Hang on! Remember that interesting news, we are teaching Laravel in our training sessions. Want to get hands-on experience with laravel and vue, write an email to hello@icrewsystems.com. Trust me, it's going to be fun.

(GIF credits: tenor.com)

denver Published on 2021-07-11 12:00:27