This March, Nate and I presented a workshop at SXSW Interactive on beginning iOS development using React Native. Today, we're opening up that same workshop curriculum to everyone.

If you're looking for a structured and easy way to get started with React Native, these lessons are for you!

Why learn React Native?

React Native is an exciting new tool for building native applications using a language you probably already know well: JavaScript. (It's worth noting that React Native is fundamentally different from tools like Cordova. React Native apps use truly native APIs and UI components which means your apps feel and work like any other traditional native app.) This is exciting because it opens new doors for experimentation across platforms without having to learn entire new languages and development ecosystems. In fact you can learn what you need to get started in just a few hours!

But the real power of React Native is how it will begin to shape engineering teams for products that must target the web, iOS, and Android. Using React for the product's web app and React Native for its mobile apps holds the promise of allowing more unified engineering teams, and making product development considerably more efficient. Expect to see a lot of this sort of streamlining as the technology matures. Learning React Native today will position you well for a future that relies much more heavily on similar tooling.

What will you learn here?

This workshop curriculum will teach you everything you need to approach React Native with confidence in the future. You won't learn every component property or every API nuance, but you will learn how to learn about everything we don't cover. We cover iOS only, but most challenges are directly applicable to Android as well.

In short, this material should take you from never having used React, to comfortable with the use and continued learning of React Native in just a few hours.

Ready to begin?

Choose your path.

Have you ever used React?

No

Not a problem! Start here: https://share.viget.com/sxsw/learning-react/index.html. When you're done, move on to the instructions under Yes below.

Yes

Nice! Continue your journey below.

Dependencies

The first step in building native apps with React Native is installing all of the necessary tools. Go ahead and grab:

A computer running OS X*

Xcode* 7.0 or newer

Node.js 4.0 or newer

Watchman

*Our curriculum is designed specifically for iOS. If you don't have a Mac, you won't be able to build apps in Xcode, but you can still follow along by working on https://rnplay.org/. Alternatively you should also feel free to adapt the exercises to Android.

Course Files

Next you'll want to grab the course files below. These contain code and assets referenced throughout the curriculum.

The Challenges

You're now ready to dive into a series of challenges that will teach you all the core concepts of React Native. Just click the link and get going. https://share.viget.com/sxsw/learning-react-native/index.html

Community

Learning is better together. Use the comments below as a community support channel. Feel free to post your questions, answers, or successes!

Cheating

Learning is most effective when it pushes you outside of your comfort zone. Struggling a bit with the exercises is important, but if you truly need a hint to continue making progress, you can find sample solutions to all of the challenges here: https://share.viget.com/sxsw/learning-react-native/lessons/cheating/index.html

Thanks for stopping by.

We hope you enjoy these exercises. Learn more about how we use React at Viget here. If you have any questions, or just want to show off an awesome app you made, let us know in the comments below!