### 一:命令行
比如Unix设计原则是:让每一个命令完成一件简单的功能,然后通过这些命令的组合,来完成一些复杂的事情。每一个命令都很简单,但是非常的快速和高效。并且这种模式对计算机硬件的要求也比较低。
### 二:GUI
GUI时代,开始有了图形界面,跟人的交互变得非常的直接,界面也非常的漂亮,生动。交互方式也从传统的键盘输入转向鼠标操作为主。正是由于这种交互的简单化,才使得个人PC的普及。
### 三:CS
例如早期的FTP,就是这种模式。缺点是开发难度大。
### 四:BS
建立了浏览器的标准,定义了HTTP规范。应用程序开发变得更加的标准,跨平台能力更强。应用程序升级或者修改BUG变的简单,可能就是在服务器修改JS和HTML代码,就可以及时生效。
### 五:移动设备
移动设备的普及,人们的要求越来越高,PC操作已经不能完全满足客户需求,人家想通过手机随时随地访问应用程序。
#### 三种主流开发模式:
Native App:使用厂商提供的原生的gdk文件开发,效率高,功能强大,但是手机本地的存储有限。
Hybrid App:混合使用Native App和Web App模式。
Web App:web开发适配手机访问,借助手机浏览器访问。运行效率可能低一些,由于浏览器的兼容,一些功能可能无法使用。
一般建议采用的模式为:本地的功能,通过Native App的方式开发,需要做的一些存储和计算,在本地不能满足的话,放到云端来实现,通过云端的REST API来调用。