![8c8e8e268d35c91e9ee1ffb40f6ebade.png](https://i-blog.csdnimg.cn/blog_migrate/4deb57d06728fc347f62d75a0e23159c.jpeg)
![c2c470cae8b16d60cc75fc0cdf1e96fa.png](https://i-blog.csdnimg.cn/blog_migrate/67c0f7584d13fc1159e22f2c3754ab46.jpeg)
一、Android和iOS技术
1、Android和iOS技术差异对比
![dc18b0e34ab518c815e4bb680f6027cc.png](https://i-blog.csdnimg.cn/blog_migrate/1569f571ba0c05e7b6eb115f48f0742c.png)
2、移动端设计基本三要素
页面:打开的产品界面,一个产品有多个页面。
控件:例如文本框、展示列表等操作系统自带的原生控件,一个页面上布局很多控件。
操作:对页面上的控件进行手势操作,每一个操作控件的“事件”关联一个“方法”,这个方法在后台执行程序的某个方法,然后将执行结果反馈给前端界面。
3、页面控件规则
大小:工程师会根据具体尺寸数值编辑来设置控件大小。
位置:工程师判断控件位置时会根据页面坐标轴定位,或者根据另一个控件的相对位置来定位。
外观:工程师设置控件颜色、形状等。
4、页面布局规则
1、产品设计时应多考虑边界问题,例如文本的最长展示长度、不同屏幕尺寸适配等,若超过这个长度该如何显示也要考虑到。
2、内容型控件应考虑内容的对齐方式、图片拉伸方式等。
二、native和H5
1、native(原生)应用:通过移动平台技术实现的客户端产品。
- 特点:体验好,响应速度快,功能丰富,更新需要发布新的版本安装包,需要开发不同端的版本。
- 使用场景:使用频率高,流程相对固定变化较少,体验要求高的场景。比如登录注册,信息流,动画。
- 案例:微信app。
2、H5应用:通过网页web技术实现的客户端产品。
- 特点:轻量化、易扩展,页面单独加载,更新无需重装,不同端只用开发一套。
- 使用场景:运营模块,内容变化快,内容和功能性为主。比如开屏启动页、banner、运营活动说明页等。
- 案例:点击淘宝首页头部banner图进入的广告落地页就是通过H5搭建的,即通过广告图进入时每次都会进入不同页面,新的运营活动上线后只需更换链接,开发新的页面即可。
产品经理懂得两种技术的区别时在做方案选择时就会很清晰某种方案使用native还是H5来实现了。
三、手机传感器
1、传感器分类
传感器是内置在手机中具备感知能力的硬件,用于实现软件功能。
磁场传感器:转动手机时可以获得xyz三个方向的磁场强度,类似指南针。
加速度传感器:可以获得xyz三个方向的加速度,计算摆动幅度和次数实现计步功能。
三轴陀螺仪:计算xyz三个方向的翻转角度,可以识别手机翻转动作,实现手机翻转静音功能。
指纹传感器:分为光学、射频、电容三种,目前指纹解锁普遍用电容方式。
距离传感器:通过发射脉冲信号计算返回时间来计算距离,可以实现近距离接听电话时熄灭屏幕。
光线传感器:常内置在手机听筒位置,识别光照强度来调节屏幕亮度。
2、手机如何定位
GPS定位:连接卫星获取参照位置获取经纬度,通常会做一些偏移(为了隐私),恰好地图软件也是做了同样的偏移。
基站定位:基站固定,手机获取基站信号,通过基站位置来识别当前位置。
wifi定位:wifi获取无线路由器的MAC地址,实现位置经纬度获取。
四、客户端缓存
缓存:临时存储,提升数据加载过程的速度和用户使用体验。
案例场景:手机向服务端发送数据请求,服务端将数据返回客户端,客户端展示数据。例如服务端将最近的朋友圈信息返回到客户端,客户端展示出新的朋友圈内容,继续下滑时会不断请求数据加载新的数据,如果上滑就是调取刚刚已经缓存的数据来显示刚刚已经加载过的内容。
缓存级别:缓存可以分为一级和二级,对应的是通过内存或者硬盘来实现存储。
- 内存的容量小,存储在内存的数据读取速度快,但是数据无法永久存储。
- 存储在硬盘的数据读取速度较慢,硬盘空间较大而且空间独立。
客户端获取到的数据优先存储在内存,在返回信息时也会优先读取内存中数据,如果内存中有数据就直接显示,若内存中没有就读取硬盘中数据,还没有则再次向服务端请求。缓存的存在就是减少客户端向服务端的请求次数。
缓存常用的产品类型有信息流产品、列表产品、瀑布流类型产品,懂得缓存的原理,产品经理在实战中设计合理的缓存机制,可以大大提升用户的使用体验。
五、React Native技术
1、背景
产品经理工作中经常遇到的问题:
1、产品文案出错需要修改,但是文案写死在了客户端
2、运营人员需要及时修改运营内容
3、产品功能流程需要立刻调整
2、React Native特点
成本和效率提升:
1、app可以像网页一样及时热更新,随时发布,不依赖于版本迭代,快速发版快速上线
2、不再区分程序员职能,一套应用程序统一开发
3、代码复用度高,避免因多端兼容带来的重复开发
React Native可以直接解析JavaScript进行页面处理,想必传统的Java或者objective-c更高效率。前者可以类比成熟食,拿来直接食用,后者类比成生食,拿来要加工后食用。
3、React Native应用场景
适合的场景:
1、资讯类产品,例如信息流和瀑布流
2、动态运营类模块较多的产品,例如电商
不适合的场景:
1、对于首次加载速度要求较高的产品
2、工具类的产品,对效率和体验要求较高的产品
做产品决策的时候要考虑什么样的产品什么样的场景要选择哪种前端框架。
六、微信小程序的技术特点及应用
1、微信小程序基本介绍
小程序基于微信生态的一种程序开放平台,基于微信环境,跨平台支持,例如不用分别针对iOS和Android开发两套系统。
特点:
1、依托于微信运行,无法单独在手机操作系统环境中运行
2、可以基于微信的关系网快速传播,快速获取用户
3、有自己独有的开发环境和发布机制,有小程序独有的开发语言
4、可以调用微信原生的组件,例如地图和多媒体支持
2、微信小程序技术特点
WXML:小程序框架设计的标签语言,构建页面结构
WXSS:样式语言,描述WXML框架的样式
WXS:脚本语言,结合WXML构建页面结构,处理页面交互
小程序无法主动向用户推送消息。用户向小程序发起互动后,在一定时间内可以向用户主动推送。
3、小程序与APP
小程序使用场景:
1、处理即时任务,即开即用
2、好友邀请,比如投票、问卷等
3、轻量级服务,比如共享单车、打车、小工具等
APP使用场景:
1、处理复杂任务
2、注重体验性和多任务处理
2、强营销属性类产品,比如电商、金融、生活服务等
七、客户端消息推送
1、消息推送
服务端主动向客户端发送消息的机制。
客户端获取消息的方式:
1、客户端向服务端请求,服务端返回消息
2、服务端向客户端主动推送
2、实现消息推送的三种方式
1、主动轮询:客户端定时向服务端请求,看服务端是否有消息更新,有的话就返回,没有则等待下次轮询。(无限循环)
2、建立长连接:类似打个电话,电话一直在线不挂断,每次都询问是否有消息更新。
3、心跳消息:类似主动轮询,客户端时不时触发请求,向服务端请求新消息。(非无限循环)
3、消息推送服务器
为了解决资源消耗,对推送消息更好的管理。
- 只需要建立一个推送管道长连接。
- 对资源消耗少。
- 消息可以统一管理。
在服务端和客户端之间建立一个中央消息推送服务器,所有服务端有新消息就下发至中央消息推送服务器,由此中央消息推送服务器再统一发送给指定的客户端设备。通过推送服务器集中管理推送消息,建立统一的消息下发机制,免去了所有应用的客户端都和各自的服务端建立一个连接带来的资源消耗。
返回目录:产品经理必知必会的技术知识zhuanlan.zhihu.com![c2c470cae8b16d60cc75fc0cdf1e96fa.png](https://i-blog.csdnimg.cn/blog_migrate/67c0f7584d13fc1159e22f2c3754ab46.jpeg)