React Native - abukhalil-LTUC-ASAC/amman-401d4 GitHub Wiki
Good thing you already know mobile (android/ios) development first hand! You don't? Well.. too bad. this.guide
could definitely help you get started.
First off, lets count the differences.
-
Components, props and state management are not so different.
-
Tags however, are different! Mobile is view first, logic later as in all content is defined within some view tag such as View, Scrollview etc.., and then another tag defining what is the content is (
, , etc..)
Sounds simple? Go through this.docs
for specific changes.
- There are stuff in web development that simply is impossible to implement at mobile, because all you can use is your fingers. Hover is one impossible feature, and so is many other interactivities. However this does open up special gestures to be handled in different ways that are also impossible on PC.
- Memory is limited, you cannot go and store everything all the time. Children arrays are substituted to listViews, and routing with react navigation makes sure no unnecessary data is kept for other screens.
- Fancy animations have to be toned down, unlike old PC's, old mobiles can barely handle any animations at all.
- Mobile specific permissions and authentications are required to be handled and given by user before any related actions.
Given that we have only 2 days of react native. An accelerator/framework is needed, which is what I hope Expo would be. Accelerated JavaScript development, with its own playground/emulator called snack and the ability to utilize native components after ejecting to the specified environment (Java/Objective-c) if needed, might make this the solution that we will ever need.. at least as beginners of mobile development.