4 ms·
I have no idea what "professional work" could possibly mean in that sentence. The things that you have deemed superfluous are the tools of the trade. We don't
by kansface 8y ago
I have no idea what "professional work" could possibly mean in that sentence. The things that you have deemed superfluous are the tools of the trade. We don't use every tool on every job, but when we do use them, its because they make our work easier!
Someone who doesn't know that lodash exists will reinvent lodash, and do it poorly because JS has crazy edge cases.
Someone who hasn't experienced Bootstrap's crazy, nested selector hierarchies and pseudo-selectors will end up creating their own CSS hell.
Someone who doesn't know about flexbox will end up writing who knows what instead of 'justify-content: flex-end' (or even vertical align).
react-router has been a disaster, but that doesn't mean that rewriting it yourself will be great.
Someone who doesn't know the purpose of Redux will eventually end up with spaghetti callbacks or a building a much worse clone.
Every single project I've seen that uses Redux without Immutable ends up creating a worse Immutable.
Could someone build something without any of this knowledge/experience and throw it on the Internet? Sure! Would I be happy inheriting (or even using) that "reasonable application"? No!
- tptacek 8y agoI used to feel like underscore was an absolute requirement to do anything serious in Javascript, but I'm not sure I've used it even once since switching to ES6. If you want to say lodash is ultra-important, fine; like I said, it was a nitpick, since "learning lodash" basically means "reading the documentation for a utility library". I don't know what you mean about Bootstrap, since Bootstrap (or something like it) is one of the things I do think new React developers should learn. If you're using a CSS framework like Bootstrap or Foundation, I'm not convinced that an intuition for flexbox is at all important. I think you'd do a better job than react-router just implementing it yourself. It's a couple of functions worth of browser glue to handle navigation events, and then a loop; there's even a utility library (path-to-regexp) that does the only "interesting" thing that react-router does. My point in calling out react-router is that it is a nightmare to work with and is an actual obstacle people have to working in React, and that obstacle is pointless; just skip it. I strongly disagree with you about Redux, and someone else who disagrees with you is Dan Abramov.
- colordrops 8y agoNone of those are react specific.
- jeremiep 8y ago> because they make our work easier This seems to be my biggest pet peeve with the JS ecosystem as a whole; people chase things that are easy to learn rather than simple to reason about once learned and the result is almost always a convoluted mess of a codebase, regardless of the project. I used jQuery, then Underscore, and later lodash; now I'm using ClojureScript and wondering why I ever could enjoy any of those crippled FP alternatives in the past. "Someone who doesn't know about X will create its own worse version" is true, but it also applies to you and everyone else :) We don't know what we don't know (thats meta-ignorance) and we tend to assume what we do know is the state of the art, it quite usually is very far from it!
- davedx 8y agoI’m a professional react dev, currently using it with TypeScript. I don’t know the last time I needed to use a lodash function was - the point is, JS abstractions have been solidifying and advancing, and now if you use TS, you really don’t need much else. It’s not because those tools and techs aren’t useful - it’s because the higher level blocks of the language have advanced.
- inimino 8y ago> will reinvent lodash Someone who knows modern JS inside and out will see lodash as yet another unnecessary dependency. > Someone who doesn't know the purpose of Redux Knowing the purpose of Redux has nothing to do with knowing or using Redux. Write a couple medium-size apps in React. Congratulations, you now know the problems that Redux aims to solve. If your team doesn't have the discipline and experience to write a maintainable app without Redux, dropping Redux in isn't going to make it better and probably will make it worse. The main problem with modern Web dev is that we think it's necessary to solve every problem by layering on ever more and more shiny crap on top, rather than focusing on a small set of inescapable tools and mastering them. Want to be a React developer? Master HTTP, HTML, CSS, JS, and React. Then you'll know if you need lodash (nope) or a CSS framework (maybe) or Redux (probably not) and you'll be well equipped to make those decisions according to the project and team. Of course, if this wisdom were commonly heeded, we wouldn't have this: $ create-react-app foo && find foo/node_modules -type f | wc -l 20444 Which shows that in a modern "hello world" React app there are 20k files of dependencies installed out-of-the-box, with 900+ packages pulled from NPM. Good luck doing a security audit on that. And we probably wouldn't have "awesome" lists of only the 2000 most important things you need to know to be a modern web dev, either.
- darepublic 8y agoYou wouldn't want to use an application that uses array prototype.map > _.map? That's quite the dogmatism