jsBridge是一种JS实现的Bridge连接着桥两端的Native和H5吗?

JavaScript015

jsBridge是一种JS实现的Bridge连接着桥两端的Native和H5吗?,第1张

jsBridge并不是用JS来实现在,相反是Native实现的。Chrome V8 引擎提供了允许开发者使用 Native语言,如C++、Delphi或者是其他语言来对浏览器对象进行扩展,这种扩展的结果就是你可以使用JS来调用该对象。这种做法就是jsBridge的本质。

由于 Html和Js 受浏览器安全策略的限制,无法精准控制所有本地硬件,如本地文件读写或者本地打印机等的访问,这时候,就需要使用这样的思想去做扩展。

JsBridge配置方法请看第一篇

H5页面与原生交互的方法之 一、addJavascriptInterface

1、指定处理者

java创建处理者

js指定处理者

html

2、不指定处理者

java添加默认处理者

js发送信息

html

1、指定处理者

js创建处理者

java指定处理者

2、不指定处理者

js接收native发送的消息

java发送消息

压力挺大的,学的东西很多。

先来说一些基础的知识1、布局rem,vw,vh,em等2、touch、click事件移动端不在是鼠标事件,改为touch事件。click事件在移动端有300ms的延迟,可以用fastclick解决。手势问题可以用hammer.js解决。3、兼容性移动端机器比PC端复杂的多,而且国内基于Android分裂出许多分支。低版本IOS flex布局有问题,不支持webp。低版本Andriod,不支持fetch,不支持ES6特性。解决办法用babel-ployfill和系统区分,IOS不下发webp。4、jsBridgejsBridge有点像桥接模式,建立起前端和客户端的通信。jsBridge的原理是什么,可以查看这篇文章。成楠Peter:hybird App原理20 赞同 · 2 评论文章5、字体移动端不像PC端用微软雅黑或者使用苹果自带字体就行。又因为字体包太大,不能通过网络下载,所以字体的选择就很总要,并且在英文字体和中文字体间差异很多,经常会出一些诡异的bug。在前端工程化中使用特殊字体7 赞同 · 2 评论文章6、前端框架性能不再像PC端一样,不用关心react的性能问题了。必须在shouldUpdateComponent拦截某些渲染,否则性能将收到严重的影响。所以对开发者编写的代码的要求更高。7、webview的机制比如为什么回退到上一个页面,页面不会自动刷新(与PC浏览器的机制不一样),为什么这样设计。