You know Rails well. You've been using it for a while, at your job and for your own projects. You've got comfortable using jQuery on the frontend, and come to know its gotchas. Maybe you've dabbled in Angular or looked at Vue.
Recently, you came across React. Everyone's talking about it. Every other job post on Hacker News mentions it. So you decide to up your frontend game and learn it.
Maybe you've picked up the basics from some docs, blog posts and Youtube videos. It seems cool. But you're not sure if it's worth using it with Rails just yet.
It's all too confusing and intimidating. You thought React is just a frontend library, and you could just drop it in like jQuery. But then what's all this stuff about Babel, Webpack, ES6, Redux and five different gems for integrating with Rails.
You have more questions than answers now.
Which gem should I use for integrating React in a Rails app?Can I still use the asset pipeline?Do I need to use Browserify or Webpack?Do I need to make an API to use React?
It's too confusing, so you give up.
"jQuery works fine anyway", you think to yourself.
But you know you need to keep up with the times.
You might be able to get by without React for a few more months, but you know the next client or the next employer will want you to use it.
You won't be able to get that job or expand your freelance business unless you add React to your toolbelt.
You must get good at using React to make sure you get better work and earn more.
Fortunately, there’s a way to address this: by exploring how to use React with Rails using different methods and in different situations, starting from very simple single-form apps to more complex apps with multiple routes and APIs.
How? With this premium course that teaches you everything you need to know about using React with Rails. It’s called The Complete React on Rails Course.
Introducing The Complete React on Rails Course
This course will teach you how you can incorporate React into your Rails apps, starting from a very simple single page app to gradually more complex examples. You'll learn all about the different ways you can use React with Rails and at the end of the course, be able to choose the best option for your needs.
But why is learning React so important for a Rails developer?
- Web UIs have matured a lot over the last decade. We're doing more complex things to build better user experiences on the web. jQuery has served well but even a medium-sized project can now quickly turn into the Flying Spaghetti Monster. React offers a simple yet powerful alternative to spaghetti code.
- Even if React itself is replaced by something else, the concept of reactive UI - UI as functional components is here to stay. So it'll help you a great deal to learn to use it.
- In many ways React is to the modern frontend, what Rails is to the backend - there are many alternatives, but React has the best combination of simplicity, power and popularity to make it a great choice.
- There's a huge and growing market demand for React developers. Many companies are moving their frontend away from plain Rails templates and jQuery over to React, so learning React would give you a unique advantage over others vying for the same jobs.
- Once you learn to use React with Rails, you can also use React Native to build mobile apps for the same API. This way, your investment in learning React gives you the chance to easily build cross-platform apps.
What are we going to build?
We'll start with a simple single page app and gradually build up a clone of Eventbrite - an events web app.
The React on Rails course takes a hands-on approach to teach you how to confidently start using React in your Rails projects. It includes video lessons and text explanations of all the important aspects of using React with Rails.
As you follow along the course, you will build real applications as projects to make sure you thoroughly understand everything. You will get full access to the project code. You'll also get direct access to the teacher and the community of students for asking any questions and getting all the help you need.