V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seawind8888
V2EX  ›  程序员

用 Weex 开发的 V2EX 三端一致 app,附探坑总结

  •  
  •   seawind8888 ·
    seawind8888 · 2017-07-04 14:24:09 +08:00 · 9357 次点击
    这是一个创建于 2698 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目地址

    git 传送门(内附项目预览)

    Weex 环境配置

    npm install -g weex
    
    npm install -g weexpack 
    # weex 客户端的 cli
    
    npm install -g weex-toolkit
    # 安装调试工具
    
    ios 依赖 Cocopod 环境
    
    安装调试请参照 git
    

    探坑总结

    • div 无法渲染文本需使用 text 标签
    • 不支持富文本,需 native 单独封装 module
    • 不支持 z-index,层级靠后优先
    • class 表达式需使用数组形式,否则会报错
    • css 无法简写(例:padding: 0 0 0 0 不支持,需 padding-left padding-right 各写属性)
    • 不支持 dom 操作
    • weex 原生滑动事件不支持嵌套 list 和 scroller 标签
    • 使用 vue-router 会出现跳转僵硬,如使用跳转动画需单独打包各个 vue 成 jsbundle,用 navigtor 跳转,但单独打包后无法使用 vuex
    • 添加 ios 平台后需将 podfile 文件 ATSDK-weex 改为 ATSDK 否则会报错
    • gif 图片仅 Ios 支持,android 需单独添加支持库
    • 使用 v-if 会有闪屏现象,推荐使用 opacity 显示(opacity 为 0 时 android 会隐藏层级,但 ios 不会,需做判断)
    • weex 全局变量无法在 vue 模板渲染使用,可在 vue 实例中 data 添加
    • 不支持百分比,宽度默认 750px
    • 图片必须定义高度宽度,否则无法显示
    • 长列表分页渲染会出现内存泄漏

    与 react-native 的比较

    • react-native 支持热替换,weex 不支持
    • react-native 有 cookie 插件,支持一些 token 情况的请求,weex 不支持,只能在客户端添加
    • react-native 生态很全,第三方组件很多,weex 目前处于发展阶段
    • weex 包大小要比 react-native 小很多

    其他开源项目

    react-native 开发的 V2EX 项目

    react-native 开发的仿点融网 P2P 开源项目

    12 条回复    2018-03-21 22:09:15 +08:00
    eDeeraiD0thei6Oh
        1
    eDeeraiD0thei6Oh  
       2017-07-04 15:13:19 +08:00
    楼主一定没用过阿里云
    seawind8888
        2
    seawind8888  
    OP
       2017-07-04 15:15:45 +08:00
    @eDeeraiD0thei6Oh 怎么讲?云栖社区?
    cstome
        3
    cstome  
       2017-07-04 17:47:43 +08:00
    年头的时候有个项目想用 Weex,折腾了几天简直要崩溃,然后还是放弃了。。。
    那根本连半成品都不算,不知道现在怎么样了。
    arronf2e
        4
    arronf2e  
       2017-07-04 18:32:10 +08:00
    weex,拜拜,可能是我太菜,没社区玩不起来
    blanu
        5
    blanu  
       2017-07-04 18:42:26 +08:00 via iPhone
    我很好奇怎么想起来高仿点融的😓
    mxm145
        6
    mxm145  
       2017-07-05 12:51:04 +08:00
    weex 实在折腾不来
    seawind8888
        7
    seawind8888  
    OP
       2017-07-05 13:54:38 +08:00
    @cstome 现在还有,有了 weex-vue-render,可以用 vue 直接开发,就是 sdk 太少,很多都要自己开发
    Hanks10100
        8
    Hanks10100  
       2017-07-05 17:53:39 +08:00
    总结得挺到位,有些问题是原生和 web 平台差异造成的,还有一部分 Weex 已经补全啦。
    seawind8888
        9
    seawind8888  
    OP
       2017-07-05 19:17:47 +08:00
    @Hanks10100 也是希望能越来越完善
    zchub
        10
    zchub  
       2017-07-07 17:09:52 +08:00
    用 vue2.0 开发。原生和 h5 有时候还表现不一样~~
    seawind8888
        11
    seawind8888  
    OP
       2017-07-08 10:29:01 +08:00
    @zchub 主要是 vue-router 跳转问题 客户端会显僵硬,可以分开打包 jsbundle 用 navigator 跳转可解决
    redcat
        12
    redcat  
       2018-03-21 22:09:15 +08:00
    有没有同学想玩 weex 的,我们这里阿里大牛已到位,收 weex 感兴趣的前端-安卓-iOS 的同学,坐标杭州西溪,简历邮件:[email protected]
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2803 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 02:24 · PVG 10:24 · LAX 18:24 · JFK 21:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.