Live data from Hacker News

JavaScript frameworks and topics to learn in 2017

medium.com

81–90 of 121 posts

Re: JavaScript frameworks and topics to learn in 2017

#81
post #11

Earlier quoted context omitted.

I think it's standing in the industry scratches the enterprise itch, so it's popular amongst professionals and corporates. You can't get fired for picking Angular, in other words. As to how it came to be in that standing, it was and likely still is a very powerful platform.

I recently wrote an embed widget for a client, a simple 5 field form with some dynamic drop-down changing and a date picker. 40/50 lines of js maybe with a simple date picker (pickadate I think). The client showed me a couple of examples of what they wanted. One used Angular to make the widget. For a 5 field form that transitions to a "thanks, your order is accepted" div. Personally, I would consider firing any-one w…

Sometimes this can be a case of Maslow's hammer, though - if you work for a shop where they've standardised on Angular (or whatever) as their go-to solution for everything, you can end up with massive overkill in some scenarios while, overall, it's probably still cost-effective and perhaps somewhat sensible to have a standardised approach.

I say this as someone who is no fan of Angular or of this sort of attitude in general - but, on the other hand, I have many times seen the harm that results from in-house micro-frameworks (which tend to be poorly documented, poorly tested, overly specific, and a disaster waiting to happen when the in-house expert decides to get a job somewhere else).

Re: JavaScript frameworks and topics to learn in 2017

#82

The only issue with the blog post is that most of those tools will be obsolete before you finish reading. JavaScript as an ecosystem needs mature robust solutions rather than a new way to do things every other week.

Well said! Hopefully once wasm becomes mainstream this madness will stop.

Re: JavaScript frameworks and topics to learn in 2017

#84
post #76
post #38

> Webpack: The most popular bundler for standard JavaScript look for simple starter kit/boilerplate config examples to get things running fast Unless you're already familiar with a tool, I'd suggest starting with the very Hello, world basics. For Webpack, that's creating an empty project and incrementally adding config, starting with just an entry point (use a simple script importing some modules) and an output filen…

> For Webpack, that's creating an empty project and incrementally adding config, starting with just an entry point (use a simple script importing some modules) and an output filename. Add one loader/plugin at a time. Move into boilerplates once you're familiar with the basic concepts. I attended a General Assembly bootcamp last year (to great success afterward for me), and the pervasiveness of jumping right into a ge…

You're all selling this as if it were some sort of philisophy. But it's not. Webpack just happens to be a piece of software that for reasons nobody will ever fully understand ended up being the de facto standard, all while being the most miserable to configure piece of software seen by mankind. (I. e. 4-level depth nested configuration with no indication of errors, a few different common patterns – ph, and there are two versions of webpack and the documentation rarely mentions which one it's talking about)[0].

Webpack is, essentially, a compiler. It, or something else, will mature to the point where you don't configure it any more except for maybe a debug flag. At that point learning it's internals will be as useful to a web programmer as learning LLVM's (by which I don't mean "not useful", but probably not worth neglecting whatever the trade-off may be).

[0] I think it was mostly developed by a single guy with a day job, and it has had more impact than any software I have or probably will ever build, so it's not meant to be insulting. Annoyances such as these are the price of a fast-moving field.

Re: JavaScript frameworks and topics to learn in 2017

#85

The only issue with the blog post is that most of those tools will be obsolete before you finish reading. JavaScript as an ecosystem needs mature robust solutions rather than a new way to do things every other week.

Reminds me of Gene Kranz's "Honest and Competent" speech he gave to his Mission Control team after the Apollo 1 fire in 1967. One thing he said in that speech has always stuck with me: "Nothing we did had any shelf life... he were too gung ho about the schedule... nobody said, 'dammit, stop!'"

Link to speech: https://russ.garrett.co.uk/2011/01/30/tough-and-competent/

Re: JavaScript frameworks and topics to learn in 2017

#86

The only issue with the blog post is that most of those tools will be obsolete before you finish reading. JavaScript as an ecosystem needs mature robust solutions rather than a new way to do things every other week.

That's simply not true. I'm kind of tired of hearing about this kind of stuff said about JS. This comment adds absolutely nothing to the discussion about this article.

Did you even read the article before making this comment? It would appear you didn't since this is just a classic, low effort javascript bashing comment that mentions no evidence from the article.

Every single thing he marks as important to learn is either

1. a mature library that has been around for years and is used in production at hundreds of companies (React is 3 years old and Angular is 6 years old, Lodash is 4 years old, Node is almost a decade old)

or

2. is a fully specced and largely implemented feature of the Javascript language.

How is Ajax gong to be obselete before you finish reading? How is Node, a nearly decade old, battle hardened runtime going to go out of style in 2017? By literally any definition JS builtins, functions, closures, callbacks, Chrome Dev Tools, React, Angular, Tern, ESLint, npm, git, Redux and Promises are all "mature robust solutions". They've all been around for years and are thoroughly tested and used. Many of them are used maturely in other languages as well, for example Futures in C# are basically the same thing as Promises.

The author does mention some newer things like async/await, generators, and ES6, but all these are now official parts of javascript. They simply can't "go obselete", and all of these share ideas with other languages which are also, by any definition, mature and robust.

The author does mention some libraries which are new and less proven, like RXJS, Angular2, MobX, Vue, Yarn, Typescript, and Flow, but did you notice how every single one of these has an asterisk? Which he specifically states means "strictly optional": Cool things to try out that may be useful tools, but not essential. Even most of these are several years old and perfectly mature anyway.

