Arpit Bhayani
Building @duggup_hq • Principal Engineer @Unacademy • Data @Amazon • Platform @Practo
Yes, modern front-end is overcomplicated. The most of developers and stackoverfow copy-paste operators believe that they are not smart and helpless, that's why they believe they have to use framework to build apps, they believe in in a myth that without those tools they wouldn't be able to do so.
Most of the code around the world is also a garbage because many developers don't want to think before making actions. Angular is just a joke I never seen in a software engineering. They not only overengineered everything but also introduced their own "web standards" and forcing everyone to build apps "angular way". React, on the other hand, is good at marketing and promoting their VirtualDOM virtual problem, at least, React suck less, is simple to use and you may understand what the code does. While React was just a tiny library, today it is used together with many other tools, especially, Redux, People are just crazy about that and using it everywhere.
I've seen Angular developer failed to implement a basic feature and asked for help while in Vanilla JS it would take couple of simple plain functions. Developers with all that tools are putting themselves into cage and later seeking for help. Stop making problems for yourself.
There is no "new JS", yes, there is ES6 which was a first major upgrade in a specification for long time, but it still is one of the most flexible, powerful and simplest language in the world.
The irony here is - language designed to be very simple and which could be used even by designers somehow become a huge community which totally broken that JavaScript's philosophy of simplicity and transformed JavaScript into overengineered hell without any standards.
The problem with modern world is that there is a huge amount of information today and it is impossible to know everything. Marketing is a reason why we know about something and the absence of advertising is why we don't know about something. Angular and React just have huge marketing and support from big companies, while you won't find someone wasting a lot of money to sell you JavaScript itself. We also see it today in social media with fake news and violence. Good people and products don't need popularity, real heroes are never known and stay behind the scenes. Most of the things you will try to market will just stay on the background unseen because of the bright light of giant products on the foreground.
There is a reason why Web Standards exists, why they evolve so slow and why it takes time to implement them. It is one of the biggest problems in software engineering - supporting single technology and code which should be able to run on many different environments and architectures (web, mobile, desktop, phones, Android, iOS, Windows, Mac, Linux, etc).
Instead of writing another framework or library which will never solve your problem - develop the Web Standards.
Instead of blindly following all the popular stuff, I always recommend to software engineers learn software engineering, language itself, software design and architecture patterns, good practices and web standards.
More about what front-end engineer should learn - What languages, frameworks and libraries should I learn in order to start front-end development?
Read more: Is modern front-end overcomplicated? - Hashnode and Quora answers
I'd say that it's more like web development is becoming more complex as a whole as more is expected from it. You could say that it seems more complicated because we're trying to do more complicated things. From that perspective, I'd say that the tools we have now do a pretty good job at making it easier.
Yeah.... So thing is open source has actually gained a lot of real value in the marketplace both for business tech acumen and jobs replacing proprietary stacks. Because of this there is a very strange beast that has been created, which relies on both community collaboration (github projects) and competition (google, facebook, microsoft, apple, airbnb, etc).
If creating a new project can increase a business's standing in the tech marketplace and attract the best new talent then a new project shall thusly be created. This is good for innovation overall though. The price, however, is the confusion of a distributed community.
It does seem that as we iron all these competitive technologies out, though, they are coming under a common roof. We'll see what the future holds.
It is easier. jQuery was easy. But then there was Angular, Backbone, etc. Thanks with new JS features and React, I am able to accomplish a lot with less code.
Marco Alka
Software Engineer, Technical Consultant & Mentor
Personally, I think your thesis is wrong. There is no "new JS world created by libraries like React and Angular". JS is JS and will always stay JS, just as there have always been libraries and frameworks of any kind.
What you potentially might mean is the world of web development. But even then there is nothing new. There have always been many libraries which wanted to make stuff easier for people.
Personally, I don't really like most of the libraries we currently have, as they are way over-specialized, but at the same time tragically miss-used. It feels like...
Personally, I have seen need for neither of the mentioned frameworks and I prefer to stick to standards instead (for instance WebComponents). Read my full reasoning here.