When does it start?
It starts when you are loosing interest with your project, whenever a new framework is born.
Thinking that the highlighted feature of the new framework is always superior than the older ones.
Still confused? Let me explain further by stating a realistic example.
Google introduced AngularJS in October 20, 2010 and promotes the “data binding” feature that the other framework doesn’t have.
I was sold by it, because i’m thinking that my client will be amazed once they have this feature to their application, that acts like a “real time” change in the user interface.
After 3 years, Facebook introduced ReactJS, Knowing that its one of the most popular social network up until today.
And then they introduced the component based architecture. It offers greater opportunity to the application for being modular, and maintainable.
It disrupts the way of managing global states where instead of having multiple Store, it offers the “single source of truth” principle.
This promotes a huge benefit to the development in which it minimize the coding effort since you are using a single state instance and debugging data flow is more convenient.
Now it repeats the cycle of jumping boats again from AngularJS to ReactJS.
Its like a fairy tail that will never have a happy ending.
Let me give you some marketing keywords to these frameworks will commonly tell you when they are promoted.
1) It’s faster!
The term “lightweight” is very subjective, If you are using a lightweight framework but still you are relying heavily on the 3rd party libraries then it’s no different to a full fledge clunky framework.
3) Huge community
This will be helpful but it should not be part of your deciding factor. Big companies such as google and facebook are of course promotes their frameworks heavily. So there is no shocking that their frameworks has a huge community.
Remember the PHP Framework CodeIgniter that shocks the whole world when ElisLab Corp announce that they will no longer continue the development of the unbeatable framework even if its heavily supported by the community.
I have no hard feelings to PHP language. I’m just stating a fact.
Instead of chasing an unrealistic expectation, here are things that i can recommend.
1) Learn the basic principles
By learning the basics such as KISS, DRY code, YAGNI. You can have a better perspective that all frameworks have similarities.
If you remember these words: KISS, DRY code, YAGNI, then good for you. If not, then i can tell that you are trying to drive a car without safety precautions.
2) Architecture is KING
If you have enough knowledge to the application architecture. You will surely identify where are the IN’s and OUT’S of these frameworks.
3) Design pattern is a necessity
If you hear a new term on the promoted framework and it doesn’t ring a bell. Then those are just the by-product of the basic design patterns that are either re engineered or combined to formulate a better pattern.
4) Anti Pattern is your friend
The best weapon you can have is to know who are your enemies. Anti patterns are helpful for you to understand on which design patter are you gonna implement within your application.
If there are key points that I haven’t mentioned, It’s either i’m still learning or i’m working on this article at the middle of the night without having enough sleep.
I am sharing this to let you know that you should not be great because of the tool but rather because of practice.
Always keep in mind that these frameworks that exists are made using basic principles of programming.
So in order for you to learn quickly and never worry for being irrelevant, You need to know first where these framework started.