美文网首页跨平台
常用跨平台对比

常用跨平台对比

作者: 金___k | 来源:发表于2019-11-14 10:08 被阅读0次

越来越多公司选择跨平台APP,在简单了解前提下做个对比,现在选择大致有FLutter,RN,Weex,uni-app

选择跨平台我个人考虑的地方有原生交互的方便程度,打包方便程度,框架难度(这个可能相对次要)。

原生交互

按现有业务情况 有些功能跨平台并不可能100%实现,比如第三方登陆 苹果要求一定要加上苹果登陆,比如内购等等。。。

  • uni-app
    uni-app 的调用原生简直就是灾难片,文档意思是将原生对象映射为JS,通过JS调用,前提就是你要同时对JS iOS 安卓 都有一定理解,虽然提供了一定模板,基本上只有安卓的。

    然后uni-app的如果需要混编,按文档大概意思是将代码封装成原生SDK,在原生中替换webview,在webview 中用JS做交互。。。这个方案听的怎么这么熟悉呢? 截屏2019-11-14上午10.46.04.png
  • Flutter
    相对而言比较友好,原生->CHANNE->Dart或者Dart-> CHANNEL->原生 都非常方便
    Flutter 的集成方案在GitHub上也很多,除了Flutter环境配置因为有墙的存在比较麻烦,其他都很方便。比如iOS方面想最简单集成只需要生成一个 flutter项目 放在同一级目录下,然后修改podfile,执行 pod基本就可以了,原生代码只需要极少的修改,安卓的迁移也十分简单

  • RN
    一个老牌跨平台方案,一直说要重构遥遥无期。
    RN传值调用也是非常简单,iOS和安卓 通过一个Module类就可以实现,RN的文章和库应该是最多的,随便搜下就明白了
    RN的集成和原生页面跳转也和flutter 区别不大,都是非常容易实现

  • Weex
    不熟悉不了解,极少更新,使用的公司少,应该不在大多数人技术选型范围内

打包
  • uni-app
    如果使用收费插件就只能云打包,云打包如果有支付功能 iOS有一定概率被拒。没有收费插件可以本地打包,但是过程比较繁琐,各种依赖库的添加删除,并且打包体积相较于云打包会明显更大
  • Flutter
    Flutter内部集成有指令可以直接打包,或者使用idea 打包,基本与原先一样
  • RN
    iOS稍微比flutter打包麻烦,需要把资源文件打包拖进项目内用Xcode打包。安卓保持原先idea打包方式,或者生成APK后重签
项目结构和选取部分UI部分代码
  • uni-app
    始终排的不整齐 截图代替
    截屏2019-11-14下午3.16.51.png
截屏2019-11-14下午2.49.59.png
截屏2019-11-14下午2.50.03.png
截屏2019-11-14下午2.46.39.png
  • Flutter
    ┌─android android项目目录
    ├─assets 资源目录
    ├─build 打包目录
    ├─iOS iOS项目目录
    ├─lib 代码存放
    ├─test 测试文件
    └─pubspec.yaml 项目配置文件,比如资源 依赖等等


    截屏2019-11-14下午3.02.25.png
  • RN
    ┌─android android项目目录
    ├─ ios 资源目录
    ├─ node_modules 基于node文件依赖存放
    ├─ index.android.js Android入口文件
    ├─ index.ios.js iOS入口文件
    └─ JS 存放JS文件


    截屏2019-11-14下午3.13.20.png

引用别人的几张对比图


截屏2019-11-14上午11.56.30.png 截屏2019-11-14上午11.56.47.png

附上几个链接

相关文章

  • 常用跨平台对比

    越来越多公司选择跨平台APP,在简单了解前提下做个对比,现在选择大致有FLutter,RN,Weex,uni-ap...

  • 跨平台,混合开发

    参考: 混合开发 框架对比从事编程那些年经历的跨平台开发工具框架演变历史跨平台框架的发展历史移动端跨平台开发框架对比分析

  • 00-跨平台开发之Flutter

    跨平台开发之Flutter 主要内容: 跨平台框架对比 Flutter介绍 Flutter快速入门向导 必备插件介...

  • 跨平台框架对比

    h5+原生 h5部分使用webview渲染,这部分可以动态变化;目前微信小程序则是采用这种方案,以后可能采用原生渲...

  • 跨平台方案对比

    参考 RNFlutter

  • Web技术学习方向-小记

    Web框架 6大主流Web框架优缺点对比 跨平台技术 跨平台技术分类 1.使用所有平台支持的Web技术的。 这些解...

  • react-native 初体验

    react-native 常用组件 基础组件: 交互组件(跨平台) TabBarIos 常用属性: TabBarI...

  • Google跨平台技术Flutter介绍

    今天我们聊聊跨平台解决方案,通过此文,我们可以了解到 跨平台技术的主流解决方案,对比 flutter的原理、优势 ...

  • 2019-12-02 flutter的环境配置

    ·跨平台: 现在Flutter至少可以跨4种平台,甚至支持嵌入式开发。我们常用的有 Linux、Android、I...

  • 跨平台技术选型对比

    随着移动互联网的发展,跨平台一定是未来的趋势,那么我们首先来说下为什么需要跨平台开发? 本质上,跨平台开发是为了增...

网友评论

    本文标题:常用跨平台对比

    本文链接:https://www.haomeiwen.com/subject/gbwlictx.html