美文网首页
关于Hybrid

关于Hybrid

作者: blossom_绽放 | 来源:发表于2018-06-08 21:37 被阅读29次

公司如果是做app的,前端不会hybrid就不用混了~~
用了这么久,总结一下自己对hybrid的理解~~

hybrid: 前端与客户端一起玩(开发)~~
hybrid最大好处,无需审核就可更新....
通过webview与file协议实现(就是本地拿文件)

如何更新:
服务端需要维护一个zip版本管理工具
app主动请求服务端web包的版本号,如果有新的就更新一下,没有就算了~
下载下来就把本地老包覆盖了~

如何与客户端通信---schema协议

跟jsonp特别像,下面一个傻瓜式封装函数,把这个文件内置到客户端,启动webview默认执行,调用就行,记得和客户端约定好调用后的逻辑~~返回内容


    // 调用 schema 的封装
    function _invoke(action, data, callback) {
        // 拼装 schema 协议
        var schema = 'myapp://utils/' + action

        // 拼接参数
        schema += '?a=a'
        var key = Object.keys(data)
        key.forEach(e =>{
            schema += '&' + e + '=' + data[e]
        })

        // 处理 callback
        var callbackName = ''
        if (typeof callback === 'string') {
            // 全局已经有了这个函数 传入了一个函数名称
            callbackName = callback
        } else {
            // 传入了一个函数 ,全局注册一下这个函数
            callbackName = action + Date.now()
            window[callbackName] = callback
        }
        schema +='&'+ 'callback=' + callbackName

        // 触发通信
        var iframe = document.createElement('iframe')
        iframe.style.display = 'none'
        iframe.src = schema  
        var body = document.body
        body.appendChild(iframe)
        setTimeout(function () {
            body.removeChild(iframe)
            iframe = null
        })
    }

    // 暴露到全局变量一些方法
    window.invoke = {
        share: function (data, callback) {
            _invoke('share', data, callback)
        },
        scan: function (data, callback) {
            _invoke('scan', data, callback)
        }
        login: function (data, callback) {
            _invoke('login', data, callback)
        }
    } 

    //调用
    invoke.share({
        name:'xc',
        age:'1'
    },()=>{
        console.log('hahah')
    })

相关文章

  • 关于Hybrid

    公司如果是做app的,前端不会hybrid就不用混了~~用了这么久,总结一下自己对hybrid的理解~~ hybr...

  • Hybrid浅谈

    关于Hybrid浅谈 前言 现在使用HTML5开发app好像慢慢成为了一种趋势, 其中比较主流的模式Hybrid ...

  • HybridApp

    iOS Hybrid 框架 - PhoneGap iOS Hybrid 框架Hybrid App 开发(开篇) ...

  • Hybrid APP - 混合式开发

    Hybrid APP基础篇(一)->什么是Hybrid App Hybrid APP基础篇(二)->Native、...

  • 2019-8-25 每日一词

    Hybrid His work is an interesting hybrid of popular and c...

  • Objective-C和Swift混编调用

    stackoverflow上关于Objective-C关注度比较高的问题系列链接 Hybrid programmi...

  • WEBGL着色器简介一:基础知识

    关于本文 作者周林,知乎账号eeandrew,擅长Hybrid(HTML5,Android,ReactNative...

  • Hybrid技术使用记录

    本次记录的是关于在项目开发中使用Hybrid技术的实践记录。主要使用的是WKWebview,关于UIWebView...

  • 移动应用框架分析

    前言 Hybrid App:PhoneGap、Titanium、WeX5、AppCan... 优于Hybrid A...

  • 2018-10-10

    hybrid

网友评论

      本文标题:关于Hybrid

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