一、客户端技术
1、客户端是指普通用户使用的终端
2、Android系统:
(1)基于linux开发,在应用开发层使用Java语言进行开发。所有代码开源,各个厂商可以深度定制,但是由于型号差异太大,需要对多种屏幕进行适配。
(2)开发工具eclipse、Android studio
(3)控件view、button、textview、editview、imageview、textview、gridview等
(4)android应用打包及发布:android应用开发完成后,需要被打包成一个扩展名为apk的文件,打包时需要使用特殊的签名文件为这个安装包签名;发布Android应用是个体力活,因为android应用系统有上百个,更新版本也要在上百个应用系统上更新。
2、IOS系统:
(1)基于unix的操作系统,使用苹果自家的开发语言objective-c和swift开发;ios系统是闭源系统,统一版本以保障苹果软件生态完整性。
(2)控件uiview、uibotton等。
(3)iOS应用打包及发布:通过Xcode完成,上传app store后需要等待苹果审核人员对应用进行测试和审核,一般为一周左右;也可以发布内部测试版本,苹果开发者证书分为个人开发者、公司开发者、企业开发者
3、web网页:由HTML、CSS以及动态交互技术组成的web前端技术
二、服务端技术
1、接口:
(1)定义数据传输的规则叫接口,每个接口都处理一个功能逻辑
(2)数据接口构成通常是key-value的形式,也就是键值对,键代表某一个数据字段所表达的意思;值是这个数据字段的内容
(3)两种常用的数据接口结果jason和xml
2、开发语言:
PHP和Java(常用的Java开发平台JavaEE)、node.js;还有以python为主的服务端技术和以C#语言为主的asp.net等多种服务端技术
3、服务端技术比起客户端技术,要求更高、难度更大
4、服务端的基本架构

(1)服务端被叫做云端,云服务器指物理机房托管在第三方,而不用自建机房;每个机房由应用服务器、数据库服务器、交换机、网络端口和外网光缆构成。
(2)负载均衡服务器:将同时进来的大量访问请求根据应用服务器的忙碌程度进行动态调度。
(3)API服务器:根据不同的客户端请求进行相应的业务逻辑处理,并将处理完的结果返回给客户端。
(4)数据库服务器:运行后端数据库,会有多台数据库服务器同时运行,为了数据的安全性,在多台数据库服务器上存储同一份数据
(5)上线:开发完的系统部署到公网服务器上;传统互联网时代需要自建机房,机房还需要备用电源和冷却系统,如果服务器压力过大会出现温度上升导致服务器宕机和损坏
(6)运维:对服务器的整体维护和优化
三、服务端和客户端交互模型

网友评论