React: Up & Running, 2nd Edition
Download Full Version of the eBook "React: Up & Running, 2nd Edition"
Download - React: Up & Running: Building Web Applications. 2nd Edition by Stoyan Stefanov - ePUB
It’s yet another wonderful warm California night. The faint ocean breeze only helping you feel 100% “aaah!” The place: Los Angeles; the year: 2000-something. I was just getting ready to FTP my new little web app called CSSsprites (dot) com to my server and release it to the world. I contemplated a problem on the last few evenings I spent working on the app: why on earth did it take 20% effort to wrap up the “meat” of the app and then 80% to wrestle with the user interface? How many other tools could I have made if I didn’t have to getElementById() all the time and worry about the state of the app? (Is the user done uploading? What, an error? Is this dialog still on?) Why is UI development so time consuming? And what’s up with all the different browsers? Slowly, the “aaah” was turning into “aarrggh!”
Fast forward to March 2015 at Facebook’s F8 conference. The team I’m part of is ready to announce a complete rewrite of two web apps: our third-party comments offering and a moderation tool to go with it. Compared to my little CSSsprites.com app, these were fully fledged web apps with tons more features, way more power, and insane amounts of traffic. Yet, the development was a joy. Teammates new to the app (and some even new to jаvascript and CSS) were able to come and contribute a feature here and an improvement there, picking up speed quickly and effortlessly. As one member of the team said, “Ah-ha, now I see what all the love is all about!”
What happened along the way? React.
React is a library for building UIs—it helps you define the UI once and for all. Then, when the state of the app changes, the UI is rebuilt to react to the change and you don’t need to do anything extra. After all, you’ve defined the UI already. Defined? More like declared. You use small, manageable components to build a large, powerful app. No more spending half of your function’s body hunting for DOM nodes; all you do is maintain the state of your app (with a regular old jаvascript object) and the rest just follows.
Learning React is a sweet deal—you learn one library and use it to create all of the following:
- Web apps
- Native iOS and Android apps
- TV apps
- Native desktop apps
You can create native apps with native performance and native controls (real native controls, not native-looking copies) using the same ideas of building components and UIs. It’s not about “write once, run everywhere” (our industry keeps failing at this); it’s about “learn once, use everywhere.”
To cut a long story short: learn React, take 80% of your time back, and focus on the stuff that matters (like the real reason your app exists).