@niagr
Nothing here yet.
Nothing here yet.
No blogs yet.
I don't think you should think of it as a set of topics. Here's the thing: if you want to be able to build a backend, the only way to learn how to do it is by building a backend. So go ahead and take up a small project and learn everything along the way while you do it. Another thing, I don't know what your experience in software development is, but it doesn't make sense to know just one of backend or frontend. You could specialise in expertise once you have an idea of both, but one doesn't make sense without at least a basic understanding of the other. For example, understanding HTTP and the way the browser requests and renders a page and makes AJAX calls is vital to developing both frontend and backend effectively. Some ideas for projects: A Todo app that saves todos online A URL shortener A reddit clone Hope that helped, cheers :)
Node.js is not a language. It is a runtime environment for Javascript, much like web browsers are. Both node.js and web browsers use V8, which is a javascript "engine", which means it's the part of the code that parses and executes Javascript code. V8 happens to use a JIT execution model. Node itself is not specific to V8 (anymore) and can embed on other JS engines as well, including engines that are pure interpreters, like most were before V8, although all popular engines in use today use JIT compilation.
Actually, with the latest JS features that's easy to emulate in JS using array/object desructuring syntax: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
The difference is simply where the JS code runs. Both the browser and Node.js implement the ECMAScript standard, which defines the Javascript language. Standard Javascript built-ins like Date and String are defined in this standard, along with language semantics. Since both the browser and Node.js implement the standard, code that only uses built-in objects should run on both environments. Where they differ is the other APIs each environment provides. The browser implements the Web API, which includes built-in objects like the document object. Node.js defines its own set of built-in's like require and Buffer . Node.js does not implement the Web API, so any code that makes use of the document object could not run. You'd get a reference error when execution reaches the part of the code that references document , although your code will be parsed and execution will start. Similarly, when run on a browser, code that makes use of Node.js built-in's will throw a reference error when it encounters the name it cannot resolve. In practical terms, this means that front-end and Node.js serve different purposes. The purpose of the front-end is to interact with the user, so the code for the front-end needs to manipulate the page and other client-side things, and so the browser implements the Web API, which provides this functionality. Contrast this to the purpose of the server, which is to serve the front-end, interact with the database, and other server-y things, so Node provides API's that support those things. Therefore, most code is either written to run on Node.js or the browser. You also have libraries that essentially make parts of the API for one environment available in the other, allowing code to be more platform independent. Isomorphic Javascript is the buzzword for this idea. So basically, Node.js and the browser are two separate platforms for different purposes. Both are Javascript runtimes, but have different API's above that. Here's an article explaining what Node.js is: https://medium.com/@nishantagrwal/what-exactly-is-node-js-af3eba6afcd2
Wuelber Castillo Well, the whole point of React is that the UI should be a pure function of the data in the application. To this end, it introduces a DSL to make representing UI hierarchies easier. My point is, although it looks like HTML, and intentionally so, it supports a completely different programming paradigm rather than just being a way to "write HTML in JS", which is not the point at all.