In recent years, there has been an explosion of front-end development frameworks and libraries. While this has made development more manageable and efficient, it has also led developers to become increasingly reliant on these tools. As a result, when something goes wrong with the library or framework, it can be difficult to determine the source of the problem and fix it.
You can cross your fingers and hope someone in a comment on a GitHub issue has a workaround or there is a pull request with a fix. But, I’ve seen how fragile the front-end ecosystem can be when a single library lags behind the updates of other packages it depends on and things can quickly fall apart.
This reliance on frameworks can also lead to stagnation in terms of skill development. Since developers are not required to learn the underlying code that makes the frameworks work, they can become complacent and rely on the framework to do all the work. This can be dangerous, as new technologies and trends may emerge that require different skills than what is currently being used in frameworks.
While frameworks and libraries have made development easier and more efficient, they have also created some problems. I’ve seen this happen since jQuery first got popular, and when I worked with Ruby on Rails, I saw many using it without even knowing the Ruby language.
I have seen many developers try to learn frameworks and libraries without first understanding the underlying language concepts. This often leads to frustration because they don’t understand why their code isn’t working or why they are getting errors.
Learning the language concepts first makes learning frameworks and libraries much easier. It also allows you to implement new functionality or workaround limitations in a framework or library.
I am a fan of most modern frameworks and libraries, and I think it is hard to go wrong regardless of whether you choose Angular, React, Vue or Aurelia. However, I don’t think that everyone needs to learn any of those to be a good developer.
Learn the language, not the abstraction. If you know Javascript and take the time to understand it correctly, you can work with any framework or library. Those skills are transferrable to the next new thing that comes along, and you avoid locking yourself into something that may not exist in five years.