4 ms·
+1 for You Don't Know JS. But the rest is a bit "all or nothing" isn't it ? React is a huge bite for a start, espacially since you need webpack. How about som
by sametmax 9y ago
+1 for You Don't Know JS.
But the rest is a bit "all or nothing" isn't it ?
React is a huge bite for a start, espacially since you need webpack. How about something lighter first, like Vue.js ? Once you get how it works, you can up your game and go to React (+ webpack + Mobx, don't try redux at first it's too much) or Angular 2.
As for the backend, you can stay in Python first and do a rest API. Then once you get the front right, write a backend using node AND a framework. Do not attempt to pure JS first, it's like doing web Python without django or flask. Possible, but not worth it. ExpressJS is close to flask in philosophy, except for the asynchronous part.
If you really want to have fun though, checkout crossbar.io.
It's a Python router than allow very easy PUB/SUB and RPC between clients. Clients can be written in JS, Python, Java, C#, etc.
You can even write JS clients in the browser, making push notifications and other real time feature a breeze. It's a good way to give you motivation to try on JS: mix it with what you know, and try a new exciting technology. Plus a good way to see the difference between async in JS and in Python.
- chatmasta 9y agoAll good points. Some counters: - Re: React. I actually disagree with this given that OP is an experienced programmer. The react API is very, very simple to learn but difficult to master. The forced conventions are good for productivity. If you use create-react-app, I don't see any reason to put off learning it until later, but of course you should start with the JS basics before installing react. I'm not sure vue would be better; in fact it might be worse as a first experience, just because there is far less documentation / community / ecosystem around it. - Re: python backend. That's fine, but if the goal is to learn JS, you're not learning much by writing the backend in Python are you? Nice tip on the crossbar.io, I'm going to check that out.
- paultopia 9y agoDisagree slightly with the point about far less documentation/community/ecosystem on Vue. The Vue documentation is stunningly amazing---probably the best out-of-the-box documentation I've ever seen for a library, and that really makes it vastly easier to learn than its competitors.
- sametmax 9y ago> Re: python backend. That's fine, but if the goal is to learn JS, you're not learning much by writing the backend in Python are you? It's true that backend JS has the most modern dialect, and without any need for a transpiler. And OP did mention "modern".
- tomc1985 9y agoScratch all that. Go for as long as possible without reaching for a framework like React or Vue. You don't learn JS learning those tools, you are just learning the tool. React et al gives language newbies good shoulders to stand on, but a lot of React's so-called concepts map fairly simply to lesser-known language primitives. (And for the record, writing a simple, one-way databinding library in JS takes all of about 20 lines of code) Don't be a tool, learn more than the tools :)
- sametmax 9y agoLearning just the js language takes one day if you are an experienced programmer. It's a very small language.
- mzzter 9y agoHow is JavaScript a small language at all? It’s comparable to Java in the number of language features. Java Reference https://docs.oracle.com/javase/specs/jls/se7/html/index.html https://docs.oracle.com/javase/specs/jls/se7/html/index.html JS Reference https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf https://www.ecma-international.org/publications/files/ECMA-S...
- sametmax 9y agoIt's not even on the same planet. In JS you have a very small number of types, keywords and a ridiculously small stdlib. I'm not sure what to make of your comment.
- sireat 9y agoIf you want modern Javascript I'd say React is a better choice than Vue. I spent 10 years doing embedded Javascript(not web) and wanted to see what modern webdev was like. Vue came highly recommended but I do not feel like I am writing pure Javascript when writing Vue. Vue might be a better choice for someone who does not want to write JS. The hip people told me to avoid React (FB, too massive etc). Surprisingly React feels great for writing Javascript. Just learn ES6 features(arrow functions for one) and go to town.