Hacker News new | past | comments | ask | show | jobs | submit login

It's ok, the people who have picked a weekend to learn it feel sorry for those stuck in 2005 web design, too!

Sometimes I think web devs specifically and devs in general forget just how much you have to know to get started even with something "easy" like Django. You gotta know HTML (it gets new features, too), CSS, SQL, Python, Javascript, and the tools necessary to each of them. You gotta learn all that while a framework abstracts it from you. And that's not even considering the choice before that. Why not Rails or something else? Frontend dev is pretty simple in comparison, you're just familiar with one and not the other.

Node is an interpreter that runs JS on the backend. If you understand what Python or Ruby do, then you understand it. You of course can use it on the backend, but the main reason frontend devs use it is to compile the most recent versions of JS down to stuff that works on browsers. You're free not to do that, but JS has evolved for the better over the last decade. Babel is the main tool people use to do this, and webpack uses something like Babel to "pack" your app/components for the frontend. In a lot of cases, if you are using webpack, you don't need grunt. But both of them are build systems, which all language ecosystems use.

Most of it is optional but quasi-necessary and fits a defined role and need. But don't miss the forest for the trees, don't let choice anxiety get to you. What you want to learn is the underlying model, which is a huge step up from what people were dong 10 years ago. If you don't want to get complicated, there are a few "no choice" options.

1) Use React or another view library without any fancy schmancy tools.

2) Use a small, full-stack framework like hyperapp or Elm. This is the entirety of the model you want to understand, and both are small and easy to learn (we're talking a day if not an hour).

3) Use a bigger, everything included framework like Vue. There's no guarantee it won't be passe like Ember or Angular in five years, but there's an existing community and documented way of doings things.

Pick one of them, any of them, but don't get in that dread of choice. The great thing is once you've learned any of them, the concepts are wide enough that you can pick up another framework really fast. As in I can look at any of these and understand what they are doing the same way you can look at a web MVC framework from 2005 and know the hows and whys of what they are doing in an hour.

The great thing about the churn is it's like Christmas every day. You don't have to pick up any of the new stuff coming out, but I'd rather have options and evolution rather than not. The alternative is stagnation.

It's really fun and empowering. I encourage you and others not to get discouraged. Oh, and don't feel sorry for your coworkers. They're learning new stuff. What's better?




I'm not a web dev (I'm backend/HW communications). But I dabble. For me, it's not that I don't understand all of this (it's all relatively simple). I just don't want to do so much just to get something on the screen.


I've used webpack for well over a year now, and while there is a lot to learn in webpack if you really wanted to write your own config or just learn for learning's sake, you really don't need to learn it to dabble. The thing that makes comments like these absurd is that you really need to learn almost nothing about webpack, grunt, gulp, broccoli, rollup, etc. Just to dabble. Almost all of the boilerplates and starter kits do this for you.


But that shows some kind of misunderstanding, because you can literally build single page applications in 50 lines of code and a JS include in an html file.

None of this stuff is that much work. People are really overestimating how hard it is, and you realize it once you try it. It's just people aren't familiar.

https://mithril.js.org/simple-application.html

Here's another app in another framework. Hard to get easier. I've built GUI and terminal applications, this is easier than both.

  import { h, app } from "hyperapp"

  const state = {
    count: 0
  }

  const actions = {
    down: () => state => ({ count: state.count - 1 }),
    up: () => state => ({ count: state.count + 1 })
  }

  const view = (state, actions) => (
    <main>
      <h1>{state.count}</h1>
      <button onclick={actions.down}>-</button>
      <button onclick={actions.up}>+</button>
    </main>
  )

  const main = app(state, actions, view, document.body)


No, no misunderstanding. I was being snarky and referring mostly to the laundry list of items that most FE devs have running or install just to start building a FE. To me that seems ridiculous and shows me that FE devs have either not paid attention to the bloatedness that is Enterprise style development or have and walked away with all the bad habits.


Thats a little presumptuous. We're doing the best we can to build complex applications, on top of a platform that still has no proper module system, no UI toolkit except a wonky document model on top of which bloatedness was built, sandboxed to hell, with the crappiest "stylesheet language", on top of a wasteful protocol that wasn't able to do more than one request per connection, with 1s (if you are lucky) time to load, compile and run fresh code on the fly, in multiple different VMs, some of them years old with half of the features missing.

We have paid attention. We're doing the best we can. Until we get HTTP/2 everywhere, ES6 modules and we fix the tire fire that is global CSS... this is what we have to do to make it work.


Have you ever tried getting started on a pretty gui in native windows?

The web doesn’t look so bad now, does it?


Sweet summer child. Enterprise is churning out TypeScript as if it was the new Java.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: