产品必懂的技术必修(三)
上一篇:
第四章 前端—移动端技术
本章目录
一、Android和iOS技术特点
二、如何选择native和h5实现方式
三、手机传感器的应用
四、客户端数据缓存机制
五、什么是Reactnative技术
六、微信小程序的技术特点及应用
七、客户端消息推送
一、Android和iOS技术特点
Android与iOS的差异对比
1. Android:
安装包名apk
开发语言Java
系统开源,可定制化系统
手机尺寸、应用市场很多样化
手机硬件跨度大
2. iOS:
安装包名ipa
开发语言Objective - C/Swift
系统闭源,不可定制
手机尺寸相对单一,适配工作适中,指定应用市场,单一渠道
硬件跨度小,应用的支持情况基本统一
移动端基本三要素:
1. 页面
页面操作实现原理举例:点击按钮,屏幕接收到手势操作意味着点击按钮事件发生,关联到的方法即可被执行。
2. 控件:页面上的一些组件,比如按钮等
Android与iOS基础控件
页面控件规则:
a. 大小 b. 位置 c. 外观(内容和)
页面布局注意项:
a. 产品设计时,考虑每一个控件的边界属性(文本最长展示范围。不同屏幕尺寸适配等)
b. 内容型控件需指明内容对齐方式(文本框的对齐方式,图片的拉伸方式等)
3. 操作:用户操作,左右滑、单双击、多指操作等
二、如何选择native和h5实现方式
1. Native(原生)应用
通过各移动平台技术实现的客户端产品
特点:体验好、功能丰富
针对不同端需要单独开发,并且需要发布安装包
2. H5应用
通过网页Web技术实现的客户端产品
特点:轻量化、易扩展
页面单独加载,只开发一套即可,且无需安装即可更新
Native与h5对比
1. Native
场景特点:使用频率高,流程相对固定、变化较少,对体验要求高
举例:登录注册、信息流、动画
不足:维护成本高
2. H5
场景特点:运营模块、内容变化频率高、以内容和功能性为主
举例:开屏启动页、头部广告条、运营活动说明页
不足:体验相对Native不足
三、手机传感器的应用
传感器分类:
1. 磁场传感器:转动手机,可获得xyz三个方向的磁场强度
2. 加速度传感器:通过xyz加速度改变,可实现计步功能
3. 三轴陀螺仪:通过xyz三个方向的转动角度,识别手机翻转动作(可实现翻转来电静音)
4. 指纹传感器
5. 距离传感器:脉冲信号,可实现例如近距离接听熄灭屏幕
6. 光线传感器:内置在听筒附近,可实现智能调节屏幕亮度
手机传感器是实现产品很多功能的硬件基础,例如计步、摇一摇、定位等
四、客户端数据缓存机制
缓存:临时存储机制,用来提升数据加载过程中的速度和使用体验
缓存级别:
1. 一级缓存:指手机中的内存,空间较小。读取快,空间共享,数据临时性存储
2. 二级缓存:指硬盘存储,空间较大。空间独享,数据可永久性存储
五、什么是Reactnative技术
一种基于Web技术开发native app的技术,在不用发布前段版本的基础上实现热更新
通常我们所谓的写死在客户端,都是代表着需要重新打包apk才能够进行更新
是一种轻量级的前端技术,适合快速快发、快速上线,无需重复发版
React Native应用场景
适合场景:
1. 资讯类产品,例如信息流和瀑布流
2. 动态运营类模块较多的产品,例如电商
不太适用场景:
1. 对于首次加载的速度要求较高
2. 工具类产品,对效率体验要求较高的产品
六、微信小程序的技术特点及应用
小程序是基于微信生态的一种应用程序开放平台,基于微信环境,可以跨平台支持(iOS、Android)
特点:
1. 依托于微信运行,无法单独在手机操作系统环境内运行
2. 可基于微信的关系链进行传播
3. 有自己的开发环境和发布机制,并且有小程序独特的开发语言
4. 可调用微信原生基础组件,例如地图和多媒体支持等
小程序与APP使用场景:
小程序:即时性任务、好友邀请、轻量级服务(共享单车、打车)
APP:复杂性任务、体验性与多任务处理、强营销性(电商、金融、生活服务等)
早期验证产品,可以使用小程序,轻量化、跨平台、传播可利用微信生态
七、客户端消息推送
推送:服务器主动向客户端发送消息的机制
客户端获取服务端消息的方式:
1. 客户端发起请求访问服务端,服务端返回
2. 服务端向客户端推送消息
推送原理:
1. 主动轮询:客户端询问(无限循环)
2. 建立长连接:类似于打电话,电话不挂断
3. 心跳消息:在需要时询问
消息推送服务器
通过消息推送服务器,可以集中管理推送消息,建立统一消息下发机制,节省资源消耗
下一篇: