Live data from Hacker News

Guide to JavaScript Frameworks

javascriptreport.com

81–90 of 244 posts

Re: Guide to JavaScript Frameworks

#81
post #60

Starting from fresh, I would honestly recommend PureScript or Elm (and eventually Haskell/GHCJS when that moves to WASM). The benefit you get from the amazing type systems and compilers these have, is worth so much when it comes to refactoring, and later on boarding new people, giving them the confidence to make changes thanks to the help of the compilers.

If you want type-checking, going with React + Flow/Typescript is a wiser decision than choosing Elm. Better support, better ecosystem, much bigger community by a huge difference.

Flow/TypeScript is not really near the level of the other type systems, so I wouldn't really say that—it is a nice first step though, one that you can do on an already established code base.

Re: Guide to JavaScript Frameworks

#82
post #44

I come from a pure HTML + CSS + JS (mostly via jQuery) background. My career has headed in a direction that focusses a lot less in the frontend web, but every 2 months or so I read one of these guides and I get giddy - "Finally, I will teach myself angular/vue/react/backbone/knockout". After about 10 minutes I am filled with dread. I expect to learn about a specific piece of software, instead, I am greeted with requi…

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?

Re: Guide to JavaScript Frameworks

#83
post #77
post #44

I come from a pure HTML + CSS + JS (mostly via jQuery) background. My career has headed in a direction that focusses a lot less in the frontend web, but every 2 months or so I read one of these guides and I get giddy - "Finally, I will teach myself angular/vue/react/backbone/knockout". After about 10 minutes I am filled with dread. I expect to learn about a specific piece of software, instead, I am greeted with requi…

Considering there is easily (in US) 60-80K+/year difference between doing HTML + CSS + JS (mostly via jQuery) and say React. Spending 1 month to learn webpack + React looks like fairly sound investment of time.

Seeing you get downvoted, I don't get it. Why would professionals not want to spend a week to learn something which you can build knowledge on for the next few decades, especially when it has monetary value?

There's an aggressive/paradoxical luddism in tech that I'll never understand, considering that it is the tech industry. How many great tools/frameworks have come out over the past decade and how limited would you be if you ignored it all?

Re: Guide to JavaScript Frameworks

#84
post #44

I come from a pure HTML + CSS + JS (mostly via jQuery) background. My career has headed in a direction that focusses a lot less in the frontend web, but every 2 months or so I read one of these guides and I get giddy - "Finally, I will teach myself angular/vue/react/backbone/knockout". After about 10 minutes I am filled with dread. I expect to learn about a specific piece of software, instead, I am greeted with requi…

That's how I feel configuring networking and load balancers and other backend stuff. I know its essential but for some reason front end and all its quirks makes more sense to me

Re: Guide to JavaScript Frameworks

#85
post #44

I come from a pure HTML + CSS + JS (mostly via jQuery) background. My career has headed in a direction that focusses a lot less in the frontend web, but every 2 months or so I read one of these guides and I get giddy - "Finally, I will teach myself angular/vue/react/backbone/knockout". After about 10 minutes I am filled with dread. I expect to learn about a specific piece of software, instead, I am greeted with requi…

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 fram…

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.

Re: Guide to JavaScript Frameworks

#86
post #44

I come from a pure HTML + CSS + JS (mostly via jQuery) background. My career has headed in a direction that focusses a lot less in the frontend web, but every 2 months or so I read one of these guides and I get giddy - "Finally, I will teach myself angular/vue/react/backbone/knockout". After about 10 minutes I am filled with dread. I expect to learn about a specific piece of software, instead, I am greeted with requi…

It discourages us full time FEs too. Webpack and a full transpile pipeline is still relatively new to JavaScript but it seems like we’re starting to land on some assumptions (and thus making this a more turnkey process) ES6 Route based lazy loading Some sort of typing (TypeScript or FlowType) CSSModules React with JSX Redux The reason it’s been so difficult is because we’ve had a sort of Wild West mentality where we…

Parcel is a new configuration-free build pipeline that's new.

https://github.com/parcel-bundler/parcel

It's still missing a few things like dead-code elimination.

Re: Guide to JavaScript Frameworks

#88
post #57

Earlier quoted context omitted.

I'd point out that often rare and often unused skills get higher pay due to simple supply and demand. I've heard similar salary ranges for Assembly programmers for example. Angular and React are widely used, and there are many people out there that know them. No need to pay a ton. > The problem with Ember is the learning curve because it doesn't usually let you take shortcuts. I'm guessing that's precisely one of the…

It’s not a language, it’s a framework. You can take any experienced JS developer and make them proficient in either Ember or any framework mentioned in the article within days. People overexaggerate how difficult each framework is. They’re all front end frameworks made to do one job. Yes, each of them have their own nuances, but nothing that cannot be understood spending few days coding, reading docs and speaking wit…

I'd argue frameworks are their own language built on top of another, but this is all semantics.

As far as learning curves, I'm taking the GP's word on Ember's difficulty to learn, but generally as mentioned below, I don't think you can truly learn a framework that quickly.

Convention, best practices, etc take time. For example, someone that learns AngularJS in a day could end up using $scope, a practice abandoned for many reasons for alternate methods. So does standardizing devs and dev teams on the same practices. A lot of these things often take mistakes to truly understand, or someone who has seen a lot of them within close proximity. The way people write code for each of these programs evolved though those exact mistakes. A framework can constrain, but there are still plenty of ways to mess up at a high level.

Re: Guide to JavaScript Frameworks

#89

Earlier quoted context omitted.

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 fram…

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.

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) => (
    
      {state.count}
      -
      +
    
  )

  const main = app(state, actions, view, document.body)
Post reply on HN