产品经理必懂的技术知识——移动端技术

android和iOS技术特点

android和iOS差异化对比

android技术特点:
1.安装文件扩展名为.apk
2.手机尺寸多样话,适配工作量大
3.系统开源,可定制化系统
4.应用市场碎片化严重,多渠道
5.手机硬件跨度大,应用支持情况多样
6.开发语言:java

iOS技术特点:
1.安装文件扩展名为.ipa
2.手机尺寸相对单一,适配工作适中
3.系统闭源,不可定制化系统
4.官方指定应用市场,单一渠道
5.手机硬件差异小,应用支持情况统一
6.开发语言:objective-c/swift

移动端基本三要素

页面
控件
,多个控件构成组建
操作,指操作手势

页面操作的实现原理

页面操作事件:屏幕接收手势操作,形成的触发反应。事件可以被绑定到某个方法上

产品经理必懂的技术知识——移动端技术_第1张图片

android和iOS基础控件

UI控件:构成产品界面的基本元素,根据作用和操作的不同,区分为不同种类

android基本控件:
按钮:button
文本展示框:textview
文本输入框:editview
图片展示框:imageview
列表展示容器:listview
表格展示容器:gridview

iOS基本控件:
按钮:UIbutton
文本展示框:UItextview
文本输入框:UIeditview
图片展示框:UIimageview
列表展示容器:UIlistview
表格展示容器:UIgridview

页面控件规则

位置,大小,外观

产品经理必懂的技术知识——移动端技术_第2张图片

页面布局

页面布局:各种UI控件按照一定的布局规则组合在一起,构成一个独立的产品界面
布局原理应用与产品设计:
1.产品设计时考虑每一个控件的边界属性(文本的最长展示范围,不同屏幕的尺寸适配)
2.内容性控件需指明内容对其方式(文本展示框内容的对其方式,图片拉伸方式)

如何选择native和h5实现方式

native和h5的技术特点

native(原生)应用:通过各种移动平台技术实现的客户端产品,具备体验好,功能丰富的特点
h5应用:通过网页web技术实现的客户点产皮,具备轻量化,易扩展的特点

native:
1.体验顺畅
2.更新需要发布新的安装包
3.针对不同端需单独开发

h5
1.页面需单独加载
2.更新无需重新安装
3.针对不同端只需开发一套

应用场景

native:使用频率高;流程相对固化,变化较少;对体验要求高
例如:登陆注册,信息流,动画

h5:运营模块,内容变化频率高,以内容和功能性为主
例如:开屏启动页,头部广告条,运营活动说明页

手机传感器的应用

传感器分类

传感器是内置在手机中具有感知能力的硬件设备,可用来实现软件功能
磁场传感器:转动手机可获XYZ三个方向的磁场强度
加速度传感器:可获XYZ三个方向的加速度改变,计算摆动的幅度和次数来实现记步功能
三轴陀螺仪:计算XYZ三个方向的反转角度,可识别手机的翻转动作,比如翻转来电静音
指纹传感器:分光学,射频,电容三种,目前普遍采用电容指纹解锁
距离传感器:通过发射脉冲信号来计算返回时间从而得出距离,可用来实现近距离接听电话息屏
光线传感器:通常内置于手机正前方听筒位置,识别光照强度调整屏幕亮度

手机是如何定位的

手机可通过GPS,基站,Wi-Fi实现定位功能
GPS通过连接卫星获取参照位置具体经纬度,通常会做一些位移
基站都是固定的,手机获取基站信号时可以定位位置
Wi-Fi通过获取无线路由器的mac地址,实现位置经纬度获取

客户端数据缓存机制

什么是缓存

缓存是一种临时存储机制,目的是用来提升数据加载过程中的速度和使用体验

产品经理必懂的技术知识——移动端技术_第3张图片

内存是一个公共区域,速度快,体验好

缓存级别

缓存通常分为一级缓存和二级缓存,一级缓存指手机中的内存,空间较小;二级缓存是指硬盘存储,空间较大

产品经理必懂的技术知识——移动端技术_第4张图片

缓存案例

微信朋友圈加载体验:
首次加载时有个loading的过程——向服务端请求
列表状态下,图片加载小图,点击放大后加载高清图——再次向服务端请求
下滑几页后再上划,已加载的内容仍然保留——已存储在内存中
划到底部时有加载更多的操作——向服务端请求

在设计瀑布流时考虑到缓存机制,避免重复请求

客户端消息推送

