产品避免被怼,技术这课是必须要补上的。
1. 产品和技术思维的不同
思维不同导致,沟通的矛盾。技术解决问题更直接,简洁。针对某个需要,技术想得是价值,技术实现难度,与其他模块关系,开发成本。沟通时,注意切换。
2. 整体技术框架
从使用层面分为,客户端和服务端,两种通过请求和响应进行工作。客户端的软件是APP,呈现产品内容,硬件支持是PC,移动智能手机。服务端的软件是响应客户端的请求,硬件的物理服务器,放在机房中。
从实现层面说分为,后端和前端。后端主要负责数据方面的储存和实现,前端主要负责页面和交互的实现。
从研发部分为,服务端,前端,运维,测试。这几个大块,前两同上,运维服务服务器的维护和系统的稳定,测试主要负责产品设计实现后的检查。
3. 技术实现基础
技术实现实质是程序员将做什么和怎么做告诉电脑,电脑按命令执行的过程。两者通过编程语言交流,程序员用编程语言将命令写成一个个程序,电脑按照程序来执行指令。程序包括数据和算法,数据是指是什么,算法是怎么做。
3.1 编程
3.1.1编程语言
编程语言是程序员与电脑交流语言。C语言是始祖,后面的C+,Java等都是从这里来的。简单分类,安卓用Java,苹果用objective-C,Swift,网页用php,HTML,从其他网页爬取内容用Python等。使用时,大多是用现有已经开发完成的框架加自己修改。
3.1.2 数据的类型,数据结构
数据就是程序的内容,例如百度搜索后的反馈,没有数据程序就是空壳子。数据类型是将数据分类,各种数据用途不同。用来计算的整数型,有小数点的浮点型;不可计算,用来直接显示的字符型;用来判断的布尔型。数据结构是将数据组织起来的方式,包括将同类数据组织起来的数组,按排队的方式,一个接一个的组织方式的队式,按照堆积木方式,一层层叠加,取数据时也必须一层层取的栈式结构;还是按照树样式,一组数据是一个节点的网状结构的树形。
3.1.3 算法的计算方式
算法是给程序下达怎么做的指令,是一个计算判断的过程 。算法包括数据的逻辑结构和函数。数据的逻辑结构是判断数据,包括按照设定条件进行判断的条件判断,按照设定条件进行选择的条件选择,按照规定条件进行循环操作。函数是指设定的计算方式,进行计算并给出结果的指令。比如设定,用户输入1和9,后台给出10.这就是一个简单算法。
3.2 数据库
数据库是数据的仓库,能够对数据进行管理。数据按照是否与其他数据建立关系,分为关系型数据库和非关系型数据库。关系型数据库是能够建立两个数据间的关系,而非关系型数据库数据间相互独立。他们通过sql需要进行数据库管理,可以完成增加,删语言除,修改。后期能够通过关键词检索数据。
关系型数据库是通关将一个实体的属性提取,建成一个二维表,并给定唯一的id,两个表通过关键词建立联系。比如说学生这个实体,有姓名,学号,成绩属性,而成绩可以单独成一个主题,有数学,英语。学习表中小赵成绩的编号是315,而在成绩表中对应找到315编号的数据,就可以完成精简数据和结构化整理。属性就是他的字段名,id是主键。
非关系型数据库是独立的,类似文件夹独立储存数据。因为可以快速反应,可以完成大并发的数据处理,比如网站的访问量数据统计。
大多后台的综合应用关系和非关系型数据库。
4 具体技术实现
具体技术实现是根据产品原型,前端借助编程把把产品外表看得见的框架描绘出来,后端把用户在操作时需要处理的数据呈现出来。
5 前端相关的技术
5.1移动端
目前移动端主要苹果和安卓,前端主要负责页面的呈现,以及手机权限和打包发布。下面同时以苹果和安卓对比,来表述。
5.1.1 控件
页面是由于一个个可交互的控件组成。苹果与安卓最大不同是苹果的控件大多可以相互嵌套,而安卓只有列表式和表格式控件才可以。另外就是名字不同。
控件是由原始控件视图发展而来,实际是个最简单可交互的矩形方块。苹果是uiview,安卓是view
接着有文本展示框,文本输入框,按钮,列表组件,表格组件。另外安卓控件有尺寸使用独立像素dp,大小使用sp。苹果是用逻辑像素,也就是物理像素除2。
5.1.2 布局
安卓分为线性布局和相对布局,而苹果是用绝对布局。安卓的线性布局是从左到右,从上到下。相对布局是设定其中一个控件的位置,其他控件保持与它相对距离。苹果的绝对布局,按照它的逻辑像素,以左上角为原点,将它的横纵坐标,长宽像素,按照四位坐标编明。
5.1.3 权限设置
个别功能需要调用手机权限,比如通信录。苹果与安卓的提醒授权的位置不同,安卓是在安装时前置提醒,苹果是使用时在提醒。
5.1.4 打包发布
打包是将已经做好的程序,压缩成可以安装的程序包。发布是将做好的程序发布在市场上,能够供用户下载和使用。
苹果和安卓的打包差别不大,发布却很大。安卓的开源属性,决定它可以有上百个软件市场。每个都要发布更新。苹果的封闭属性,只需要发布在AppStore里就可以了。安卓的发布是个体力活,而苹果是个耐心活,因为苹果卡的很严。
5.2 web端
5.2.1 web的特性
web泛指网站网页,存在于电脑和手机网页,和与移动端下载的在手机中的原生页面相对。目前h5是html的5代技术,能够实现跨平台,以及丰富的页动效等。它的特性在于跨平台,不用安装更新。
5.2.2 web的基础技术
web页面通过html超文本语言写出一个前端展示页面,页面中每个资源都有特定的位置。也就是url,资源定位。众多页面,在主域名下,组成一个网站。此外,拥有特定的域名也就是lp地址。用户通过http协议,访问网页,能够获得标准的内容。www是万维网,表明类型是页面。
5.2.3 原生与h5的应用
原生是指安装在苹果或安转移动端应用的本来页,这里h5是指网页应用在移动应用的页面。原生的优点在于流畅和体验好,缺点在于开发周期长,h5是优点快速,开发成本低。不用本地安装,就可以更新,开发的难度也较小。目前大多数是混合使用,原生与h5.
5. 后端相关技术
5.1 整体技术架构
后台技术了分为物理机房和软件技术。机房一般由网线,端口,应用服务器,交换机,数据库服务器组成。从软件方面看,是由负载均衡器疏导流量,到应用服务器处理信息,经过交换机转换,调取数据库数据,
5.2 实现相关
后端主要负责处理客户端的反馈,具体表现在处理和反馈客户端数据。处理数据表现在需要设计数据库,良好的数据库能够让用户方便快捷获取信息,并且后边产品相关人员能够观测数据。在接收和反馈数据通过借口进行,借口可以理解成一个数据的通道,建立起客户端和后台数据库联系。常见的借口分为json和xml。json更加简单,常见。
网友评论