The Smart Framework vs. The Stupid Dev-human
Frameworks are taking over everything. Before humans are warned about the rise of Artificial Intelligence, they should have been warned about how many things the frameworks are doing for them, leaving them extremely stupid and unneeded.
There has been a long debate on this topic, dates back to the golden days of jQuery. Some humans are worried about the future of front-end development. Since the most struggle part, namely cross-browser compatibility check, is now handled automatically and intelligently by a framework, what can a front-end dev-human do?
The story did not end though. Ever since MSIE is beaten to half-life by the supercharging version numbers of multiple opponents, the true power of Web unleashed. New standards are quickly proposed and adopted, even it is not, there will definitely be some kind of polyfill, transpiler, so you can get your hands on those new toys right now.
With that is the dev-human social networking site GitHub, on which dev-humans put and exchange their avatars, or their highly opinionated self-bluffing code, and tamper with code of other dev-humans. They get green badges for doing this, and that's all dev-humans take to live long and prosper. Of course Dorritos and bacons are still much needed other than the green badges.
To push this socialist behavior, there is NPM. A package manager based off NodeJS but found its way into the new Web norm. Now dev-humans have a sort of toolchain to write their own library, and get it published with a single <CR>
, thousands of other dev-humans can access it with a single command, instant gratification.
This is the beginning of 3600 frameworks.
Apple used to say "There is an App for that™", now "There is a (thousand of) framework for that". Yet everyone of them are touting how smart they are. Take these:
- Data-binding is an automatic way of updating the view whenever the model changes...
- When you set XXX to something else, the rendered HTML updates automatically...
- It provides an easy to use API that our applications can stick to...
See, how smart they are!
A subtle implication is that dev-humans are now dumber. If you need evidence, check out the hottest or latest questions on those frameworks on StackOverflow:
- Why is this form mysteriously submitting?
- Why does this loop syntax generate empty output?
- How do I access child elements?
- Why can't I mount this component?
Well, many of those questions were asked by quite seasoned program-humans. Their golden, silver badges and high credit points act as a certificate.
And how dumb are the questions!
If they were not using the framework, most of the problems would not even happen. When some of the problems do happen, they will be very easy to locate and fix, because now you are dealing with the browser DevTools, not intermediate code running in virtual machines, not something with unknown features and unspecified behaviors, and not something that you don't really understand.
So you say that the poor dev-humans don't know HTML and JS in the first place? And they don't know jQuery or similar syntax?
Well, the Monkey suggestion is to do your homework, eat your veges, learn HTML, JS, the DOM, CSS selectors, and whatever you will need - because you will need them one day.
The Stupid Monkey
So, Monkey want you dev-humans to be smart, so Monkey will be stupid.
Whatever libraries you were using, carry on. Whatever problem you face, do you like when you do not have a framework. Monkey is stupid and minimal, leaving you to do what you really should do.
You should follow good practices instead of letting Monkey enforce it upon you, because that ain't the Monkey way.
Monkey basically only does two things for you:
- Adding the template as a child of an HTML element and initialize it
- Pass your app data (state) to the element and let it takeover
After you receive the data, you do it just like the old days. jQuery, Zepto, animation libraries, you will use them just like before.