Choosing a framework or technology for a project
Hello guys, here I am going to list some important points to consider before you decide go for a framework/technology when starting a project.
First things first
1) Whether it have a detailed documentation or not?
The documentation helps a lot in understanding the basic stuffs. It should have a simple and understandable language. Having proper examples would be a bonus.
2) How big is the community and can I find people to help me when I am stuck?
It is a big factor while choosing a framework or technology. The documentation provides us the structure of framework and its functionality. But as we know all projects don’t have similar requirements and we developers aren’t behind in the matter of encountering strange abnormal issues. So before choosing the framework, you should make sure that it has a huge community support and large developer base.
3) How expert is my team and how wide is their knowledge base?
Another important factor to consider before committing to a framework is the expertise and the knowledge base of your team. Any project involves as much effort after the completion of development as before and during the process. Besides, the product developed must be easily testable.
4) Is there any learning resources?
Check whether it have something new that you can learn in the process of development. Always look to learn something new, so don’t be afraid to add something new, different to the project.
5) How scalable is the proposed application?
Scalability is not a part of the development process though it needs to be considered while developing the application. Any app generally is scalable in two ways:
a) Vertical scalability: It means the app has the flexibility of adding new components to a web application without affecting its performance.
b) Horizontal scalability: It means the app must be capable of handling the increasing number of users.
6) Which is the best shot financially?
Even though most of the web development tools and techniques are free and open source, yet sometimes they require you to pay some additional fee to enjoy the advanced benefits. Depending on the technology, you may sometimes be required to purchase the license as well. Thus, before committing to a technology you must understand the financial implications(including maintenance cost as well) it brings along and proceed accordingly .
7) Time to develop and market
The technology stack may depend on your time to market in the way that it supports reusable components and third-party integrations. If tools and frameworks allow easy integration, this is going to speed up the development process, therefore, resulting in faster development.
8) What do my instincts say?
Lastly, developers often tend to choose what appeals to them the most. A technology may be the best in the market but if it doesn’t fall in the skill set of a particular developer, he/she won’t choose it. The personal preferences of the developer also play a significant role in the choice. Its up to you whether you consider the various suggestions being given to you or ignore them all and choose something entirely different.
That’s it guys. These all are purely my opinions. Every developer is unique thus each have different strategies.