React Native开发android和ios客户端有什么优势和劣势,React Native常用组件在Android和IOS上的不同,React Native开发android和ios客户端有什么优势和劣势...
React Native开发android和ios客户端有什么优势和劣势
React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。 React Native 使你能够使用基于 JavaScript 和 React 一致的开发体验在本地平台上构建世界一流的应用程序体验。React Native 把重点放在所有开发人员关心的平台的开发效率上——开发者只需学习一种语言就能轻易为任何平台高效地编写代码。Facebook 在多个应用程序产品中使用了 React Native,并将继续为 React Native 投资。 其好处显而易见:减少了人力、节省了时间、避免了 iOS 与 Android 版本发布的时间差,开发新功能可以更迅速。 下面,我们可以尝试用React Native创建一个 iOS APP. 在我们开始之前,我建议:你可以在 Github 里先下载 React Native 的代码框架。里面还有一些示例项目,2048 的游戏, Movies(一个看电影的 APP),SampleApp, TicTacToe (一款游戏)和 UIExplorer(能显示出所有用 React Native 替代的控件,如ListView,TabBar,MapView, Slider)),对于学习用如何用 React Native 创建 UI,这些都是非常好的例子,尤其是 UIExplorer APP,它几乎用到了每一个您的 APP 中需要创建的 UI 控件。 回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢
React Native常用组件在Android和IOS上的不同
1.1.1只指定font,不指定height
在这种情况下,Text组件在两个平台上显示都正常。
可以看到,在垂直方向上,Text组件要比字高,上下都留有富余的空间,这样显示出来美观。但如果仔细看,就会发现Android平台的显示下方所留的控件比IOS平台的显示下方所留的空间要小一些。在IOS平台上,上下富余的空间基本相等;而在Android平台上,上方富余空间的高度大概下下方空间的1.5倍。
1.1.2 只指定height,不指定fontSize
在这种极端情况下,不论height是何值,fontSize的值都是13。
1.1.3 fontSize等于height
在这种情况下,IOS平台和Android平台的表现不同。在IOS平台上,字的上方还有空间,但字的最下一部分没有显示出来。在Android平台上,这种情况更严重。
1.1.4 height大于fontSize
在IOS平台上,当height等于fontSize的1.2倍时,显示效果与只指定fontSize、不指定height类似。如果height继续增大,此时Text组件中显示字符的上方空间保持不变,而下方空间会随着height的增大而增大。
在Android平台上,当height等于fontSize的1.35倍时,显示效果与只指定fontSize、不指定height类似。如果height继续增大,此时Text组件中显示字符的上方空间保持不变,而下方空间会随着height的增大而增大。
1.2 边框在两个平台上的不同表现
在样式中设置边框,比如“borderWidth:1”。
在IOS平台上,能够出现预想的边框效果。
在Android平台上,边框不会出现。
为了实现在Android平台上Text组件有边框,需要用一个View组件包裹Text组件。而这个View组件只需要有一个样式boderWidth。这种方式可以适用于两个平台。
React Native开发android和ios客户端有什么优势和劣势
react-native 用react 进行原生app开发的框架,让广大开发者使用js和react开发应用,提倡组件化开发。 优点 提供一个个封装好的组件让开发者使用,也可以相关嵌套形成新的组件。 可以维护多种平台(Web,Android和IOS)的同一份逻辑核心代码来创建原生app。 和H5类似,跨平台、低成本开发、开发速度快、动态发布、一套类似代码维护三个平台。 缺点 组件不全,第三方组件也不全,遇到某些特殊功能,需要花大力气写;性能方面也无法媲美原生,还是有一些损耗,特别是交换大数据时; IOS版本略好,androi发展较慢; ios和android代码并非通用,有可能需要维护两套代码或者在代码中做一些判断; 开发人员还是需要会原生开发,不然自定义组件无法编码;
下一篇:没有了