ES6 for beginners, part 3
hackernoon.com
hackernoon.com
For someone who has done back-end development, but is now trying to steer his career into front-end development, what resources would you suggest? What do I need to know, and which books and documentations do I need to read, before I can claim I am a front-end developer?
(I will be basically starting from zero. I cannot use the resources that build up on previous knowledge and assume you know everything that came before)
Firstly, make sure you're familiar with modern HTML and CSS. This is actually quite important even if you're concentrating on the JS side of things as they are closely related.
Secondly, React would be the big framework to learn. It's not too complex if you follow some examples.
I wouldn't worry too much about modern JS features to start with but if you do want to brush up then try: https://github.com/getify/You-Dont-Know-JS
If you mean "JavaScript Programmer" then it'll be mostly JS focused, some tooling, some html and css but minor on those.
If you mean a true frontend dev then you'll need a LOT more on CSS (Flexbox, Grids, box model, etc) and a bunch of UI/UX/HCI type reading in addition to learning in depth modern HTML and CSS and Javascript.
If you mean "I want to learn HTML and CSS" then you'll just want the first half of the previous one.
So I'm curious as to what you're looking for. I'd be happy to recommend reading lists, tooling, etc. I've been doing frontend work for 20 years (and now also do a lot of JS on the server) so I've got a grounding in this!
Just let me know what you're looking to do and I'll help any way I can.
You'll end up with code that is almost unrecognizable but easier to read and …prettier?
If you don't come to like the language then, you'll find the ecosystem of transpilers and bundlers and tooling unbearable.
I would advise learning React (they have both create-react-app and Expo now to make the experience simpler) from the docs.
When learning React, some things were alien at first, but after getting the basics down I realized writing JS applications with React felt much simpler than what I used to be doing. It resulted in shorter file lengths and cleaner code, and the concepts shouldn't feel too foreign if you have backend experience (it's probably harder if you learned JS through jQuery and webpage interactivity logic).
[1] http://es5.github.io/#x15.4.4.19
I don't get it.
WebAssembly has arrived, but it has a long road ahead to popular use.
WebAssembly currently has very different use cases than JavaScript, and still has a while before it could be considered the "native language" of the web given that there are still key web concepts like the DOM that WebAssembly currently does not speak.
ECMAScript is not yet in danger of becoming a legacy.
let modifiedArr = arr.map(element => element * 10);
console.log(modifiedArr);
Cool right :)
... let modifiedAarr = arr.filter((element, index) => element%2 == 0)
Hope you got it. And don’t forgot to notice, only the first parameter is mandatory. Other two parameters are optional.
Array ReduceWhen I want more capabilities, I will select from the many wonderful compile-to-JS languages that are a genuine departure.
Swift started off cool as a kind of Objective-C with less C cruft and more Haskell type expressiveness, but started turning into C++.
Clojure started off fast adding destructuring within 3 versions, but hasn't really done anything cool since then, whereas JS picked up destructuring but kept going.
Ruby started focusing on optional typing but JS left that up to TypeScript which seemed like a better way of going about it.
Python 3 has just been a mess from my perspective. I still can't figure out why after all this time they haven't added anonymous functions without having to give it a name (lambdas don't count, they can only have expressions).
Go continues to be the hipster language that says copy/pasting is fine, and that if you have a problem with it then go write a script that generates code, not learning any lessons from Java.
Java 8 adds nice FP functionality but it feels very unidiomatically tacked on and doesn't fit into the rest of the Java stdlib very well (e.g. how Optional isn't meant to be used directly pretty much ever).
JavaScript keeps adding more features that I liked from all the above languages and then some. My main gripe about JS is the unfortunate confusing naming scheme situation.
On the other hand, the module system really takes time and async/await was one big step.
After ES2015 includes:
* Async/await
* a bunch of destructuring with the rest and spread operators
* More class "nice to haves" like static properties and possibly more soon
* Async iteration
* Shared memory and atomics (which I'm not all that happy about, but many people are)
And going even further "in the future" it might have stuff like:
* Decorators (of they can ever settle on it!)
* Observables
* Defensible classes (again, not really happy with this, but what can ya do!)
* Function bind syntax
* Some "collection" nice to haves
And more.
JS isn't going to be slowing down any time soon!
Sure there is a bunch of proposals, but after ES2015 only a few per year are included.
The new system is faster as annual releases, even if it seems like ES2016, and ES2017, seem "light" relative to previous standards.
Despite it's reputation, it's gotten quite a large speed boost, a lot of new features (like typing!), And a lot more!
It's shooting to be what Java always felt like it should have been in my eyes.
But while it still has it's warts, it's a refreshingly nice language to work in compared to many others, and I'm honestly a little sad I don't really use it any more at my job.