lmorchard / ama

Ask me anything!
https://blog.sindresorhus.com/answering-anything-678ce5623798
0 stars 0 forks source link

It's 2017 and I still haven't mastered web development. What advice do you have for someone who feels horribly behind in learning JavaScript / The Modern Web? #4

Closed craigmaloney closed 7 years ago

craigmaloney commented 7 years ago

Otier than "Panic". :)

lmorchard commented 7 years ago

Give up? :)

craigmaloney commented 7 years ago

That's currently where I'm at, but I'd rather give it another shot.

lmorchard commented 7 years ago

But seriously, I think a progression is a good idea:

  1. Some vanilla JS doing things "the hard way" with current DOM APIs - lots of things have changed since the heyday of jQuery, and it's surprising what you can do without libraries these days.
  2. Try out a build chain like rollup + babel to see what that stuff adds to vanilla in terms of new language features. Lately, I like rollup because it's pretty easy to get started with it and yet it's not too magical.
  3. I like React, because it's not a complete opinionated stack. You can ease into adding things like Redux, while still seeing the guts of things working. An opinionated stack is good for getting working fast, but it hides a lot of things for development convenience that maybe during learning phases you really should grapple with a bit.
lmorchard commented 7 years ago

The main thing, though, is to get past choice paralysis and just play with some things. You won't master all the frameworks that exist today—and even if you totally threw yourself at them, you'd find about half of them were dead by the time you figured things out. But, a lot of them today share enough common attributes that you can more easily accumulate the gist of modern patterns iteratively. So, even if you pick one, and it dies, you haven't really wasted your time in trying another one—you'll have a good head start

lmorchard commented 7 years ago

Oh, and node is pretty fun. I've found "isomorphic" apps where server & client share most code to be less convenient and more tedious than one might hope, but it's nice to at least stick around in one language for a project. And modern build chains let you share a lot of the utility code modules at least.

craigmaloney commented 7 years ago

Thank you.

I've been working my way through "Eloquent JavaScript" and "Understanding ECMAScript 6". Is there another book / resource you'd recommend for doing more VanillaJS development? (The Mozilla Site looks like a great resource as well).

lmorchard commented 7 years ago

Honestly, I haven't had much use for tech books in awhile. I like MDN, but then I helped build it for awhile so I'm biased :grin: There are some good live examples to tinker with there, though.

Also for staying relatively up-to-date at least on buzzwords & trends, I've gotten a lot of use out of Node Weekly and JS Weekly email newsletters. The Hacks blog at Mozilla can also be handy for keeping tabs on new things. Also random assorted podcasts, like JavaScript Jabber (trying to think of more)

craigmaloney commented 7 years ago

Cool. Thank you!