1.1 什么是客户端

简介: 1.1 什么是客户端

接上一篇文章,我们今天正式开始第一章-客户端概述 的分享

首先我们来谈谈什么是客户端

说起客户端,我想大家再熟悉不过了,我们平时用的PC机上的各种应用软件,手机上的各种app,这些都是客户端。但如果给客户端一个准确的定义,我想大部分人并不能很好的给出答案。

我们知道,任何一种新事物的出现,新物品的发明创造,都会给它一个合适的名字。举个例子,在古代人类还没有掌握青铜技术时,根本就没有青铜器这个词语概念。当人类开始掌握青铜这种技术时,用它来制造出各种青铜器件,人们就给这些器件命名为青铜器。同样的道理,在客户端出现之前也没有客户端这个名词,当计算机技术开始发展时,为了满足需求,这才开发了客户端。

从计算机技术的角度来看,cpu有着强大的运算能力,想要控制这种能力,就必须要开发出一个工作台来满足需求。就像司机师傅需要一个汽车控制台来操控汽车,飞行员需要飞机驾驶舱驾驶飞机。我们也需要一个控制台来操控cpu进行计算,操控音响播放音乐,操控磁盘存储文件,于是我们有了计算器、音乐播放器、office办公软件等。而这些软件并不是直接与硬件打交道,它们通过操作系统对外暴露的API(Application Program Interface应用程序编程接口)编程开发出来的一款款软件。就像下面的图一样。

01ebd755782e4c909dad0843d3544acf.jpeg

1.1.1 客户端的发展

早期的客户端并不是我们现在看到的图形化方式,而是一个命令窗口,最具代表性的要数dos系统了,它提供了一个命令窗口,在窗口中需要键入dos命令,例如我们熟知的windows查看网络配置ipconfig,而这dos命令窗口就是客户端的雏形。

但是通过命令方式使用计算机需要人们记住各种各样复杂的命令和参数,所以早期的计算机只在专业人员中应用。随着计算机技术的发展,想要让普通人也方便的使用计算机强大的运算处理能力,就需要提供更简单的操作,更丰富的软件来使用计算机提供的能力。嗅觉灵敏的微软从这里看到了商机(实际上是苹果最先引进PC机图形化,只耐没有抓住商机,被微软抢先了),无论任何硬件厂商,如戴尔、AMD、英特尔等都需要一个操作系统来向用户提供计算机服务。windows由此诞生,它向下统一各硬件厂商接口,向上对外提供丰富的api接口,各大软件厂商纷纷跟进,在此windows系统这片土壤上开疆拓土,孵化出各类软件。图形化软件的问世,大大降低了人们操控计算机的难度,这其中尤以office系列办公软件极其出名,为微软打下了赫赫战功。微软也由此抓住了个人计算机的入口而跻身世界顶尖企业。

01ebd755782e4c909dad0843d3544acf.jpeg

windows上的命令窗口

随着互联网浪潮的兴起,个人计算机已经无法满足用户日益增长的需求,呼之欲出的分布式应用,内容提供商(如百度、亚马逊、谷歌)开始登上历史舞台。在这个时候,谁掌握了互联网的入口,谁就是下一个微软,而浏览器正是通向互联网的入口,网景公司,微软,谷歌等先后加入浏览器大战,经市场的多轮洗礼,谷歌异军崛起,一跃成为当今世界顶尖互联网公司。再如当今移动互联网的盛行,安卓ios二分天下,新的互联网的入口已悄悄转移,各类app开始疯狂生长,让人目不暇接。

不管是早期的dos系统,各个版本的windows操作系统,还是安卓、ios,客户端的身影无所不在。如在dos系统上的dos窗口,PC端的各类软件,移动端的各类app,这些都是客户端。如果把计算机、手机、内容提供商、互联网等比作飞速奔驰的列车,那客户端就是我们进入这列列车的入口,是每个人座位前的操控面板,使用它可以享受音乐,可以阅读学习,可以购物消费。

客户端,就是服务商使用操作系统提供的统一接口编写出来的,为用户提供操作界面的一套软件。

客户端是连接服务商与用户之间的一座桥梁,如dos命令窗口是连接计算机底层服务与用户的桥梁,浏览器是连接内容提供商与用户的桥梁,也可以说客户端就是服务商向用户提供服务的操作控制台。


1.1.2 客户端的分类

1) 按运行的操作系统分

可分为windows客户端、linux客户端、ios客户端等,如果你想要做跨平台的客户端,那就需要考虑底层语言的跨平台特性。


2) 按行业分

可分为金融类客户端、制造业客户端、影音娱乐类客户端等,不同行业,产品整个生命周期关注重点有很大的区别,所使用的技术栈,核心人才储备也有很大区别。


3) 按客户类型分

可分为toB类客户端、toC类客户端,这又会在产品设计侧重点上有很大的不同,如toB的客户端更注重于产品的功能能否降本增效。toC的客户端更注重产品体验,让人有眼前一亮的感觉。


其它的分类方式还可按产品功能分、按互联网类型分等等,我就不在这里一一介绍了。我们需要注意的是,这些分类并不是彼此分离的,他们可以相互组合,这为产品定位,技术选型提供有力的依据。

如想要开发一款 跨平台的财务类的toB产品,产品定位会更注重数据保密、准确性这些方面,而降低界面美化上的标准。


下一篇预告:从客户端的定义中进行引申发散,介绍服务环模型


最后,喜欢本文的大家就点个赞吧。

我的公众号会专门更新一些独家干货文章,您可千万不要错过哦

微信号:小豆君编程分享 (关注后,可加入小豆君交流群进行学习交流,也可以和小豆君一对一进行专业咨询哦)

头条号:小豆君编程分享

相关文章
|
7月前
|
网络协议 算法 Linux
服务端如何准备连接
【4月更文挑战第1天】服务端创建套接字涉及`socket()`函数。
|
存储 JSON 网络协议
ElasticsearchRestTemplate客户端使用
ElasticsearchRestTemplate客户端使用
|
5月前
|
前端开发 Java Maven
使用 @GrpcClient 实现客户端
使用 @GrpcClient 实现客户端
71 0
|
7月前
|
存储 JSON 监控
源码分析Zabbix客户端如何向服务端发起请求
源码分析Zabbix客户端如何向服务端发起请求
81 2
|
网络协议 Cloud Native
为什么服务端会有那么多的 TimeWait ?
为什么服务端会有那么多的 TimeWait ?
|
安全 小程序 JavaScript
客户端与服务器
客户端与服务器
97 0
客户端与服务器
|
存储 缓存 关系型数据库
1.6 服务器处理客户端请求
1.6 服务器处理客户端请求
81 0
使用WebSocket实现服务端和客户端的通信
使用WebSocket实现服务端和客户端的通信
95 0
|
NoSQL Java 数据库
dockercompose详解以及何如使用redisDesktopManager客户端
dockercompose详解以及何如使用redisDesktopManager客户端
99 0
|
运维 Java 数据库连接
排除法,先找客户端问题,再找服务端问题
先找客户端问题,再找服务端问题
84 0