• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

几种跨平台解决方案:ReactNative、Kotlin、Flutter、Swift

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在 React 框架中,JSX 源码通过 React 框架最终渲染到了浏览器的真实 DOM 中,而在 React Native 框架中,JSX 源码通过 React Native 框架编译后,与Native原生的UI组件进行映射,用原生代替DOM元素来渲染,在UI渲染上非常接近Native App。

优点:
  • 相比Xcode中原生代码需要较长时间的编译,React Native 采用热加载的即时编译方式
  • React Native 可以通过 JSBundle 即时更新 App。相比原来冗长的审核和上传过程,发布和测试新功能的效率大幅提高。
  • React Native摆脱了WebView的交互和性能问题,同时可以直接套用网页开发中的css布局机制。脱了 autolayout 和 frame 布局中繁琐的数学计算,更加直接简便。
缺点:
  • 目前的React Native 官方文档中可以发现仍有部分组件和API都区分了Android 和 IOS 版本,即便是共享组件,也会有平 ** 享的函数。也就是说仍不能真正实现严格意义上的“一套代码,多平台使用”。
  • 动画性能差:React Native 在动画效率和性能的支持还存在一些问题,性能上不如原生Api。

kotlin Multiplatform

Netflix就是使用kotlin Multiplatform来编写的平台中立性业务逻辑,并通过Kotlin/Native将其编译为分别面向Android的Kotlin库和面向ios的原生通用框架。

Flutter

flutter基于Dart语言(个人感觉很不好用...)

缺点:
  • flutter基本上是Android优先的开发环境,从底层开始就依赖Android的Material Design。如果ios的flutter出现错误,只能等待谷歌修复。
  • flutter的Skia渲染引擎可以让应用模仿原生的外观和体验,但并不会使用原生按钮、切换、滚动条、表视图或者其他界面和导航元素。
  • 此外,flutter的相关文档很少,我在学习的过程中,即使是按照官方文档敲写demo,也遇到了很多bug,只能慢慢的调试找问题所在。也就是说,如果要精通dart及flutter,成本是很高的。

SwiftUI

目前苹果也在推进自己的下一代声明开发技术:SwiftUI。虽不能支持Android应用,但恶意一次性支持所有苹果平台:iOS、iPadOS、macOS、watchOS和tvOS。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode816.模糊坐标|AmbiguousCoordinates发布时间:2022-07-13
下一篇:
swift-初探webView与JS交互发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap