Main Flashcards
RN has how many main threads?
Two?
JavaScript business logic
UI thread on native device
bridge (is this a thread)?
REVISIT
List the main three RN threads.
UI thread JavaScript thread (the business logic) the bridge (communication between UI & JS threads)
RN is ____ - threaded.
single
RN suffers in performance in apps that need to run ____ features ____ .
multiple
simultaneously
In RN apps, performance issues could arise since the single-threaded nature of it dictates that components have to ____ when another component is being rendered.
wait
The InteractionManger is used to prevent what from happening?
The UI thread dropping frames
The FlatList api ____ list view performance.
optimizes
React Native alternatives like Cordova run a single-page app inside of a ____ , whereas React Native uses ____ .
WebView (the mobile browser engine)
native UI modules
Three major differences from RN vs React for web:
RN doesn’t have HTML,
doesn’t have CSS,
routing is handled differently
JS runs on JavaScriptCore, instead of V8 engine
True or False: RN uses babel
true
RN uses ____ as its JavaScript enginel
JavaScriptCore
Name the three most common RN UI modules.
Image, Text, View
What is one method to use from the FlatList api that lets you optimize list performance if you know list item height ahead of time?
getItemLayout()
What is the RN equivalent of the React for web key prop that’s used for list items?
keyExtractor
What UI module do you use to get the height and width of the app window?
Dimensions
What UI module do you use to link to external sources from within an app?
Linking
If you wanted to add an infinite scrolling ActivityIndicator to the bottom of a FlatList, what component prop would you put that inside of?
ListFooterComponent
Where do performance bottlenecks occur in React Native apps?
the bridge between the JS engine and the native UI thread
The bridge ____ data before sending it to the native UI thread.
serializes
FlatList optimizes list performance by only rendering ____ , and un-mounting ____ .
rows that are visible on the screen
rows that have been scrolled past
Metro is the ____ ____ for React Native.
JavaScript bundler
There are two main ways to scaffold a RN project. What are these?
Expo cli and React Native cli
Expo makes it very easy to publish ____ ____ ____ updates to your app.
Over The Air (OTA)
One limitation of an Expo build (a non-bare build) is that you don’t have access to ____ ____.
native code
One Expo limitation regarding API’s is that ________.
not all iOS and Android API’s are available
In an Expo “bare” build, you have access to the ____ iOS and Android code.
native
One downside of using Expo is that your build size may be larger than necessary due to ________.
All APIs being included whether they are used or not
Expo provides two workflow options for project builds: ____ and ____.
managed
bare
One downside to using Expo is that ____ ____ ____ updates are limited by ____ restrictions.
Over The Air
size
The four main tools/libraries that you need to build a RN project without using Expo is:
Xcode, Node, Watchman, React Native CLI
Watchman is a tool built by Facebook that does what?
Watches for file changes
Cocoapods ____ ____ dependencies for Xcode projects.
manages libraries