H5和原生的职责划分】的更多相关文章

前言 在JSBridge实现后,前端网页与原生的交互已经通了,接下来就要开始规划API,明确需要提供哪一些功能来供前端调用. 但是在这之前,还有一点重要工作需要做: 明确H5与Native的职责划分,确定哪一些功能可以由H5实现,哪一些功能只能由原生实现 Native与H5职责划分 使用Hybrid模式,用H5开发页面的本质是: 减少工作量(一套代码,多个平台),以及快速的更新迭代(譬如线上更新),而且还需要考虑Native端的高性能以及系统API调用能力(否则直接用纯H5就可以了) 因此在进行…
前言 在JSBridge实现后,前端网页与原生的交互已经通了,接下来就要开始规划API,明确需要提供哪一些功能来供前端调用. 但是在这之前,还有一点重要工作需要做: 明确H5与Native的职责划分,确定哪一些功能可以由H5实现,哪一些功能只能由原生实现   Native与H5职责划分 使用Hybrid模式,用H5开发页面的本质是: 减少工作量(一套代码,多个平台),以及快速的更新迭代(譬如线上更新),而且还需要考虑Native端的高性能以及系统API调用能力(否则直接用纯H5就可以了) 因此在…
一.APP内嵌H5和原生的区别 1.原生的页面运行速度快,比较流畅. H5页面相对原生的运行性能低,特别是一些动画效果有明显卡顿. 2.H5页面的很多交互都没有原生的好,比如弹层.输入时候的页面滑动 等.H5的效果相对比较low,没有原生的好看,也没有原生默认的动画等效果. 3.原生APP修改页面要重新发布,等待审核(现在iOS的审核速度已经提高到1天到2天). H5页面的修改 可以随时上线,不用等待审核. 4.H5跨平台,iOS和android需要各自开发.相对原生,H5开发成本低. 5.原生…
一.APP内嵌H5和原生的区别 1.原生的页面运行速度快,比较流畅.H5页面相对原生的运行性能低,特别是一些动画效果有明显卡顿. 2.H5页面的很多交互都没有原生的好,比如弹层.输入时候的页面滑动 等.H5的效果相对比较low,没有原生的好看,也没有原生默认的动画等效果. 3.原生APP修改页面要重新发布,等待审核(现在iOS的审核速度已经提高到1天到2天).H5页面的修改 可以随时上线,不用等待审核. 4.H5跨平台,iOS和android需要各自开发.相对原生,H5开发成本低. 5.原生AP…
最近项目中因各种客观因素,移动端都是默认用的纯H5 APP,感受最深的就是各种坑啊,好大的坑啊.产品上线后,带着各种坑后的总结原因方发现很多人都说纯H5 APP一次编写就能支持android和IOS两种不同的APP,大大降低了开发成本.可实际的工作中却发现并不是如此,既不省事儿,又有很多BUG,而且各种css的兼容性的问题一大堆,更不要说动画点不到这些问题啦,真是一个坑比一个坑深啊.即使如此,虽然还是有很多问题没有很好的解决,为什么还是有很多H5汇合APP开发的人呢.这里要提到一个刚刚当了奶爸不…
现在移动端 web 应用,很多时候都需要与原生 app 进行交互.沟通(运行在 webview中),比如微信的 jssdk,通过 window.wx 对象调用一些原生 app 的功能.所以,这次就来捋一捋 h5 与原生 app 交互的原理. h5 与原生 app 的交互,本质上说,就是两种调用: app 调用 h5 的代码 h5 调用 app 的代码 1. app 调用 h5 的代码 因为 app 是宿主,可以直接访问 h5,所以这种调用比较简单,就是在 h5 中曝露一些全局对象(包括方法),然…
前言 现在移动端 web 应用,很多时候都需要与原生 app 进行交互.沟通(运行在 webview中),比如微信的 jssdk,通过 window.wx 对象调用一些原生 app 的功能.所以,这次就来捋一捋 h5 与原生 app 交互的原理. h5 与原生 app 的交互,本质上说,就是两种调用: app 调用 h5 的代码 h5 调用 app 的代码 app 调用 h5 的代码 因为 app 是宿主,可以直接访问 h5,所以这种调用比较简单,就是在 h5 中曝露一些全局对象(包括方法),然…
一开始听说开发H5,以为就是做适配现代浏览器的移动网页,心想不用管IE了,欧也.到今天,发现当初too young too simple,兼容IE和兼容安卓与IOS,后者让你更抓狂.接下来数一下踩过的坑.主要分UI展示,键盘,输入框等等.解决bug最苦恼的问题不是没有解决方案,而是你没有找到真正的原因.再就是现象难以重现,每次都要发布代码,然后到手机app中去测试,模拟.这些地方会耗费大量的精力. 一.UI相关 1.安卓4.4以下不支持fixed布局. fixed布局的作用之一就是在手机键盘弹起…
项目开发中,可能会涉及到原生页面跳转到H5页面,然后H5页面要返回原生页面,通常使用的方法就会失效:this.$router.go(-1);怎么解决呢,这样就需要原生跳转H5页面的时候,在URL里传递一个参数,这里传递的是souce=schedule:H5这边获取到这个值,在点击返回的时候,去判断这个值,代码如下: methods: { goNative() { if (this.schedule === 'schedule') { MobileBackNative(); //调用原生返回方法…
许久没有写博客了,最近有个H5启动APP原生页面的需求,中间遇上一些坑,看了些网上的实现方案,特意来总结下 一.需要判断客户端的平台以及是否在微信浏览器中访问 1.客户端判断 在启动APP时,Android和IOS系统处理的方式是不一样的,Android这边由于开放,可以在浏览器中通过<a>标签以及meta标签的方式,让浏览器app获取手机打开应用的权限进而启动APP. 而在IOS这边,IOS9以后的系统,则可以在APP开发过程中加入配置和逻辑代码编写,系统在浏览器即将访问到某个域名前就把这个…