美文网首页
vue 和weex

vue 和weex

作者: 哈哈_f89e | 来源:发表于2019-05-21 14:16 被阅读0次

    一。vue 、 weex 介绍 

     1、vue.js 介绍

    Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

    2、weex 介绍

    Weex 致力于使开发者能基于通用跨平台的 Web 开发语言和开发经验,来构建 Android、iOS 和 Web 应用。简单来说,在集成了 WeexSDK 之后,你可以使用 JavaScript 语言和前端开发经验来开发移动应用。详情 https://cn.vuejs.org/v2/guide/

    Weex 渲染引擎与 DSL 语法层是分开的,Weex 并不强依赖任何特定的前端框架。目前 Vue.js 和 Rax 这两个前端框架被广泛应用于 Weex 页面开发,同时 Weex 也对这两个前端框架提供了最完善的支持。Weex 的另一个主要目标是跟进流行的 Web 开发技术并将其和原生开发的技术结合,实现开发效率和运行性能的高度统一。在开发阶段,一个 Weex 页面就像开发普通网页一样;在运行时,Weex 页面又充分利用了各种操作系统的原生组件和能力。详细介绍: https://weex.apache.org/zh/guide/introduction.html

    二、weex组件和vue组件的区别

    1、布局不同

    在html或者Vue中我们可以使用浮动布局,但是weex并不支持,所以请不要使用。weex

    提倡使用Flex进行布局。

    2、float浮动,Flex移动端全都支持

    3、百分比布局

    html中布局,经常使用百分比进行布局,这种布局可以适应不同屏幕,但是你用weex布局时百分比是不支持的

    4、不支持综合式写法

    例如:border:1px solid #ccc;

    这样在网页中可以显示出来,但是weex不支持在原生app中不能显示出来

    因此要分开写

    border:设定边框,border 目前不支持类似这样 border: 1 solid #ff0000; 的组合写法。可有如下写法:

    border-style:设定边框样式,值类型为 string,可选值为 solid | dashed | dotted,默认值 solid可有如下写法:

    border-left-style {string}:可选值为 solid | dashed | dotted,默认值 solid

    border-top-style {string}:可选值为 solid | dashed | dotted,默认值 solid

    border-right-style {string}:可选值为 solid | dashed | dotted,默认值 solid

    border-bottom-style {string}:可选值为 solid | dashed | dotted,默认值 solid

    border-width {length}:设定边框宽度,非负值, 默认值 0可有如下写法:

    border-left-width {length}:,非负值, 默认值 0

    border-top-width {length}:,非负值, 默认值 0

    border-right-width {length}:,非负值, 默认值 0

    border-bottom-width {length}:,非负值, 默认值 0

    border-color {color}:设定边框颜色,默认值 #000000可有如下写法:

    border-left-color {color}:,默认值 #000000

    border-top-color {color}:,默认值 #000000

    border-right-color {color}:,默认值 #000000

    border-bottom-color {color}:,默认值 #000000

    border-radius {length}:设定圆角,默认值 0可有如下写法:

    border-bottom-left-radius {length}:,非负值, 默认值 0

    border-bottom-right-radius {length}:,非负值, 默认值 0

    border-top-left-radius {length}:,非负值, 默认值 0

    border-top-right-radius {length}:,非负值, 默认值 0

    背景颜色也要写成 background-color:red;

    5、weex长度单位只支持px

    长度单位有 rem,em,pt weex:px

    dpi=dp=px

    了解原生应用的dpi单位,那这里的px是和dpi单位相对应的。所以你也不用纠结。使用就可以了,需要注意的是请不要再使用我们的rem,em,pt进行布局了。

    参考文章

     http://blog.csdn.net/yuzhouxiang/article/details/7283931

    三 。weex 和vue 与原生交互的比较(iOS版本---oc)

    ·1 weexsdk iOS拓展

    https://weex.apache.org/zh/guide/extend/extend-ios.html#%E8%87%AA%E5%AE%9A%E4%B9%89-module

    2.wkwebview

    原生调用js的方法

    OC部分:

    [self.webView stringByEvaluatingJavaScriptFromString:@"add(1,2)"];

     JS部分:

    function add(a,b) {

    return a+b;

    }

    js调用原生的方法

    / JS给OC发送消息

     JS部分:

    function js2oc1() {

        window.webkit.messageHandlers.noParamsFunction.postMessage('我是js方法传过来的数据');

    }

    OC 部分

    - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message {

        // WKScriptMessage 类的name属性是消息名称,body是发送的数据

        NSLog(@"message.name:%@", message.name);

        NSLog(@"message.body:%@", message.body);

    }

    3 。限制 wkwebview 不支持跨域名访问。

    四 视频组件在手机上的表现。

    1 iOS 

    参考链接

    https://blog.csdn.net/weixin_33859504/article/details/87533906kw 不支持跨域访问。https://github.com/dengjunwen/weexPageDemohttps://github.com/jiaowoxiaoming/app_weex

    https://github.com/sunzunlu/video

    https://github.com/joggerplus/awesome-weex#demo

    相关文章

      网友评论

          本文标题:vue 和weex

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