React, the UI library that renders everywhere*

React-JSReact is pretty amazing.

It’s a great way to create declarative easy to understand user interfaces.

It’s pretty easy to learn with very little DSL (domain-specific language) and a tiny API surface.

That’s all well and good but, what makes React very interesting and insanely compelling is its ability to render outside of the DOM.

What does this mean for frontend developers?

Well, for starters, if you know JavaScript, you can now build native iOS and Android applications.

You are no longer bound to the browser. You no longer need to support IE8 (well, no promises there).

So, scratch-off “web developer” from your resume and replace it with DEVELOPER GOD

Where can React render?

Thanks to the hard work of the community, and the foresight of the React core team, a huge amount of React render targets (or bridges) exist:

  1. DOM
  2. Desktop
  3. iOS
  4. Android
  5. Canvas
  6. WebGL
  7. WebVR
  8. Watches
  9. TVs
  10. Hardware
  11. Terminal
  12. ART Drawing Library
  13. DOM, but using Web Workers
  14. Windows Desktop and mobile phones
  15. Children’s Coloring books… (ok this one is fake)

Disclaimer

This doesn’t mean you will necessarily be able to write one code base and have it run on all of these targets.

Bummer dude!

But it does allow for code sharing across platforms.

Awesome man!

Check out some open source react-native projects for how they handle this.

Did I miss any bridges?

If you know of any other React bridges, let me know in the comments below, and I can add them to the list.

Happy coding!