Five Things You Need to Know to Get Started with React Native
React Native is growing in popularity as a framework for creating mobile apps because it gives the user a native look and feel on both iOS and Android. Knowing React Native gives developers a way to simultaneously create native apps across both platforms.
From the employer perspective, this can reduce development time while producing a quality product. For devs looking for their next job or project, React Native is expected to offer strong career opportunities well into the future. React Native is based on the React.js web development framework, which itself has a growing community of users.
What does a developer need to know before getting started with React Native? Matthew Drake, Proficia’s React Native instructor, recommends a foundation of five key areas of knowledge:
Git and GitHub
Version control is an important skill for keeping software development projects in general organized, particularly when a whole team is involved. Standard version control software varies by industry, but in the open source community and Silicon Valley tech culture, Git is an industry standard for version control, with GitHub as the most popular platform for hosting Git repositories.
For self-taught coders who have no experience with version control, GitHub is a relatively good starting place. Because it’s easy to find all kinds of open source projects that are managed on GitHub, generous people are available to answer questions and guide you through your first interactions with Git and GitHub. The process can feel a bit tricky the first few times, though, so Proficia sponsors a free meetup that introduces GitHub in a guided group setting.
For developers who only have experience with other version control systems, GitHub offers a few features that are particularly helpful to job seekers; for example, the public calendar on a user’s activity screen shows the level of participation of the user on GitHub as a color heat map. Potential employers can view a developer’s long-term commitment to coding through this history as well as the actual code you upload.
React is a front-end framework that is as much theoretical as it is practical. Learning how it works on any platform can help you understand how to implement it on another. While the vast majority of React examples and learning materials refer to the web implementation of React, very little of the work shared actually leverages the browser. Most of it is just React!
The concepts behind state management, Redux, higher-order components, and the component lifecycle all apply to React Native in the exact same way as they apply to React for the web. As Facebook has already made clear: learn once, write everywhere!
Npm (or yarn if you please) is where most of the code you need for React is hosted. React Native’s code base is hosted on an npm server and you’ll need to download a copy for yourself from there.
While most think of package managers as something integral to Node.js, they actually aren’t technically required. However, that doesn’t stop a massive number of browser and Node projects from leveraging npm. Get used to downloading code, managing a package.json, and submitting GitHub issues. You’ll be doing that a lot!
Most of the practical problems you will have while writing applications have already been solved by someone in the community. A great place to see a listing of popular modules is js.coach – the list is updated daily and showcases some great work that’s free to use.
The app rendering lifecycle
So you won’t be writing iOS or Android code (at least not yet), but you still need to know how these apps work! They are both built on view lifecycles that are similar to React’s. Learn what it means to avoid blocking the rendering thread, and you’ll be well on your way to creating highly optimized views.
This means learning the basics of mobile apps on their respective platforms. A quick read on how Android draws views and iOS layout can help you make optimization decisions down the line.
Transpilation of ES6 with Babel
Babel gets its own special mention. Not because it’s particularly difficult, but because the concept of AST is lost on many.
It looks complicated, but don’t worry! You won’t be writing your own transform, you’ll just have to use some existing transforms. That’s where Babel comes in. Babel is a tool for executing code transformations in an organized manner. You will be using it, whether you realize it or not.
Tying it all together
Until recently, React Native was so new that complete documentation was not available, so getting up and running required extensive experimentation and patience. However, good tutorials are now available to guide learners step-by-step.
Proficia has a three-stage plan for getting programmers to work building React native apps.
- Bootcamp prep
- Weekend bootcamp
Proficia recently offered a free intro to Git/GitHub workshop and will offer another one soon. Proficia’s React Native trainer will also be offering a Getting Started with Node.js workshop. This fall, we will meet up on Saturday afternoons in Santa Monica until we have built up a critical mass of programmers who have the prerequisite skills to participate in a part-time bootcamp in React Native mobile app development.
We have access to Department of Labor funding for veterans, young people with barriers to employment, and job seekers to participate through various non-profit partnerships, and others may wish to pay out-of-pocket to stay beyond the free meetup stage for the React Native training. However, in all cases, we are focused on training those who already have some coding skills, not starting people from scratch.
At the end of the bootcamp, we hope to hire a few of the trainees as junior devs in a mobile app shop, managed by the trainer and incubated under our brand. Each of Proficia’s training programs includes a social enterprise component in which we create a consulting shop and offer services in the same area in which we offered training. Our goal is to form working teams with diversity and inclusion as a key component.
To maintain employability, programmers always have to keep learning new languages and frameworks. There are many programs that teach introductory coding, but they often don’t get people far enough to get a rewarding job. We want everyone with coding skills to have access to a community that will support developing excellence in software development, staying up to date on tech job skills, or retraining.
Sign-up for our mailing list here to stay updated on our React Native bootcamp prep events.
What’s the future of tech jobs in Los Angeles?
November 17, 2017
Implementing Apprenticeship: Theory and Practice
November 14, 2017
LA Community College Students Build Technical Portfolios
September 27, 2017
Proficia Launches Engineering Firm for Tech Job Creation
September 13, 2017
Five Things You Need to Know to Get Started with React Native
August 31, 2017