Live data from Hacker News

Roadmap to becoming a React developer in 2018

github.com

91–100 of 153 posts

Re: Roadmap to becoming a React developer in 2018

#91
post #27

This chart is over complicated and I feel like it's meant to throw you off and make you feel like React programming is over complicated, which it isn't. Don't let this scare you away from React. React is simple. Remember, React is just the view layer. You can do whatever you want outside of React. You don't have to buy into anything else. And if you want to, you can buy into them piecemeal. You're not locked into any…

Isn't testing important even if you're not doing TDD? It's really helpful to be able to modify something and know whether you borked it automatically instead of hand-testing your whole big app.

Re: Roadmap to becoming a React developer in 2018

#92
post #63

I understand this is opinionated and "personal", but on the off chance that this might make React less intimidating, let me chime in and say that you can do professional work (and build pretty much any reasonable application) without: - really understanding "semantic HTML" (if you know what div's and span's are, you're ready to get to work), - understanding flexbox (you can, and many pro developers do, just use a CSS…

>- design patterns --- in fact, I might argue that you're better off not reading about design patterns, which are kind of an architectural blind alley, I have to disagree with this one. People who don't know design patterns are doomed to reinvent them anyways... badly. Even worse, without a common language to describe code structure, communication with team members is harder than it needs to be. Design patterns often…

This might be broadly true. But I think in the context of what tptatek is talking about -- that is, getting low-ceremony mileage out of React -- it's not. The reason is React's main abstractions of declarative components and one-way data flow are already well-suited to describe most of the UI problems you'll face.

(I'm not sure if you mean "design patterns" in the general naming of abstractions sense, or if you mean Gang of Four specifically. If the latter, I'll point out that many of the GoF patterns really aren't relevant to Javascript unless you're writing it in a very OO style)

Re: Roadmap to becoming a React developer in 2018

#93
post #63

I understand this is opinionated and "personal", but on the off chance that this might make React less intimidating, let me chime in and say that you can do professional work (and build pretty much any reasonable application) without: - really understanding "semantic HTML" (if you know what div's and span's are, you're ready to get to work), - understanding flexbox (you can, and many pro developers do, just use a CSS…

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!

Re: Roadmap to becoming a React developer in 2018

#94
post #63

I understand this is opinionated and "personal", but on the off chance that this might make React less intimidating, let me chime in and say that you can do professional work (and build pretty much any reasonable application) without: - really understanding "semantic HTML" (if you know what div's and span's are, you're ready to get to work), - understanding flexbox (you can, and many pro developers do, just use a CSS…

>- design patterns --- in fact, I might argue that you're better off not reading about design patterns, which are kind of an architectural blind alley, I have to disagree with this one. People who don't know design patterns are doomed to reinvent them anyways... badly. Even worse, without a common language to describe code structure, communication with team members is harder than it needs to be. Design patterns often…

But the correct usage of design patterns is the difference between inexperienced devs and experienced devs.

This might be true but is probably not causal. That's one of the fundamental problems with design patterns as a thing-you-ought-to-learn. They're not that useful or elucidating when you don't understand what they're for and when you understand what they are and what they are for, there's not all that much to be gained from someone cataloguing and naming them for you.

Re: Roadmap to becoming a React developer in 2018

#95

Crazy to me how far we’ve come from HTML and some script tags. Part of me is really sad that the web is big and complicated and ugly now. I just don’t have the patience to read some new framework author’s long winded and grandiose tutorial and ode to themselves. Why is it so hard to do seemingly simple things? I can remember 10 years ago training up someone with no programming experience at all to competency in a few…

It's really not that complex when you understand the reason for these tools, and you don't need to know all or even most of them. You learn them as you encounter the problems they were built to solve (or once the problem becomes too burdensome to manage with a simpler solution). Until then, you don't need to learn anything.

OP's roadmap should include some information about why each tool is useful. Without that, it's like someone telling you how to become a mechanic by giving you a list of tools to buy.

Re: Roadmap to becoming a React developer in 2018

#96
post #73

Earlier quoted context omitted.

Are you implying that the websites being built in 2008 were as sophisticated and complex as the sites in 2018? Have you considered technologies like React Native which mean you don't need to maintain 4 different entirely separate codebases for your 4 different frontends?

And instead we have a 1 bloated codebase that is slow on 3 platforms and doesn't provide native features? The fascination with 1 codebase doing multiple things is funny.

> The fascination with 1 codebase doing multiple things is funny.

Isn't it baked into most programmer's best-practices? Don't repeat yourself? Writing two programs that do the same thing doesn't sound very DRY.

Re: Roadmap to becoming a React developer in 2018

#97
post #96
post #73

Earlier quoted context omitted.

And instead we have a 1 bloated codebase that is slow on 3 platforms and doesn't provide native features? The fascination with 1 codebase doing multiple things is funny.

> The fascination with 1 codebase doing multiple things is funny. Isn't it baked into most programmer's best-practices? Don't repeat yourself? Writing two programs that do the same thing doesn't sound very DRY.

Each solution has pros and cons, and engineering is really about making those choices and dealing with the repercussions.

Re: Roadmap to becoming a React developer in 2018

#98
post #63

I understand this is opinionated and "personal", but on the off chance that this might make React less intimidating, let me chime in and say that you can do professional work (and build pretty much any reasonable application) without: - really understanding "semantic HTML" (if you know what div's and span's are, you're ready to get to work), - understanding flexbox (you can, and many pro developers do, just use a CSS…

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, ne…

I 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.

Re: Roadmap to becoming a React developer in 2018

#99
post #73

Earlier quoted context omitted.

And instead we have a 1 bloated codebase that is slow on 3 platforms and doesn't provide native features? The fascination with 1 codebase doing multiple things is funny.

You're acting as if React makes it impossible to do anything else. As needs to be iterated every time we have one of these threads: you're still free to do it the "old way" -- writing your backend in X lang, your iPhone app in Swift, your Desktop apps in C++, your Android app in Java, and your web frontend in HTML/SASS/JS/jQuery. Nobody is stopping you. The truth is that people want their apps on multiple devices the…

React (or vdom in general) has high memory costs and won't be close to native performance anytime soon (or ever). As long as you are cognizant about the trade offs it can be the right choice, but never blind. People forget the old applet days.

Re: Roadmap to becoming a React developer in 2018

#100
post #63

I understand this is opinionated and "personal", but on the off chance that this might make React less intimidating, let me chime in and say that you can do professional work (and build pretty much any reasonable application) without: - really understanding "semantic HTML" (if you know what div's and span's are, you're ready to get to work), - understanding flexbox (you can, and many pro developers do, just use a CSS…

GoF Design Patterns is still my goto cure for insomnia.
Post reply on HN