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。

    • 修改网络库解决
  • 编译时间过长,预览导致
    • 开发时通过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. 使用
  • 开发:提交代码后GitLib通过Webhooks通知jenkins服务器编译,app使用jenkins服务器产生的js链接地址。

  • 线上:使用tag版本产生的js文件,存放到线上静态服务器,app使用线上链接。下版本将支持app本地缓存和根据文件版本更新。

  • 也可以访问我的个人博客:blog.yzapp.cn

  • github:github.com/nesror

  • 简书:www.jianshu.com/u/85e5f9992…

转载于:https://juejin.im/post/5b7bfe5fe51d45388b6aef95

4个月原生weex混合开发终结()相关推荐

  1. 教你如何使用Flutter和原生App混合开发

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Things in this world are temporary. If ...

  2. Flutter和原生App混合开发

    可以查看官方文档 https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps 混合开发有两种集成方式 Flutter源码集 ...

  3. vue做混合式app_Vue+原生App混合开发手记#1

    项目的大致需求就是做一个App,里面集成各种功能供用户使用,其中涉及到很多Vue的使用方法,单独总结太麻烦,所以通过这几篇笔记来梳理一下.原型图如下: 路由配置 主界面会用到一些原生App方法,比如验 ...

  4. ioswebview混编_iOS 原生和H5混合开发总结

    最近一段时间开发一个App,由于时间紧采用原生+H5混合开发,这里记录一下开发过程中遇到的问题. 之前在项目中使用过WebViewJavascriptBridge,使用起来很简单,但是这次项目中没有使 ...

  5. 【历史角度】前端混合开发技术的选型之路

    一.历史的选择   历经多年的手机开发,最终被安卓和ios一通天下.我还记得很多年前,我特别想买的一款诺基亚塞班系统的手机,后来一个亲戚买了之后,各种app不支持,手机还是好的,还挺新,但是不好使了. ...

  6. App混合开发-前端小白理解

    什么是混合app 混合开发的App(Hybrid App)就是嵌一个轻量级的浏览器,一部分原生的功能改为Html5来开发,这部分功能不仅能够在不容升级的情况下动态更新,而且可以在Android或iOS ...

  7. 客户端相关知识学习(一)之混合开发,为什么要在App中使用H5页面以及应用场景、注意事项...

    混合开发 随着移动互联网的高速发展,常规的开发速度已经渐渐不能满足市场需求.原生H5混合开发应运而生,目前,市场上许多主流应用都有用到混合开发,例如支付宝.美团等.下面,结合我本人的开发经验,简单谈一 ...

  8. uni-app 混合开发

    uni-app和原生App混合开发问题: 首先务必确认uni-app和原生代码,谁是主谁是从的问题. 如果你的应用是uni-app开发的,需要扩展一些原生能力,那么请参考插件市场右上角的原生插件开发教 ...

  9. 原生开发什么意思_什么是原生开发?什么是混合开发?两者有什么区别?

    各行各业都已经转型进入互联网发展,面对这个必然趋势,普通行业线下销售模式已经是走不通了,眼看大家都在往互联网上转型.也都有了自己的网上平台店铺或APP,自己想开发一款APP,但是又不了解行情,对于原生 ...

最新文章

  1. Python网络爬虫--urllib
  2. JAVA Static方法与单例模式的理解
  3. mysql 日志管理
  4. 位操作符:位与、|位或、^异或、~求反、左移位、带符号右移位、无符号右移位...
  5. 从选择到上传,可能是最贴心的高仿朋友圈编辑了
  6. activeMQ相关配置与相关知识
  7. leetcode验证冒泡排序效率
  8. 泰晤士报下载_《泰晤士报》和《星期日泰晤士报》新闻编辑室中具有指标的冒险活动-第1部分:问题
  9. ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home
  10. vns可变领域_技师可变工程师!
  11. asp实现注册登录界面_Win7系统登陆界面修改小技巧--win7w.com
  12. Discuz! 7.1 7.2 远程代码执行漏洞
  13. linux用户和组管理的实验报告,LINUX实验三   用户管理
  14. xammp怎么写php,xampp怎么运行php源码?xampp如何运行php项目?
  15. imp命令导入指定表_oracle 导入imp 命令
  16. 业务,大数据监控平台搭建
  17. ArcGIS Runtime SDK for Android 读取tpk、vtpk
  18. 三维游戏中的角色动画
  19. 实时时钟(RTC)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. “狼来了”的VR风,占领不了的客厅

热门文章

  1. 元宇宙的“42条共识”
  2. Hinton的胶囊网络不太行?CVPR Oral论文:不比卷积网络更「强」
  3. 认知科学顶刊:挑战过去50年神经科学观点,人类智力的优势或来自于记忆储存方式...
  4. 2020十大新兴技术揭晓!每一项都可能颠覆我们的生活
  5. 【数字孪生】关于数字孪生的冷思考及其背后的建模和仿真技术
  6. 自动驾驶的摩尔定律:无人驾驶的最终实现时间或在2035年丨厚势汽车
  7. 麦肯锡:企业数字化转型不要被技术“绑架”
  8. 一文尽览5G全产业链及新机遇
  9. 『报告』IDC:2018年物联网产业10大预测
  10. 为什么指针被誉为 C 语言灵魂?