Obviously, in recent years, JavaScript has evolved from a “cool HTML add-on” to a powerful tool for developing web applications. And it turned into it not technologically, but ideologically. That is, it has always been, as though it had not changed much during its existence, but for some reason it began to be used to the full extent relatively recently. As if everyone suddenly realized that the web can also be interactive, and websites, as if not websites at all, but such programs, with their own logic. This trend has greatly affected the requirements for sites in general.
It’s not completely clear whether the Javascript capabilities had such an impact on the web, whether the web itself began to require interactive, and JS came to the rescue. I personally tend to the first option.
As a result of this, something happened that happened more than once. Semi-finished products began to appear for the development of interactive websites, we know them as frameworks.
')
As we all understand, the concept of frameworks is already a hundred years old at lunch. For example, C can be considered a framework over assembler. And initially the framework carried the good. He allowed the programmer to concentrate on applied tasks, without being distracted by related ones. For example, when implementing data transfer to a user via the Internet, it is not necessary to think about the format of TCP / IP packets, since the system will deal with this itself. Well or closer to us an example - ORM: you can work with the data without even having an idea about the DBMS.
(Regarding JS, here too, over time, the range of typical tasks was formalized, which are solved with the help of it and they were smoothly localized in JS frameworks.)
But with all the good frameworks brought, one big trouble came with them. A caste of application programmers appeared who, apart from their favorite framework, did not know anything about programming. Instantly, the persecution of VBshnikov and dolphists in various specialized forums comes to mind. And there is a great deal of truth in this, since I personally know the person who stored the values of variables in instances of the class TLabel (Delphi), in fact, he put controls on the form for each variable, called it as a variable and set Visible to False. This is of course a clinic, but for the most part, framework apologists have little idea of the processes associated with the use of RAM, optimizing the load and execution of the program, and much more. Because what the framework does for them. And for them it becomes a discovery that if you put fifty forms into the application, all Autocreate, then at best it will load 5 minutes, and at worst it will fall with the error “I’m not fucking up all right”.
The second problem with frameworks is due to the fact that they practice a certain style of writing code. (By the way, it can be seen very well on JS), in fact, therefore, there appear such strange specializations as “1C Programmer”, “Bitrix Programmer”, and in the future jQuery Programmer or Mootools Programmer. Using some kind of technology (framework), the company becomes its hostage. Since it largely depends on the capabilities of this technology. This forces either to master its insides in order to customize it or to do only what is allowed. Very often come across the topic "I use ... the framework, but it lacks ... so I had to write my own implementation ...".
A thoughtful reader will ask, "After all, any technology has limitations, why you write it in minus only to frameworks." I agree, the problem with the lack of specialists in Fortran well shows it. But still, if the company writes good code, then the circle of JS specialists is wider, which will be able to support it, than the circle of jQuery specialists.
Why did I write all this? With the popularization of JS, it will outlast the same classic story like all technologies, but is now in the middle. And I would like to have an abundance of add-ins over it (frameworks), we have not forgotten that there is pure Javascript sitting somewhere in their depths, where you can do amazing things that add-ons never dreamed of.
PS I know very well the pros and cons of using frameworks, since I worked for three years in
Developer Express . And I do not in any way oppose their use, I oppose replacing them with a thoughtful approach to development. Type: “I’ll be here, and let the framework itself dig it out.”