推送:服务端主动向客户端发送消息的机制
客户端获取服务端消息的方式:
1.主动获取数据:客户端发起请求访问服务端,服务端返回消息
2.被动接收数据:服务端主动向客户端推送消息

推送频率是重要考虑点

推送原理

实现消息推送的三种方式
1.主动轮询:以定期请求的方式,向服务器发起数据请求,问它有没有给我新消息,有就返回给你,没有就下次再请求
2.建立长连接:相当于一个管道,不能挂断,有新消息就会立刻推送过来,是目前主要的机制
3.心跳消息:和主动轮询有点像,主动轮询是定期请求,心跳消息是需要的时候发个消息

消息推送服务器

手机长时间开启长连接或者轮询机制,对资源消耗很大,不管是耗电量还是耗流量。为了解决资源消耗,对推送消息更好的管理,建立了这种消息推送服务器,比如苹果建立的APNs

产品经理必懂的技术知识——移动端技术_第5张图片

APNS就是在服务端和客户端中间再架设一种服务器,服务端发送消息的时候,都会把消息统一传递到APNS,这样每个客户端指建立一个长连接就可以了,客户端收到消息后会判断,这个消息是哪个应用的就给那个应用

消息推送服务器的优点
1.只需建立一个推送管道长连接
2.对资源消耗少
3.消息可统一管理

什么是react native技术

什么是react native

产品经理在工作中经常遇到一些情况
1.线上的文案出错了,需要及时更改,但文案写死在客户端了,写死在客户端但意思是这个文案固定了,写在了客户端但代码里面,打包成了一个app,发不到了市场上,如果想更改的话,必须重新打包上传,用户更新成新版本之后,才能更新到一个最新的状态
2.有个功能需要调整,如果是原生native开发的话,同样需要重新写代码编译打包发布到应用市场上,客户端需要更新到最新版本才能体验最新的版本
基于以上痛点,Facebook退出了一种基于web技术开发native app的技术,在不用发布前端版本的基础上实现热更新,热更新是指,直接将最新的代码推送到线上,线上就可以直接更新成最新的状态,目前主流的是通过js实现app的动态更新

react native的优势

主要体现在成本和效率上
1.app可以像网页一样更新,随时发布,不依赖于版本迭代
2.不区分程序员职能,不需要iOS和安卓,只要会web的技术,会使用react native框架就可以,一套应用程序统一开发
3.代码服用度高,避免多端兼容

react native直接解析js进行页面处理,相比于java和objective-c在执行效率上更加高效。类比于前者是熟食,可以直接使用,后者是生食,需加工处理后才能使用。

react native的应用场景

适合的场景:
1.资讯类产品,如信息流和瀑布流
2.动态运营类模块较多的场景,如电商

不太适合的场景:
1.对首次加载速度要求较高的产品
2.工具类产品,对效率体验要求较高的产品

对于产品经理而言,并不一定要深究它的技术框架是如何实现的,但是我们要了解它在使用场景上具体有哪些落地的应用,在产品决策的时候,什么样的场景,产品,工具适合用这种技术,这样我们就会有一个选择的范围

微信小程序的技术特点和应用

微信小程序基本介绍

产品经理必懂的技术知识——移动端技术_第6张图片

小程序是基于微信生态的一种程序开放平台,基于微信环境,跨平台支持
特点:
1.依托于微信运行无法单独在手机操作系统环境内运行
2.可基于微信的关系链进行传播,例如微信好友和微信群
3.有自己的开发环境和发布机制,并且有小程序独特的开发语言
4.可调用微信原生基础组建,例如地图和多媒体支持

微信小程序技术特点

基于HTML,CSS,JS技术,衍生出的WXML,WXSS,WXS
WXML:是小程序框架设计的一套标签语言,可用来构建小程序页面结构
WXSS:是一套样式语言,用于描述WXML的组建样式
WXS:是小程序的一套脚本语言,结合WXML,可以构建出页面的结构,并处理页面交互

小程序无法主动向用户推送消息

小程序与app

微信小程序使用场景
1.处理即时性任务
2.好友邀请(投票,地址,介绍)
3.轻量级服务(共享单车,打车)

app使用场景
1.处理复杂任务
2.注重体验性和多任务处理
3.强营销属性类产品(电商,金融,生活服务)

早起属于验证阶段的产品推荐使用小程序,轻量化,跨平台,可利用微信生态传播。

你可能感兴趣的:(产品经理必懂的技术知识——移动端技术)