一位离职的前端同事,最近接了个 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
等;另外,可能还会遇到诸如切换/点击响应很慢、画面卡顿等问题,感觉上没有原生的看上去丝滑。很多人会归咎于非原生,然而大部分时候并非如此。很可能是由于不明白相应的原理,导致写的代码执行效率太差。这是很大一部分纯前端小伙伴的通病。
时间精力允许的情况下,会在这里记录一些相应的问题解决方法。