Thanks for the questions Amandeep!
How does it differentiate itself from the other JS Frameworks available?
Two big ones off the top of my head...
React focuses on the UI, it's not trying to do too much, so it's not really a framework. Just a library that does UI, or the V in MVC. The DOM is just one target to render your app. You can also render to canvas, windows desktop app, native Android or iPhone (just to name a few). "Write once, use everywhere"
Does this book provide step by step guide in setting up & using React?
Yes. It starts with a simple static HTML page and simple JavaScript (ECMAScript 3 that works in every browser under the sun). Goes on to explain the core concepts. Chapter 4 begins to introduce new syntax (called JSX) that doesn't work in browsers as-is but needs a simple code transformation (still in-browser though at this point). By the end of chapter 4 you've built a data table (sortable, searchable, export-able to CSV...) with zero setup.
The second half of the book moves to more real-life development, building a CRUD app called
Whinepad still building on that data table from the first half of the book. That's where more complicated setup gets involved to do JS code transformations (using
Babel so you can use the latest JS features in every browser), linting (static code analysis), typing (using
Flow), organizing the movement of data in the app (building an implementation of
Flow from scratch) and so on. All features a modern JS developer would use in real life. The setup is also build from scratch using simple command-line script or two as opposed to using WebPack or any other JS build tool (of which there are many)