š¤ "Should I use a framework?"
edit āļøThis is a question that comes up a lot:
āShould I use a framework?ā
Itās a good question, and something that Iāve both asked myself and thought about quite a lot over the years.
Hereās the thingā¦
If you arenāt using a framework there is a good chance that you are creating an ad-hoc, undocumented, non-standard, canāt look up answers on Stack Overflow, bespoke, personal framework.
And that is not always a bad thing. If people didnāt do this, weād never have frameworks in the first place. Somebody has to exclaim āEFF THISā and sit down to do the work that needs to be done crafting a repeatable system that can be used across (m)any domains and allow for sensible high level work to be done.

š they hate React and are about to write a new framework š
For me, Iāve always gone for frameworks directly after learning some language basics.
When I learned Python it was via Django When I learned ActionScript 3 it was via PureMVC When I learned Ruby it was through Rails When I learned JavaScript it was through AngularJS
For some reason, I thought learning vanilla
JS would be a lot easier than it has been. š¤·āāļø
For me, learning a language on its own with no framework fundamentally adds to the overall cognitive load of an already overloaded task.
Itās too raw. Too low level for me to actually make anything happen.
When I jump into a framework I start learning community vetted patterns and practices that inform those decisions and let me work at a higher level.
For me, this is a huge win.
This isnāt to say that we shouldnāt learn our programming languages deeply. Iām confident to say Iām an expert, or have been an expert, in several programming languages, but that depth of knowledge is directly tied to the scope of work and outcomes I am trying to achieve.
Frameworks are really useful learning tools to help me meet those goals.
So how do you choose a framework, well for me, I agree with this tweet from Sten:

I want to choose something that suits the needs of my project, has a lot of people vetting the tool, has examples that make sense, and is well documented to suit the needs of my team (sometimes thatās just me) and project.