Yes the javascript community moves quickly. Yes JS programmers enjoy trying out flavor of the month frameworks, but it seems I'm one of the only people who sees this as a great thing. People try out lots of new things and learn lots of new strategies, and in the end the ideas of these get incorporated into existing mature frameworks, making them better and more robust.

Re: JavaScript frameworks and topics to learn in 2017

#87

I want a javascript framework that allows me to update a page incrementally, but also always works correctly and contains full content from the first server-side page load. Are there any options for this? Are there even keywords I can search for that discuss this? Sure, this files under "anything is possible", but honestly, I'd like a javascript framework that doesn't actively fight me also having static content. Any…

I'm experimenting with a hybrid approach, where the server injects a JSON string into a hidden div's data attribute, containing all the data the front end would have traditionally received through an ajax call on initialization.

It's no ideal, as the initial DOM render isn't fully populated, but it's much faster than waiting for another round trip to the server to populate the view.

Here's an example sketch using vue.js (data is in #game-data div): https://game-collector-staging.herokuapp.com/

Re: JavaScript frameworks and topics to learn in 2017

#88
My 2 cents. I would consider myself a JS expert as I have writen AngularJS and RequireJS clones. Personally, I don't agree with the path that OS JS dev has gone in recent years. The reliance on build systems and transpilers are fundamentally anathema to the spirit of simplicity and low barrier to entry that attracted me to the language and ecosystem inn the first place.

I understand that as we have moved from web pages to web apps the increase in complexity was inevitable, but I question a lot of the tools being used now. For one thing, once we moved to creating full applications using JS, one of the concerns that tooling moved to address was maintainability. This is why MV* caught on and destroyed JQuery as a viable option for many projects. That being said, Angular pretty quickly swapped one kind of maintainability problem (refactorability) for another (over-abstraction and cyclomatic complexity).

As for the dev tooling (webpack and company), one of the reason I avoid a lot of them is in my experience they can get in the way of maintainability. For example, I recently tried to pick up a 3 month old project in Android Studio and it took me around 3 hours just to get it to compile again because of updates and other tooling complexity. This NEVER happened using Eclipse. The same thing is happening and will happen when the apps being built today get dumped on some poor sod 3-5 years from now.

Lastly, an example from my job. I was recently asked to update the verbiage on a sign in form built ~13 years ago. The devs decided to use some java framework that had buzz at the time named JATO. Jato literally doesn't exist anymore and building it is basically impossible. This is to say nothing of modifying it as all documentation has literally disappeared from the web. The devs picked JATO b/c they thought it would be easier to modify and maintain. Exactly the opposite has happened. They could easily have written the form (literally two input boxes and a submit) using plain JSP. If they had, that code would still be useful today.

Re: JavaScript frameworks and topics to learn in 2017

#89
post #86

The only issue with the blog post is that most of those tools will be obsolete before you finish reading. JavaScript as an ecosystem needs mature robust solutions rather than a new way to do things every other week.

That's simply not true. I'm kind of tired of hearing about this kind of stuff said about JS. This comment adds absolutely nothing to the discussion about this article. Did you even read the article before making this comment? It would appear you didn't since this is just a classic, low effort javascript bashing comment that mentions no evidence from the article. Every single thing he marks as important to learn is ei…

From my personal experience what the parent comment stated is actually very true.

As someone who is actively trying to get into the JS world coming from the back-end side it is extremely hard to find best practices that do not change every other week. In the beginning of the year, tutorials were made with grunt, yarn, yeoman and the likes, then they were written to use gulp, bower and now it's webpack and what not. I can't even catch up on what the tutorials have used. To be extremely fair, every other week there seems to be a new tool I need to know and I can't even catch up on why I should learn or stop learning/using the previous. Every tutorial/documentation does something differently - there is no unique set of tools and instructions that do not change over time. I cannot find the best practices docs, because everyone has their own opinion of something and bashes the other guy for having an opinion in the first place.

I know it might be a bad analogy - but I usually compare the state of the principles of RESTful APIs to the state of principles of the front-end stack. They are design principles and you have set of instructions/best practices you should follow regardless of the language, framework etc. Thus I can make RESTful APIs in Python, Go, Ruby etc. On the other hand, Javascript is very opinionated framework. I cant seem to find the principles wrapped in a talk, book or docs. Offer me a choice, let me make it, do not make it for me. Let me make a mistake, let me learn how it does not add up to the whole picture.

Every JS documentation assumes something or fast forwards through an important part of the process - the set up. Why the heck do I need to use something, and why is it good with another tool you have in this stack. Why shouldn't I use something? Don't just copy the gulpfile or any other js file I need, explain it.

You said it is a good thing to try a new thing every month - how do you have enough time to observe it and test it properly in production or wherever? I don't see a new framework every month as a good thing, the frameworks don't mature in your environment and neither does my deep understanding of the framework. That makes for constant struggle to optimize a way. People in the JS world, at least to me seem like, hmm, this does not sound cool anymore let's change it up with this.

I hope I don't come of as a hater, I'm just speaking as a front-end newbie.

Re: JavaScript frameworks and topics to learn in 2017

#90

I must be honest, my experience with node was very short but this article suggests me that working with js may be really more complicated than working with java. Too many frameworks (which often lives too shortly), too many things to learn, it's overwhelming...sometimes it seems to me that working with js has become so difficult that working with java and jquery is still easier and better (i know lot of people will t…

I agree. The explosion of new ideas is also an explosion of learning curves.

I suppose that's fine for people who just want to learn something new every day. I want to make stuff, and the less maintenance it needs the better. Most of what's on the hype train isn't too appealing for that.

Post reply on HN