首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

五分钟实现,一个RN App开发调试工具

cqy0kwfx1e.png 在React Native开发过程中,做为开发人员,我们经常做着费力不“讨好”的事情,这样占用我们不少时间: 定位bug,通常流程是: 按测试同学的的bug描述,登录指定的账号走一遍验证一下问题是否存在...若bug存在则,在app的调试模式下再验证是否存在,并查看日志或者断点调试查看内存数据的来源及处理是否正确 最后很有可能恼火的证明这个bug只是后台数据问题,而不是App的bug ???...通过react-native-debug-tool 库,只需要几行代码就能实现一个开发调试工具,通过它,我们可以把我们想要“开放”的日志都以UI的形式随时随地展示出来。...下面我们看看这个开发调试工具库能做什么: 提供一个全局悬浮点入口,永远在最顶层,不受页面切换的影响 支持记录http请求,并解析数据并展示(app主动调用记录) 支持记录webView加url请求(app...以后,无论是测试同学还是开发人员都可以通过查看日志更方便的定位问题的bug在哪儿。

1K40

iOS--React Native浏览器插件(内附Demo)

在React Native移动平台项目开发中,除了React Native 提供的封装好的部分插件和原声组建外,在实际的项目中还需要使用到很多其他的插件,比如网络请求、数据库、相机、相册、通讯录、视频播放器...Webview类,实现RCTBridgeModule协议 添加RCT_EXPORT_MODULE()宏 添加React Native跟控制器 声明被JavaScript 调用的方法 URL规范检测 根据传参打开浏览器...添加React Native跟控制器 如果不添加React Native跟控制器,view将不能正常显示出来,实现方法如下: // Webview.m #import "Webview.h" #import...声明被JavaScript 调用的方法 React Native需要明确的声明要给 JavaScript 导出的方法,否则 React Native 不会导出任何方法。...,传过来的url字段还不能直接使用,需要检测是否符合url规范,否则是不能正常打开网页的。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    混合开发hybrid原理_unity引擎开源吗

    ,vue,react,angular等 优点: 1.开发和发布非常方便 2.用户看到的页面,会随着开发人员的发布实时更新 3.可以跨平台,因为H5应用的产出其实就是一个url,测试非常的方便,chrome...最大的特点是h5和native可以双向交互 例:通过微信JSSDK介绍Hybrid h5经常分享在微信聊天/朋友圈 公众号文章 -> … ->分享给好友 授权 -> 是否同意授权xxxx ->头像昵称...2.webview凭什么可以支持起native和h5的双向通讯 双向通讯市面上目前有两种方式: 1.URL schema,客户端通过拦截webview中的请求来完成通讯 2.native向webview...的js执行环境中,给window对象挂在api,以此来完成通讯 原理 在webview中发出的网络请求,都会被客户端给监听到 这就是URL Schema这种模式实现的最基本基石 定义自己的私有协议 h5...1.native可以定义自己的私有协议,例如hahah:// 2.随后我们在webview中如果去调用native的一些端能力,就需要在请求前面拼上这个协议头,比如我们请求是http://gogoing

    1.3K20

    从Mobile8.0平台与微应用剖析RN组件生命周期

    Mobile8.0移动端采用React Native的开发模式,利用了RN经济高效的方式来构建和维护跨平台,节省开发成本,兼容了大量React Native生态中的三方组件,同时支持用户自行集成三方组件...Mobile8.0微应用的蓝图中,平台应支持的微应用类型包括以下几个: ? React-native微应用:使用React-native语言开发的微应用。...同样的我们可以在源码中找到答案,openWebview接口其实只是Bundle中的一个函数,它的功能只是加载一个React Native页面组件H5ViewComponent,并带着参数跳转到该页面中。...由于微应用是集成在React Native工程中的一个页面组件,我们并不能在原生端主动关闭微应用,关闭事件是由React Native控制的,这里我们用到了React Native的原生组件DeviceEventEmitter...拿到门户传递过来的参数后,webview通过加载微应用的url来打开对应的H5微应用,并根据参数中的配置信息将标题显示在标题栏中。

    1.1K10

    RN调试坑点总结(不定期更新)

    ) 目录 Android真机调试 IOS调试篇 WebView调试篇 Android真机调试 安装adb,后来可以通过adb devices来检测设备连接成功没有 用USB连接Android手机和电脑,...我们可以下载React-native-debugger,用于RN项目的 调试 我在下载的时候,遇到两个无语的问题 这玩意儿是没有官网的,你只能从github上下载,我这里给一个点击就能直接下载的链接:https...90M左右,下载慢不说,而且因为网络原因,经常下载到快完成的时候失败!...加快下载速度的方式如下: 打开你的VPN 打开上面的链接:https://github.com/jhen0409/react-native-debugger/releases/download/v0.10.0...解决办法:认真从一大堆输出中通过过滤掉其他信息的方式,定位到白色色块的error输出 9.调出React-Native-Debugger的时候,报警告:Another debugger is already

    4K20

    React Native iOS 剖析 WebView && 解决 Error loading page Domain: WebKitErrorDomain Error Code: 101 The U

    谷歌了一下,网上也有各种解决方法 如:https://github.com/facebook/react-native/issues/9037 中 @lacker 的解决方法并不可行 renderError...React Native 中 WebView 的代码撸了一遍 找到了 4 种解决办法,这里与大家分享,没进坑的同学直接跳过去,进坑的同学希望看到后对你有帮助 前缀引导 WebView 正如其名,就是用来加载网页...也就不会出现我们碰到的这个问题了 解决方法二 对不合法的请求进行拦截 当然 React Native 中的 WebView 也是存在这个回调的。...如此我们就可以在 RN 中进行 URL 拦截了,而不必修改 react-native 中的代码了。...URL JS 交互方法 native://saveImage 或者跳转到没有安装的APP alipays:// 时 均不会对当前的 webView 造成影响 当然此时是否需要展示错误信息,完全在你的手里

    4.2K30

    基于 Vue 和 TS 的 Web 移动端项目实战心得

    vue 技术栈配合 native 为主,目前演进成 vue + react native 技术架构,vue 主要负责开发 OA 业务,比如报销、出差、crm 等等,react native 主要负责即时通信部分...当然这种方式的前提是 native 代码是可以为此做出改动的。...调试控制台 eruda[72] vconsole[73] 在调试方面,本项目使用 eruda 作为手机端调试面板,功能相当于打开 PC 控制台,可以很方便地查看 console, network, cookie...}`), type: 'resource load' }); }, true ); 关于服务端接口异常,可以通过在封装的 http 模块中,全局集成上报错误函数(native...将服务响应的 cookie,持久化到本地,在下次 webview 启动时,读取本地的 cookie 值,手动再去通过 native 往 webview 写入。

    3.4K21

    移动 web 最佳实践(干货长文)

    vue 技术栈配合 native 为主,目前演进成 vue + react native 技术架构,vue 主要负责开发 OA 业务,比如报销、出差、crm 等等,react native 主要负责即时通信部分...当然这种方式的前提是 native 代码是可以为此做出改动的。...调试控制台 eruda[72] vconsole[73] 在调试方面,本项目使用 eruda 作为手机端调试面板,功能相当于打开 PC 控制台,可以很方便地查看 console, network, cookie...}`), type: 'resource load' }); }, true ); 关于服务端接口异常,可以通过在封装的 http 模块中,全局集成上报错误函数(native...将服务响应的 cookie,持久化到本地,在下次 webview 启动时,读取本地的 cookie 值,手动再去通过 native 往 webview 写入。

    2.9K61

    React-Native WebView,实现RN代码与Html的简单交互

    React-Native WebView API 属性介绍 webview 实现与RN代码简单交互 在Android原生代码中对ReactNative WebView控件进行初始设置 React-Native...WebView 首先结合React-Native 高版本与低版本(0.41.2 与 0.25.1)分析其RN源码(偏向于Android方向)及api WebView WebView 作为一个RN组件也是有其生命周期方法...组件,是真正加载web页面的组件,{otherView}分析其构造可以发现它主要用来渲染加载失败视图及加载中的提示视图。...onMessage为function类型,官方api解释为: 在webview内部的网页中调用window.postMessage方法时可以触发此属性对应的函数,从而实现网页和RN之间的数据交换。...参看:https://github.com/alinz/react-native-webview-bridge 实现起来,稍微复杂些,安卓IOS端都需引入依赖。

    2.9K10

    移动 Web 最佳实践(干货长文,建议收藏)

    vue 技术栈配合 native 为主,目前演进成 vue + react native 技术架构,vue 主要负责开发 OA 业务,比如报销、出差、crm 等等,react native 主要负责即时通信部分...当然这种方式的前提是 native 代码是可以为此做出改动的。...调试控制台 eruda[72] vconsole[73] 在调试方面,本项目使用 eruda 作为手机端调试面板,功能相当于打开 PC 控制台,可以很方便地查看 console, network, cookie...}`), type: 'resource load' }); }, true ); 关于服务端接口异常,可以通过在封装的 http 模块中,全局集成上报错误函数(native...将服务响应的 cookie,持久化到本地,在下次 webview 启动时,读取本地的 cookie 值,手动再去通过 native 往 webview 写入。

    2.5K10

    基于 Vue 和 TS 的 Web 移动端项目实战心得

    开始主要以 vue 技术栈配合 native 为主,目前演进成 vue + react native 技术架构,vue 主要负责开发 OA 业务,比如报销、出差、crm 等等,react native...当然这种方式的前提是 native 代码是可以为此做出改动的。...调试控制台 eruda[72] vconsole[73] 在调试方面,本项目使用 eruda 作为手机端调试面板,功能相当于打开 PC 控制台,可以很方便地查看 console, network, cookie...如果是 webview 加载网页,也可以通过 webview 加载失败的钩子监控网页崩溃等。 如何监控网页崩溃?...将服务响应的 cookie,持久化到本地,在下次 webview 启动时,读取本地的 cookie 值,手动再去通过 native 往 webview 写入。

    2.3K10

    Weex 在饿了么前端的实践

    饿了么前端场景 大量的在WebView中使用页面,Vue开发者多于React开发者。页面中和店铺页面、活动页面相关的比较多,而且活动更新会比店铺更新多一点。...它的特点是轻量、可扩展和高性能。 Weex的体积小、语法简单、易于掌握是通过Vue来达成的。还可以利用Native代码通过编写Native组件在JavaScript中调用扩展定制原生组件和功能。...当APP中的Weex SDK版本比这个版本低的时候,则会fallback到WebView的形式。 Weex的版本兼容性优异,我们从0.8.0升级到0.10.0的过程中,还没有出现需要降级的情况。...在学习成本上,React Native比H5和Weex要高; 测试方面,React Native和Weex的弱交互性能比较好。...关于React Native的Breaking Changes,可以通过Google搜索“React Native放弃”,可以搜到大量的文章。

    1.8K60

    关于移动互联网的跨平台技术演进

    但它包含View视图层、App Service逻辑层两部分,分别独立运行在各自的WebView线程中。 View 可以理解为h5的页面,提供UI渲染。...Virtual DOM在内存中,可以通过不同的渲染引擎生成不同平台下的UI,JS和Native之间通过Bridge通信 React Native 工作原理 在 React 框架中,JSX 源码通过 React...框架最终渲染到了浏览器的真实 DOM 中,而在 React Native 框架中,JSX 源码通过 React Native 框架编译后,与Native原生的UI组件进行映射,用原生代替DOM元素来渲染...渲染和布局更高效:React Native摆脱了WebView的交互和性能问题,同时可以直接套用网页开发中的css布局机制。...不能完全屏蔽原生平台:就目前的React Native 官方文档中可以发现仍有部分组件和API都区分了Android 和 IOS 版本,即便是共享组件,也会有平台独享的函数。

    1.8K30

    搞定混合开发面试,这一篇就够了!

    JSBridge(webview UI)方案(这期重点学习的) 移动互联网疯狂发展中,it培训机构的崛起,ios,安卓工程师迅速被培养出来,市场一片欣欣向荣,大家可以脑补13年时候的ios安卓有多火,于是...React Native 究其原因就是: RN不仅桥接系统服务,也将系统UI也桥接到了JaveScript中,这样写出来的UI最终也会渲染成原生的控件。...webview Webview 是一个基于webkit引擎,可以解析DOM 元素,展示html页面的控件,它和浏览器展示页面的原理是相同的,所以可以把它当做浏览器看待。...调用Native还有一种拦截URL SCHEME方案 url scheme是一种类似于url的链接,是为了方便app直接互相调用设计的。...具体来讲如果是系统的url scheme,则打开系统应用,否则找看是否有app注册这种scheme,打开对应app,主要区别是 protocol 和 host 一般是自定义的。

    2.7K20

    大前端开发中的路由管理之三:Android篇

    在混合开发页面中,通常又分为Activity-H5(WebView),Activity-Weex/React-Native,和Activity-Flutter这几种跨平台的页面交互方式。...WebView任务栈的后退,则需要根据WebView提供的一些判断网页是否可以前进后退的api,拦截对于返回键的监听以实现。...// WebView提供apiWebview.canGoBack //判断是否可以后退Webview.goBack //后退网页Webview.canGoForward //判断是否可以前进Webview.goForward...更多的关于Flutter Widget、Channel的内容可以在后续系列文章的该部分进行查看。         ...,分别梳理了native-H5(WebView)、native-Weex/React-Native、native-Flutter这几种常见的跨平台的页面交互方式,使得在更加复杂的页面管理下仍可万变不离其宗

    3.3K11

    前端工程师所需要了解的WebView

    | 导语 现如今,在做移动端 H5 开发时,少不了与 Native 之间进行交互。而在Native中,H5的承载容器为 WebView,其核心是使用 WebView 控件实现加载 url。...通过以上的分析,可以清楚地知晓 JSBridge 主要的功能和职责,接下来,就分析一下在 Android WebView 和 iOS WebView 中实现 Native 与 JS 通信的原理。...接着就可以在 JS 中调用 Native 了。...页面可以构造一个特殊格式的 URL Scheme 触发,shouldOverrideUrlLoading 拦截 URL 后判断其格式,然后 Native 就能执行自身的逻辑了。...以 React Native 的 iOS 端举例:JavaScript 运行在 JSCore 中,实际上可以与上面的方式一样,利用注入 API 来实现 JavaScript 调用 Native 功能。

    2.2K30

    前端工程师所需要了解的WebView

    | 导语 现如今,在做移动端 H5 开发时,少不了与 Native 之间进行交互。而在Native中,H5的承载容器为 WebView,其核心是使用 WebView 控件实现加载 url。...通过以上的分析,可以清楚地知晓 JSBridge 主要的功能和职责,接下来,就分析一下在 Android WebView 和 iOS WebView 中实现 Native 与 JS 通信的原理。...接着就可以在 JS 中调用 Native 了。...页面可以构造一个特殊格式的 URL Scheme 触发,shouldOverrideUrlLoading 拦截 URL 后判断其格式,然后 Native 就能执行自身的逻辑了。...以 React Native 的 iOS 端举例:JavaScript 运行在 JSCore 中,实际上可以与上面的方式一样,利用注入 API 来实现 JavaScript 调用 Native 功能。

    1.5K10

    从Hybrid到React-Native: JS在移动端的南征北战史

    ,它有个shouldOverrideUrlLoading这个方法,这个方法可以把控件内部网页的JS的Url请求给拦截了,当然了,你写在Url中的数据也同时被一并获取了。...1)web view.loadUrl 有了上面的经验你肯定知道,这事还是webview这位老哥来做的,它可以通过调用webview.loadUrl方法加载一个HTML页面,这样HTML中的JS脚本不就被调用了吗...,但由于对webview以及H5的过度依赖,导致它的体验性问题一直让人困扰,所以自从React-Native横空出世后,后者便蚕食了前者的半壁江山。...RN的Web化:react-native-web react-native-web 组件的内部,会把 React Native 的 API 映射成了浏览器支持的 API。.../Web的三端构建 参考文章 React Native转web方案:react-native-web 使用react-native-web将你的react-native应用H5化(一) https

    3.3K10
    领券