目前主流的移动跨平台技术方案大致能够分为三类,一类是使用原生内置浏览器加载HTML5的Hybrid技术方案,采用此种方案的主要有Cordova、Ionic和微信小程序;另外一类是使用JavaScript语言进行开发,而后使用原生组件进行渲染,采用此方案的主要有React Native、Weex和快应用;最后一类是使用自带的渲染引擎和自带的原生组件来实现跨平台,采用此种方案的主要是Flutter。css
对于其余的浏览器方案,基本能够抛弃了,如今咱们讨论移动跨平台开发主要说的是React Native和Flutter,React Native和Flutter在应用开发上,效率差很少,不过要强调性能的话,仍是Flutter为最佳选择。因为如今你们都开始使用Flutter来开发应用,致使React Native的学习资料愈来愈少。
做为跨平台的忠实粉丝,我在去年的下半年对《React Native移动开发实战》进行了升级,出版了《React Native移动开发实战》的第二版,书中对以前的知识作了从新的梳理,使之更加贴近项目实战,有须要的能够去京东,天猫支持下。html
做为目前比较流行的移动跨平台开发方案之一,React Native仍然还有不少的粉丝,特别是熟悉前端React开发的技术人员,国内大厂都在使用哪些移动跨平台框架罗列了目前在使用跨平台技术进行应用开发的一些厂商。前端
<!-- TOC -->node
<!-- /TOC -->git
它山之石能够攻玉。
React-Native开发的库/ SDK类型。
useNativeDriver
is not supported because the native animated module is missinguseNativeDriver
is not supported because the native animated module is missinglibRCTAnimation.a
文件导入 react-native issues #11094应用反应缓慢,出现卡顿:es6
<resources> <string name="app_name">Your_app_name_to_display</string> </resources>
android{ applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { File outputDirectory = new File(outputFile.parent); def fileName // 你的apk打包名称 if (variant.buildType.name == "release") { fileName = "app_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk" } else { fileName = "app_v${defaultConfig.versionName}_${packageTime()}_debug.apk" } output.outputFile = new File(outputDirectory, fileName) } } } }