(零) React Native 项目开发拾遗
一位离职的前端同事,最近接了个
React Native
的活儿,遇到许多搞不定的问题,于是找到我帮忙“补课”(没有系统的学习
React Native
,也不具备原生
Android
和
iOS
开发基础知识)。
此前带过另一位前端同事入门
React Native
开发,有段时间甚至一天得花一两个小时,专门视频连线手把手传帮带,帮忙解决各种疑难杂症。
这可能是纯前端开发小伙伴,刚开始接触 APP 开发最头痛的一段。不管是
React Native
还是
Flutter
,虽然都号称跨平台开发,但如果没有相应平台(
Android
、
iOS
等)的开发基础,还是很难深入的。一般会卡在下面这些问题上:
- 开发环境的搭建和修改,可能涉及到
JDK
、
Maven
、
Ruby
、
Gems
、
CocoaPods
等; Android
和
iOS
项目的一些配置,如
build.gradle
、
AndroidManifest.xml
、
Info.plist
、
Podfile
等;Android Studio
和
XCode
的使用;Android
和
iOS
原生代码的修改,包括
Java
/
Kotlin
和
Objective-C
/
Swift
;C/C++
源码编译问题的处理;- 命令行工具的使用,如
Shell
脚本编写、
ADB
的使用、
react-native run-*
命令的使用等; - 调试工具的使用,如
Flipper
、
DevTools
、
Reactotron
等; - 各种原生相关的三方库依赖问题处理;
- 由各种缓存所引发的问题处理;
另外,可能还会遇到诸如
切换/点击响应很慢、画面卡顿
等问题,
感觉上没有原生的看上去丝滑
。很多人会归咎于非原生,然而大部分时候并非如此。很可能是由于不明白相应的原理,导致写的代码执行效率太差。这是很大一部分纯前端小伙伴的通病。
时间精力允许的情况下,会在这里记录一些相应的问题解决方法。