美文网首页Weex+Android
4个月原生weex混合开发终结()

4个月原生weex混合开发终结()

作者: Nestor_Gu | 来源:发表于2018-08-21 20:01 被阅读768次
  1. 原因
  • 由于一些h5人员方面的原因,新的非主流程需求将全部由app人员开发。然后app的人员已经由15人缩减成ios和android各两个了。为了应对3个产品各自负责的需求,我们调研了weex和rn。
    • 我们原app已经非常完整,并且新业务都是相对独立的页面,顾更专注于页面的weex更加符合(不建议整个app都使用weex做,RN和Flutter更合适)
    • 我个人在16年中旬(应该是刚开源不久)就关注了,有一定了解。
    • 结合mpvue,可以让微信小程序和weex共用组件。
    • weex上手简单,团队整体更喜欢vue。
    • 虽然网上有很多关于weex有深坑的文章,但我们尝试后发现对于app开发来说绝大部分不是问题。但weex不适合做整个app。
    • 社区支持相对弱,但我们可以自己造轮子,自己改sdk。
    • 最终我们决定采用weex进行开发。
  1. 目前的使用程度
  • 已经有5个新业务全部使用weex开发,还有12个单独的weex界面,共34个weex页面,23个weex组件,3个原生提供的组件,6个moudle提供42个原生app的功能。
  1. 遇到的问题
  • 我们自己使用okhttp封装的网络库限制了只能返回确定的数据类型,而weex的IWXHttpAdapter需要返回bytes。
    • 修改网络库解决
  • android端string值传递到weex变成数字类型并且js精度丢失问题
    • 现象:android端传递String类型的“1111111111111111...”到weex页面时,通过weex页面接收到的是数字类型,并且精度丢失变成:1.111e+84。ios无此问题。排查weex sdk,一直到WXBridgeManager的invokeExecJS方法时参数还是String类型的。下面的execJS方法是调用jni的,android的sdk里并没有这部分native代码。顾对于串数字端超长id我们暂时采用值前面拼接参数名的办法(理论上后台设计不应该出现这么长的纯数字id)。
  • 编译时间过长,预览导致
    • 开发时通过webpack.dev.conf的filterPage(entrys)进行过滤,通过npm run serve -- --env.page=XX,指定需要预览的页面。
  • css展现的ui各端稍有不一致。
  • weex官方ui库不丰富
    • 一部分使用weex-ui
    • 一部分自己使用vue写
    • 使用原生ui(地图等)
  1. 页面跳转
  • 我们没有采用vue-router和weex自带的navigator模块。而是使用自定义的navigator模块通过原生已经定义好的Scheme跳转实现(与推送,h5,外部应用跳转共用一套),无论是调原生还是weex都采用这一套。weex间的跳转直接带参数到下一个weex页面,原生只通过Scheme传递Map<String,object>类型的json数据。
  1. 使用

相关文章

  • 4个月原生weex混合开发终结()

    原因 由于一些h5人员方面的原因,新的非主流程需求将全部由app人员开发。然后app的人员已经由15人缩减成ios...

  • android接入weex

    背景 支持app混合开发,由最初的原生+web,转成原生+(weex,RN,web,flutter等),优点是ap...

  • [iOS]WebViewJavascriptBridge嵌入iO

    背景 目前iOS APP的开发大体有这么几种,原生、原生与h5混合、RN以及阿里的weex。题外话,3.8女神节这...

  • Weex文章合集

    网易严选App感受Weex开发(已完结) Weex 是如何在 iOS 客户端上跑起来的 iOS 混合开发 —— weex

  • weex常见问题解析

    什么是 Weex? Weex 是使用流行的 Web 开发体验来开发高性能原生应用的框架。 Weex 致力于使开发者...

  • iOS制作Weex组件

    在vanke一直负责Weex原生组件开发。现已离职。公司的策略是前端用Weex开发App,然后一个原生开发组提供组...

  • weex入门-Write Once, Run Everywher

    什么是 Weex ? Weex 是一个使用 Web 开发体验来开发高性能原生应用的框架。 Weex 致力于使开发者...

  • Weex 从入门到完整项目(1) 环境搭建

    Weex简介 weex 一个简单的介绍 阿里为了自己电商系APP 开发的一套快速迭代的混合开发框架,Weex 可...

  • Weex框架浅析

    1,Weex 是什么? Weex 是使用流行的 Web 开发体验来开发高性能原生应用的框架 ,Weex 致力于使开...

  • 关于waterfall 瀑布流布局出现布局错乱的问题

    说明:首先waterfall是weex的原生组件,WEEX的出现让我们可以使用Vue来进行移动端原生应用开发。这里...

网友评论

    本文标题:4个月原生weex混合开发终结()

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