项目开发常识:CS架构和BS架构、API与SDK 、DOM结构
一、CS架构和BS架构
(1)CS架构
C = Client, S = Server。C/S 架构即“客户端-服务器” 架构。这里的“客户端”可以是有 GUI (图形用户界面)的定制软件,也可以是浏览器,甚至可以是通过 SSH 访问服务器的命令行脚本。只要是客户端通过访问服务器调取计算或者存储资源的,统统都是 C/S 架构。
C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。
(2)BS架构
B = Browser,S = Server.。B/S架构即“浏览器-服务器”架构。它是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
所谓的 Browser-Server 架构其实是 C/S 架构的一种特殊的实现形式,而不是其对立面。
二、API与SDK
(1)API (Application Programming Interface),即应用程序编程接口
API就是可以轻松实现和其他软件的交互。通过一套套的要求,用来管理应用程序之间的沟通。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
一个API相当于你跟它说要求,它会为你完成任务。而且你不需要知道它是如何做到的,你只需要问你想要的东西。
(2)SDK (Software Development Kit),即软件开发工具包
通俗来讲就是第三方服务商提供的实现产品软件某项功能的工具包,可用于开发面向特定平台的软件应用程序的工具包。
举个例子,如果你想组装一个模型车或飞机。在构建这个模型时,需要一整套物品去组装。SDK相当于组装它们所需的工具,包括装配说明等等。
(3)API、SDK比较
API和SDK最终实现的功能都是一样的,至于采用哪一种,需要结合对接平台的需求(保密程度,特殊需求、开发成本等等)。
API特点:
优势:API开发成本低,对接比较简单,可以快速验证商业模式和用户体验。
劣势:API会经过对接平台,厂商可以获取对接平台相关数据信息。
SDK特点:
优势:SDK对接后的功能比较稳定,响应速度快,而且对接平台相关数据不会被获取。
劣势:需要开发的环节较多,开发工作量大,对接周期略长。
三、DOM结构
DOM即DOM: Document Object Module, 文档对象模型。我们通过JavaScript操作页面的元素,进行添加、移动、改变或移除的方法和属性, 都是DOM提供的。
它被分为 3 个不同的部分:
- 核心 DOM - 针对任何结构化文档的标准模型
- XML DOM - 针对 XML 文档的标准模型
- HTML DOM - 针对 HTML 文档的标准模型