At this point all that I can say is that webpack takes in a bunch of files such as css and JS files and bundles them all into a single file that can be used instead. This helps your web application massively because it only requires a single HTTP request to fetch the file instead of multiple round trips to the server for each and every file. Looks like there is a lot more to Webpack but I can only comment when I learn and use it within my own projects.
ExpressJS is a framework for NodeJS which seems to be quite popular for routing and templating. Since I do not know much about it at the moment, I will probably dig deeper into it at a later stage and provide more specifics benefits.
From what I have read and heard so far, ReactJS is THE most important technology to learn at the moment. It seems to take a completely different approach in rendering UI using a virtual DOM and DOM ‘diffing’ thereby making renders much faster. This is a big shift from jQuery which is based on manipulating DOM elements by IDs or classes etc. React has a concept of state and props which allow you to render and handle dynamic events in your application. Created and used first within Facebook, ReactJS has developed a huge developer community and it seems Facebook has big plans to keep developing and extending this technology.
I don’t know much about Redux at the moment apart from the fact that it allows for state management and works well with React, so more on this later.
This is probably the oldest technology in wishlist. Socket.io enables us to use websockets in our solutions which allow for bi-directional communication between browser and the server. This means I don’t have to poll the server for real time updates. The simplest example would be a chat application wherein you would want the browser to automatically be notified of a new message. Prior to websockets we would probably poll the server periodically to check for new messages but with sockets this is managed much more efficiently.
So that’s its. The above sequence seems logical for learning these new age tools and should hopefully reduce the frustration of me and my peers when learning new concepts.
In my next post, I am hoping to start out with ES6 and learn what it has to offer. Can’t wait to get started!