Easy React by W. Jason Gilmore [Leanpub PDF/iPad/Kindle]
Easy React
Easy React
Easy React

This book is 35% complete

Last updated on 2015-07-20

About the Book

Despite having been a professional web developer for almost two decades, I avoided JavaScript like the plague, begrudgingly using just enough jQuery to satisfy some application requirement and hurriedly returning to my beloved server-side environment. This attitude began to change a few years ago when a number of amazing JavaScript technologies such as Node.js began to emerge. These days developers are able to take advantage of a vast JavaScript ecosystem for not only adding powerful client-side features to an application, but even creating entire applications consisting of JavaScript running on both the client- and server-side!

More recently, Facebook released an open source JavaScript library called React, and it has more than anything else convinced me of the incredible opportunities to be had by building JavaScript-based applications. What's more, React's small footprint and unopinionated approach allows it to easily be integrated alongside other powerful solutions such as Browserify, Gulp, jQuery, and Express. If you'd like to try your hand at creating cutting-edge applications using these technologies but were scared off by how to go about connecting everything together, I wrote this book for you.

The first three chapters are devoted to teaching you fundamental React syntax and concepts, explaining how to create components, nest components, write JSX, and respond to user events. You'll also learn how to configure a sane JavaScript development environment using technologies such as Browserify, Babelify, and Gulp, as well as understand how to effectively debug your React code using tools such as ESLint and React Developer Tools. We'll also talk about how to manage your React components' CSS, integrate Bootstrap styling and Bootstrap's jQuery plugins, and define application routes using the powerful React Router package.

Having been introduced to the crucial fundamental concepts required to build React applications, we will then spend the remainder of the book actually building an application. You'll learn all about the Flux architecture, and we'll use the popular Flux-inspired framework Reflux to build a database-backed, highly interactive application. You'll learn how to integrate the popular Express server and MongoDB database, integrate user accounts, and finally turn your application into a native mobile application using React Native.

If you're a JavaScript guru interested in learning React, then there are probably more succinct resources. But if you're a frustrated JavaScript developer looking for a friendly, hands-on introduction to these powerful technologies, this is it!

Table of Contents

This book includes nine chapters. As of right now chapters 1 and 2 are complete drafts and chapter 3 is about 90% complete. I am working on this book full-time, so you will certainly receive updates on a weekly basis until the book is complete.

Chapter 1. Introducing React (DRAFT COMPLETE)

In this opening chapter you'll learn all about React fundamentals. You'll create and render your first React component, get acquainted with JSX, create composable components, interact with props and state, respond to user events, and load JSON into a component.

Chapter 2. Configuring a Sane React Development Environment (DRAFT COMPLETE)

With a basic understanding of React fundamentals out of the way, in this chapter we'll turn our attention to configuring a sane development environment. You'll learn how to integrate React into the larger JavaScript ecosystem, and we'll explore several useful development, debugging, and testing tools. We'll also talk about cool capabilities such as ES6 support.

Chapter 3. Managing CSS, Layouts, and Routes (DRAFT 90% COMPLETE)

In chapter 2 we'll build upon React fundamentals by focusing on several key aspects of developing a React-powered web application. You'll learn about React's approach to CSS integration, how to integrate Bootstrap styling and Bootstrap's jQuery plugins, and how to define and manage routes using the React Router package.

Chapter 4. Getting Fluxxy With It (DRAFT NOT YET AVAILABLE)

Everything we've discussed so far has been primarily focused on React's view-oriented capabilities. However in order to build a complete application you'll ultimately need look at the larger picture. In this chapter you'll learn how to do so through an introduction to Facebook's Flux application architecture. I'll also discuss several Flux-inspired frameworks and guide you through a complete working example involving the popular Reflux framework.

Chapter 5. Integrating Express (DRAFT NOT YET AVAILABLE)

Logically your application will integrate with a data store such as MySQL or MongoDB. But how is this data passed between your React components and the data store? In this chapter you'll learn how to integrate the Express web server, and integrate it alongside the example React application.

Chapter 6. Integrating MongoDB (DRAFT NOT YET AVAILABLE)

We'll need a place to store application data, and while options abound in regards to databases these days, I thought this would be a fun opportunity to introduce MongoDB. Even if you don't plan on using MongoDB in your own projects, embrace this opportunity to at least learn more about what all the buzz is about and have fun with it. In any case, by the end of this chapter we'll have successfully integrated MongoDB into the application, connecting the REST API developed in the last chapter to the database.

Chapter 7. Integrating Forms (DRAFT NOT YET AVAILABLE)

Logically the success of many applications depends upon a high degree of user interaction. In this chapter we'll integrate forms and learn how to process data submitted through these forms. I'll also discuss various other UI-related matters which can contribute to providing users with a highly interactive experience.

Chapter 8. Integrating User Accounts (DRAFT NOT YET AVAILABLE)

In this chapter you'll learn how to integrate user account management capabilities, adding user registration, sign in, and other related features such as password recovery. We'll also talk about how to restrict application content to users in a variety of ways.

Chapter 9. Going Native (DRAFT NOT YET AVAILABLE)

In this final chapter, we'll have a look at React Native, a fantastic solution for building and deploying applications on native platforms such as iOS and Android using the very same React and JavaScript technologies you already know and love.

  • Share this book

About the Author

W. Jason Gilmore
W. Jason Gilmore

W. Jason Gilmore (http://www.wjgilmore.com) is author of several bestselling books, including Easy Laravel 5 (http://easylaravelbook.com) and Beginning PHP and MySQL, Fourth Edition (Apress). He's a software developer and consultant who has spent much of the past 17 years helping companies of all sizes build amazing solutions. Recent projects include a Stripe-powered SaaS for the interior design industry, an e-commerce analytics application for a globally recognized publisher, a Linux-powered autonomous environmental monitoring buoy, and a 10,000+ product online store.Over the years Jason has authored nine books on web development, published more than 300 articles within popular publications such as Developer.com, JSMag, and Linux Magazine, and instructed hundreds of students in the United States and Europe. Jason is co-founder of the wildly popular [CodeMash Conference](http://www.codemash.org), the largest multi-day developer event in the Midwest.Away from the keyboard, you'll often find Jason hanging out with his family, hunched over a chess board, and having fun with DIY electronics.

The Leanpub Unconditional, No Risk, 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms

Write and Publish on Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub