React Native
getting started with react native
Name three Core Components of React Native and describe what they do.
- <View>: A container that supports layout with flexbox, style, some touch handling, and accessibility controls
- <Text>: Displays, styles, and nests strings of text and even handles touch events
- <Image>: Displays different types of images
What problem does React Native solve (why call it native)?
Because React Native components are backed by the same views as Android and iOS, React Native apps look, feel, and perform like any other apps. We call these platform-backed components Native Components.
What are the building blocks of a React Native app? How does that compare to a React app?
In Android and iOS development, a view is the basic building block of UI: a small rectangular element on the screen which can be used to display text, images, or respond to user input. Even the smallest visual elements of an app, like a line of text or a button, are kinds of views. Some kinds of views can contain other views. It’s views all the way down!
expo
What solution does expo provide?
Expo is a framework that is used to build React Native apps. It is basically a bundle with tools and services built for React Native, that will help you get started with building React Native apps with ease.
Expo tries to manage as much of the complexity of building apps as possible, which is why we call it the ____ workflow. bare
What is the difference between React Native and Expo?
Rxpo is a framework that allows one to build things using React Native. It allows one to get an app up and running faster.
expo snack
Checkout this tool. What does snack allow you to do?
Expo Snack is an open-source platform for running React Native apps in the browser. It dynamically bundles and compiles code and runs it in the Expo Client or in a web-player. Code can be saved as “Snacks” and easily shared with others.
ejecting
What does “eject” mean within the context of Expo?
Expo allows you to eject your pure-JS project from the Expo iOS/Android clients, providing you with native projects that can be opened and built with Xcode and Android Studio. Those projects will have dependencies on ExpoKit, so everything you already built will keep working as it did before.
We call this “ejecting” because you still depend on the Expo SDK, but your project no longer lives inside Expo Go. You control the native projects, including configuring and building them yourself.
When should you not eject?
You should not eject if:
- All you need is to distribute your app in the iTunes Store or Google Play. Expo can build binaries for you in that case. If you eject, we can’t automatically build for you any more.
- You are uncomfortable writing native code. Ejected apps will require you to manage Xcode and Android Studio projects.
- You enjoy the painless React Native upgrades that come with Expo. After your app is ejected, breaking changes in React Native will affect your project differently, and you may need to figure them out for your particular situation.
- You require Expo’s push notification services. After ejecting, since Expo no longer manages your push credentials, you’ll need to manage your own push notification pipeline.
- You rely on asking for help in the Expo community. In your native Xcode and Android Studio projects, you may encounter questions which are no longer within the realm of Expo.
Why might you choose to eject?
Your Expo project needs a native module that Expo doesn’t currently support. We’re always expanding the Expo SDK, so we hope this is never the case. But it happens, especially if your app has very specific and uncommon native demands.