5 ms·
Not sure what type of sites you're building on the web, but building nontrivial feature-rich web applications does not scale well with vanilla JS. Frameworks li
by cwackerfuss 7y ago
Not sure what type of sites you're building on the web, but building nontrivial feature-rich web applications does not scale well with vanilla JS. Frameworks like React and Angular give you the power to manage state, respond to state updates with performant and predictable UI rerendering, and share components and logic in an opinionated way that buys engineering teams consistency and speed of development. Maybe the 10% of companies that aren't deterred by this opinion simply don't have websites that necessitate a "web application," but having an applicant say this would personally have me looking the other way 100% of the time.
- username90 7y ago> Maybe the 10% of companies that aren't deterred by this opinion simply don't have websites that necessitate a "web application," The further your features get from a static html page the less JS frameworks helps. For example you can pretty easily write super mario in vanilla JS using normal html elements for rendering, doing that in JS frameworks would not be very fun at all. However if all you want to do is display data from servers or let the user fill in forms then JS frameworks are pretty good.
- yellowapple 7y agoIn turn, though, if your features are sufficiently close to being possible with a static HTML page, I fail to see the point of introducing a framework into that mix when you could just use static HTML (with maybe a sprinkling of JS when it's absolutely necessary, e.g. input validation more complex than what HTML offers).
- 7777fps 7y agoSuper mario is orders of magnitude simpler than most web applications. Almost the entire state is encoded in the current frame and there are only three instructions.
- username90 7y agoChange it to mario maker where you can create and upload levels and look at and play others levels directly in the browser and it is still easier to implement in vanilla JS than for example react. Honestly if these things are not enough to constitute a complex web app then I don't see how the demand for people able to write complex web apps can be that large, since almost nothing I use are complex in that case.
- austincheney 7y ago> Not sure what type of sites you're building on the web, but building nontrivial feature-rich web applications does not scale well with vanilla JS. Frameworks like React and Angular give you the power to manage state, I disagree. It's extraordinarily trivial. Managing state is as simple as changing the value in a settings object as the user interacts with a control on the page and then saving that object so that when the page is reloaded there is known restore point by which all controls are repopulated and in the condition from which they were left. In my current personal project I am synchronously sending the state object to a Node instance that writes it to a file so that state is restored cross-browser and cross-computer. These are beginner things. The only reason why many developers even pretend they are vaguely more challenging than copy/paste is because they have never written this logic themselves. I am tired of being stuck, at work, in perpetual beginner land with developers who are intimidated to write 3 lines of code without 3mb of framework to tell them how its done. It isn't because these other developers lack the intelligence or capabilities to write original code. It is because the social state of development encourages them not. Here are some reasons why: Many developers college educated UI developers I have worked with prefer to toggle configurations instead of writing original logic, even trivial logic. This is what they were taught in school and this how they were prepared for the real world. This is bad design. Playing around with configurations wastes people time. A better approach is to simply supply a working default state for any conceivable configuration and a point of automation to supplying changes to options. As I have mentioned several times already in just this comment most UI developers I have worked with are deathly afraid of writing original code. This isn't because they are incompetent or incapable. It is primarily due to social reinforcement where any locally crafted software is inherently untrusted compared to equivalent code written by a stranger from some untested external package. I have experience this myself when a colleague adamantly told me to use some software in preference to the current office approach from outside the company not realizing I wrote a good porting of the software he was recommending. This social state is so prolific it even has a name: https://en.wikipedia.org/wiki/Invented_here https://en.wikipedia.org/wiki/Invented_here Developers also go way out of their way to reinforce much of this irrationality by offering simple cliches in their defense. The most common are: * Writing a web application is too hard to scale without some framework to do it for me * Reinventing the wheel * The DOM is too slow (implying that somehow a framework makes it faster) There is no evidence behind any of those points, but there is plenty of evidence and examples to the contrary. Its irrational nonsense that people use to reinforce bad ideas shared by their peers. I am no longer interested in working along side that lack of evidence-based critical reasoning and fear of originality. If this means dismissing many potential employment opportunities then so be it. I would rather find a rare better fit than desperately settling for something so unambitious.