首页 > 其他分享 >移动端开发调试入门

移动端开发调试入门

时间:2023-03-01 19:34:22浏览次数:44  
标签:调用 console 入门 微信 JS 移动 调试 Native

目录

  1. 基础概念
  2. 原理
  3. 调试技巧

一、基础概念

1 WebView

(1)定义

WebView,直译是网页视图,是一个基于 webkit 内核的,用于显示网页的控件,具备渲染 Web 页面的功能。 Android 的 Webview 在低版本和高版本采用了不同的 webkit 版本内核,4.4 后直接使用了 Chrome。
WebView 可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于 WebView 模式进行二次开发的,比如,uni-app、Hybrid app 等。

(2)作用

  • 显示和渲染 Web 页面
  • 直接使用 html 文件(网络上或本地 assets 中)作布局
  • 可和 JavaScript 交互调用
  • 除了具有一般 View 的属性和设置外,还可以对 url 请求、页面加载、渲染、页面交互进行强大的处理。

2 JSBridge

(1)问题

近些年,移动端普及化越来越高,开发过程中选用 Native 还是 H5 一直是热门话题。Native 和 H5 都有着各自的优缺点,为了满足业务的需要,公司实际项目的开发过程中往往会融合两者进行 Hybrid 开发。Native 和 H5 分处两地,看起来无法联系,那么如何才能让双方协同实现功能呢?

(2)定义

JSBridge 是一种 JS 实现的 Bridge,连接着桥两端的 Native 和 H5。它在 APP 内方便地让 Native 调用 JS,JS 调用 Native ,是双向通信的通道。 JSBridge 主要提供了 JS 调用 Native 代码的能力,实现原生功能如查看本地相册、打开摄像头、指纹支付等。

(3)作用

在开发中,为了追求开发的效率以及移植的便利性,一些展示性强的页面我们会偏向于使用 H5 来完成,功能性强的页面我们会偏向于使用 Native 来完成,而一旦使用了 H5,为了在 H5 中尽可能的得到 Native 的体验,我们 Native 层需要暴露一些方法给 JS 调用,比如,弹 Toast 提醒,弹 Dialog,分享等等,有时候甚至把 H5 的网络请求放着 Native 去完成。

JSBridge 就像其名称中的『Bridge』的意义一样,是 Native 和非 Native 之间的桥梁,它的核心是 构建 Native 和非 Native 间消息通信的通道,而且是双向通信的通道。

  • JS 向 Native 发送消息:调用相关功能、通知 Native 当前 JS 的相关状态等。
  • Native 向 JS 发送消息:回溯调用结果、消息推送、通知 JS 当前 Native 的状态等。

(4)双向通信

a. JS 调用 Native

主要有 拦截 URL Scheme 、重写 prompt 、注入 API 等方法。

标签:调用,console,入门,微信,JS,移动,调试,Native
From: https://www.cnblogs.com/sevenkiki/p/17168880.html

相关文章

  • Jmeter(五十一) - 从入门到精通高级篇 - jmeter之运动战(详解教程)
    ------------------------------------------------------------------- 转载自:北京-宏哥https://www.cnblogs.com/du-hong/p/13667219.html -------------------------......
  • Jmeter(五十) - 从入门到精通高级篇 - jmeter 之模拟弱网进行测试(详解教程)
    ------------------------------------------------------------------- 转载自:北京-宏哥https://www.cnblogs.com/du-hong/p/13667219.html -------------------------......
  • Android 开发入门
    文件结构appmainfests下面的AndroidManifest.xml<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="http://schemas.android.com/apk/res/android"......
  • Goland断点调试一直进gopark
    现象使用Goland断点调试一直进gopark分析直接运行调试,不打断点,会有一个warning:undefinedbehavior-versionofDelveistoooldforGoversion1.20.0(maximu......
  • Switchquery:移动端秒级配置触达平台
    作者:京东零售胡本奎一背景随着移动互联网的快速发展,为满足各类用户及人群的体验需求,移动端的开发者们开发了丰富多彩的体验与功能。同时对于快速控制各类功能的切换、灰度......
  • 【自动化测试】airtest+python移动端测试实践
    Airtest框架基于python的测试框架,核心原理是基于python的内置unittest进行延申开发的测试框架,核心主要包含两个模块:airtest,poco airtest:(1)图像识别(2)封装了ad......
  • Switchquery:移动端秒级配置触达平台
    作者:京东零售胡本奎一背景随着移动互联网的快速发展,为满足各类用户及人群的体验需求,移动端的开发者们开发了丰富多彩的体验与功能。同时对于快速控制各类功能的切换、......
  • 05反调试
    一.如何检测是否在调试1.键盘监听2.检测浏览内外的高度差值3.检测开发者人员工具变量是否为true4.利用console5.利用代码运行时间差6.利用toString7.检测栈的层数c......
  • RabbitMQ入门指南
    1.简介RabbitMQ是采用erlang语言实现AMQP(AdvancedMessageQueuingProtocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息......
  • Java反射入门
    1.概述反射就是在运行状态,对于任意一个类,都可以直达这个类的属性和方法;对于任何一个对象,都可以调用它的任意一个方法和属性。而对于官方的解释是,反射允许对封装类的字段、......