【前端知识体系-JS相关】对移动端和Hybrid开发的理解?
1.hybrid是什么,为何使用hybrid呢?
- 概念:
- hybrid就是前端和客户端的混合开发
- 需要前端开发人员和客户端开发人员配合完成
- 某些环节也可能会涉及到server端
- 大前端:网页、APP、前端和server端交互的过程
- 存在价值:
- 可以快速迭代更新【关键】,无需APP审核(hybrid技术可以一天上线多次)
- 体验流畅(和Native开发的体验基本类似)
- 减少开发和沟通成本,双端公用一套代码
- webview:
- 是APP中的一个组价(App可以有Webview,也可以么有)
- 主要用于加载H5页面,是一个小型的浏览器内核
- file:// 协议
- file协议: 本地文件,快
- http(s): 网络加载、慢
- 扩展知识:Web标准都有哪些呢?
2.hybrid的具体实现流程?
2.1 使用场景
- 不是所有场景都适合使用hybrid
- 使用NA: 体验要求极致,变化不频繁(如头条的首页)
- 使用hybrid:体验要求高,变化频繁(如头条的新闻详情页面)
- 使用H5: 体验无要求,不常用(如举报、反馈等页面)
2.2 具体实现
- 前端做好静态页面(HTML,CSS,JS),将文件交给客户端
- 客户端拿到前端静态页面,以文件形式存储在APP中
- 客户端在一个Webview中
- 使用file协议加载本地静态文件
3.介绍一下hybrid更新和上线的流程?
3.1 优点
- 用户体验更好,跟NA体验基本一致
- 可以快速迭代,无需app审核 【关键】
3.2 缺点:
- 开发成本高:联调、测试、查bug都比较麻烦
- 运维成本高。(平台维护)
3.3 适用场景:
- hybrid:产品的稳定功能,用户体验高,迭代频繁
- H5:单词的运营活动(如XX红包),或不常用的功能
4.前端JS和客户端如何通讯?
- 类似于JSONP的数据请求方式
- schema协议的简介和使用
- 通讯的基本形式:调用能力,传递参数监听回调
- 对schema协议的理解和使用
- 调用schema代码的封装
- 内置上线的好处:更快、更安全
【前端知识体系-JS相关】对移动端和Hybrid开发的理解?的更多相关文章
- 【前端知识体系-JS相关】JS基础知识总结
1 变量类型和计算 1.1 值类型和引用类型的区别? 值类型:每个变量都会存储各自的值.不会相互影响 引用类型:不同变量的指针执行了同一个对象(数组,对象,函数) 1.2 typeof可以及检测的数据 ...
- 【前端知识体系-JS相关】ES6专题系列总结
1.如何搭建ES6的webpack开发环境? 安装Node环境 node -v // 10.14.1 安装NPM环境 npm -v // 6.4.1 安装babel npm install @babe ...
- 【前端知识体系-JS相关】JS-Web-API总结
2.1 DOM操作 2.1.1 DOM的本质是什么? <!-- DOM树:二叉树 --> /* <?xml version="1.0" encoding=&quo ...
- 【前端知识体系-JS相关】深入理解JavaScript异步和单线程
1. 为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. Jav ...
- 【前端知识体系-JS相关】深入理解MVVM和VUE
1. v-bind和v-model的区别? v-bind用来绑定数据和属性以及表达式,缩写为':' v-model使用在表单中,实现双向数据绑定的,在表单元素外使用不起作用 2. Vue 中三要素的是 ...
- 【前端知识体系-JS相关】组件化和React
1. 说一下使用jQuery和使用框架的区别? 数据和视图的分离,(jQuery数据和视图混在一起,代码耦合)-------开放封闭原则 以数据驱动视图(只关注数据变化,DOM操作被封装) 2.说一下 ...
- 【前端知识体系-JS相关】10分钟搞定JavaScript正则表达式高频考点
1.正则表达式基础 1.1 创建正则表达式 1.1.1 使用一个正则表达式字面量 const regex = /^[a-zA-Z]+[0-9]*\W?_$/gi; 1.1.2 调用RegExp对象的构 ...
- 【前端知识体系-JS相关】你真的了解JavaScript编译解析的流程吗?
1. JS编译解析的流程 1.1 JS运行分三步 语法分析(通篇扫描是否有语法错误),预编译(发生在函数执行的前一刻),解释执行(一行行执行). 1.2 预编译执行分五步 创建AO对象(Activat ...
- 【前端知识体系-JS相关】深入理解JavaScript原型(继承)和原型链
1. Javascript继承 1.1 原型链继承 function Parent() { this.name = 'zhangsan'; this.children = ['A', 'B', 'C' ...
随机推荐
- appium 使用name 定位报错 Locator Strategy 'name' is not supported for this session【appium-desktop】
RF中使用 name定位 报错提示: Locator Strategy 'name' is not supported for this session 解决: 1.打开本地文件 driver.js ...
- SQL --- where 1=1 与 1<> 1
1.Sql 中的查询语句中的where 字句是为了带条件进行查询,那么使用where 1=1 后查询的是什么 首先:查询表 tb_obge 中的所有字段 select * from dbo.o ...
- 红黑树之 原理和算法详细介绍(阿里面试-treemap使用了红黑树) 红黑树的时间复杂度是O(lgn) 高度<=2log(n+1)1、X节点左旋-将X右边的子节点变成 父节点 2、X节点右旋-将X左边的子节点变成父节点
红黑树插入删除 具体参考:红黑树原理以及插入.删除算法 附图例说明 (阿里的高德一直追着问) 或者插入的情况参考:红黑树原理以及插入.删除算法 附图例说明 红黑树与AVL树 红黑树 的时间复杂度 ...
- ASP.NET MVC IOC 之 Autofac(一)
新建一个MVC项目,如 AutoFacTest,引用autofac,如下图: 接下来就是开始进行编程了 首先,新建一个类库,名为 AutoFacTest.Service,该类库编写服务层代码,我们的接 ...
- String字符串工具类
字符串类(StringUtil.cs) using System; namespace Sam.OA.Common { /// <summary> /// 字符处理工具类 /// 作者:陈 ...
- Json互相序列化对象
using System.ServiceModel; using System.ServiceModel.Web; using System.Runtime.Serialization.Json; u ...
- Docker关于镜像、容器的基本命令
镜像 1.获取镜像 docker pull 服务器:端口/仓库名称:镜像 ➜ ~ docker pull python Using default tag: latest 2.查看镜像信息 列出本机所 ...
- 【React Native】日常踩坑记录_以后将持续更新
作为一名有理想.有抱负的一代iOS程序员,本着“我头发够多,还能学”的原则,我选择了追随那些大佬的脚步,于2018年开始了React Native. 第一步:找文档.准备安装开发环境: 第二步:一步步 ...
- 开源项目Telegram源码 Telegram for Android Source
背景介绍 Telegram 是一款跨平台的即时通信软件,它的客户端是自由及开放源代码软件.用户可以相互交换加密与自毁消息,发送照片.影片等所有类型文件.官方提供手机版.桌面版和网页版等多种平台客户端. ...
- 当时学习《鸟哥的Linux私房菜-基础学习篇》记录的点
1.当执行一个指令的时候,举例来说[ls],系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先搜寻到的同 ...