鸿蒙架构师修炼之道-B/S与C/S架构

张开发
2026/5/30 11:26:58 15 分钟阅读
鸿蒙架构师修炼之道-B/S与C/S架构
在IT技术领域B/S架构和C/S架构是两种常见的软件系统架构模式。B/S架构B/S架构Browser/Server浏览器/服务器架构是一种以浏览器作为客户端服务器作为服务提供端的软件架构模式。在这种架构中用户通过浏览器向服务器发送请求服务器处理请求后将结果返回给浏览器进行显示。其基本结构主要由浏览器、Web服务器、应用服务器和数据库服务器组成。浏览器负责呈现用户界面接收用户输入Web服务器用于处理HTTP请求将请求转发给应用服务器应用服务器执行业务逻辑处理数据库服务器则负责存储和管理数据。B/S架构的工作原理是用户在浏览器中输入网址或点击链接浏览器根据输入的信息生成HTTP请求并将请求发送到服务器。服务器接收到请求后根据请求的内容进行相应的处理如从数据库中获取数据、执行特定的业务逻辑等。处理完成后服务器将结果以HTML、CSS、JavaScript等格式组装成网页再通过HTTP响应发送回浏览器。浏览器接收到响应后对网页进行解析和渲染将内容展示给用户。日常大部分通过浏览器来访问的系统都是B/S架构的系统。比如我们在浏览器访问淘宝、京东等网站进行购物这些网站就是B/S架构的系统。B/S架构特点如下。易于部署和维护用户只需通过浏览器访问系统无需在本地安装专门的客户端软件方便快捷。对于软件的更新和维护只需在服务器端进行操作用户下次访问时即可使用最新版本大大降低了维护成本。跨平台性强只要有浏览器和网络连接用户可以在不同的操作系统和设备上访问系统如Windows、Mac、Linux以及各种移动设备等具有很强的兼容性。安全性相对较低由于所有数据和业务逻辑都在服务器端处理浏览器与服务器之间的通信可能存在安全风险如网络攻击、数据泄露等。需要通过加密技术、身份验证等手段来增强安全性。对服务器性能要求较高大量的用户请求都需要服务器进行处理和响应当并发用户数较多时可能会对服务器的性能造成较大压力需要服务器具备较高的处理能力和可扩展性。C/S架构C/S架构Client/Server客户端/服务器架构是一种将软件系统分为客户端和服务器端两部分的架构模式。客户端安装在用户的本地设备上负责与用户进行交互收集用户输入并展示服务器返回的结果服务器端则负责提供数据存储、业务逻辑处理等服务为客户端提供支持。其基本结构包括客户端应用程序、服务器和数据库。客户端应用程序通过网络与服务器进行通信服务器与数据库进行数据交互。C/S架构的工作原理是客户端应用程序在本地运行用户通过客户端界面进行操作客户端根据用户的操作生成请求并将请求发送到服务器。服务器接收到请求后进行相应的处理如查询数据库、执行特定的业务逻辑等。处理完成后服务器将结果返回给客户端客户端对结果进行解析和展示呈现给用户。日常在手机端大部分通过App访问来使用的系统都是C/S架构的系统。比如我们在淘宝App、京东App进行购物这些App就是C/S架构的中的客户端部分。当我们希望在鸿蒙系统上设计开发一款鸿蒙App的时候这个App也是客户端。C/S架构特点如下。性能较好由于部分业务逻辑和数据处理可以在客户端进行减少了与服务器的交互次数因此在处理一些复杂的业务逻辑和大量数据时性能相对较好响应速度较快。安全性较高客户端和服务器之间的通信通常采用专用的协议相对HTTP等协议更安全。并且数据可以在客户端进行一定的加密处理提高了数据的安全性。用户体验好客户端应用程序可以根据用户的操作习惯和需求进行定制化设计提供更加丰富和流畅的用户界面和交互体验如本地缓存数据、离线操作等功能。部署和维护成本高每个客户端都需要安装和配置软件当软件更新时需要逐个客户端进行升级部署和维护工作较为繁琐成本较高。跨平台性差通常情况下客户端应用程序需要针对不同的操作系统进行开发和编译如Windows客户端、Mac客户端以及苹果、安卓、鸿蒙等APP开发和维护的工作量较大跨平台性不如B/S架构。B/S架构和C/S架构各有优缺点在实际应用中需要根据具体的业务需求、用户群体、技术特点等因素来选择合适的架构模式。富客户端技术富客户端技术是一种用于构建富互联网应用Rich Internet ApplicationsRIA的技术它集成了桌面应用的交互性和传统Web应用的部署灵活性与成本效益旨在为用户提供更高和更全方位的网络体验。富客户端技术通过提供一个运行时的环境承载被编译的客户端应用程序这些应用程序通常是通过HTTP协议发布的文件。富客户端技术具有如下特点。丰富的用户界面富客户端应用程序能够提供类似于本地桌面应用的丰富、动态的用户界面。它支持复杂的布局、动画效果、拖放操作、实时数据验证等高级交互特性使用户操作更加直观和便捷。比如一些富客户端的绘图软件用户可以像使用本地的专业绘图工具一样进行自由的图形绘制、编辑和特效添加具有非常流畅和自然的操作体验。本地处理能力富客户端具备在本地执行部分计算和数据处理的能力。它可以在客户端设备上缓存数据、执行脚本和业务逻辑减少与服务器的交互次数提高响应速度和运行效率。例如在离线地图应用中用户可以提前下载地图数据到本地在没有网络的情况下依然能够进行地图浏览、路径规划等操作这些计算和处理都在本地完成。异步数据交互富客户端采用异步数据传输技术允许在不刷新整个页面的情况下与服务器进行数据交互。这使得用户在进行数据提交、查询等操作时页面能够保持当前状态不会出现整体刷新导致的页面闪烁和中断提高了用户体验的连贯性。比如在在线表单填写应用中用户可以实时提交表单数据进行验证而无需刷新整个页面验证结果会即时反馈给用户。跨平台兼容性通过使用一些跨平台的技术框架富客户端应用可以在不同的操作系统和设备上运行具有较好的跨平台性。例如基于HTML5、JavaScript和CSS等技术开发的富客户端应用可以在Windows、Mac、Linux以及各种移动设备的浏览器中运行无需为每个平台单独开发。在B/S架构中富客户端技术的实现方式有以下几种。HTML5技术HTML5为富客户端应用提供了丰富的功能支持如Canvas绘图、本地存储、Web Workers多线程处理等。通过Canvas可以实现复杂的图形绘制和动画效果本地存储可以将大量数据存储在客户端本地方便离线访问Web Workers则允许在后台执行脚本不影响页面的交互响应。JavaScript框架像Angular、React、Vue.js等JavaScript框架为构建富客户端应用提供了强大的工具和架构支持。它们采用组件化、数据驱动的开发模式使得开发人员能够更高效地创建复杂的用户界面和交互逻辑提高代码的可维护性和可扩展性。Flash技术虽然Flash的应用逐渐减少但在过去它是实现富客户端应用的重要技术之一。Flash能够提供丰富的多媒体展示和交互功能常用于制作动画、游戏、在线视频播放器等富客户端应用。Microsoft Silverlight是一种融合了微软的多种技术的Web呈现技术。它提供了一套开发框架并通过使用基于向量的图像图层技术支持任何尺寸图像的无缝整合。Silverlight使开发设计人员能够更好的协作有效地创造出能在Windows和Macintosh上多种浏览器中运行的内容丰富、界面绚丽的Web应用程序。简而言之Silverlight是一个跨浏览器、跨平台的插件为网络带来下一代基于.NET媒体体验和丰富的交互式应用程序。由于HTML5技术比较成熟了导致微软在2021年已经停止支持Silverlight官方网站时也不再提供下载。JavaFXJavaFX是一种用于构建富客户端应用的Java技术框架它提供了丰富的图形界面组件和动画效果能够开发出功能强大、界面美观的跨平台应用程序适用于开发各种类型的桌面应用和企业级应用。富客户端技术的应用场景如下。在线办公软件如Google Docs、腾讯文档等用户可以在浏览器中进行文档编辑、表格制作、幻灯片演示等操作具有与本地办公软件相似的功能和操作体验同时还能实时保存和共享文档。在线游戏许多网页游戏采用富客户端技术能够在浏览器中呈现出精美的游戏画面和流畅的游戏操作用户无需下载庞大的游戏客户端通过浏览器即可快速启动游戏。企业级应用在企业内部的管理系统、客户关系管理CRM系统、项目管理系统等应用中富客户端技术可以提供丰富的交互功能和高效的数据处理能力满足企业用户复杂的业务需求。参考引用加入鸿蒙生态共建万物互联。以下是鸿蒙应用开发常用教程。《跟老卫学HarmonyOS开发》开源免费教程 https://github.com/waylau/harmonyos-tutorial《跟老卫学AI大模型开发》开源免费教程 https://github.com/waylau/ai-large-model-tutorial/《跟老卫学仓颉编程语言开发》开源免费教程 https://github.com/waylau/cangjie-programming-language-tutorial《鸿蒙HarmonyOS手机应用开发实战》清华大学出版社《鸿蒙HarmonyOS应用开发入门》清华大学出版社“鸿蒙零基础快速实战-仿抖音App开发ArkTS版”https://coding.imooc.com/class/843.html《鸿蒙HarmonyOS应用开发从入门到精通第2版》北京大学出版社)《鸿蒙之光HarmonyOS NEXT原生应用开发入门》清华大学出版社)“HarmonyOS NEXTAI大模型打造智能助手APP(仓颉版)”https://coding.imooc.com/class/927.html“HarmonyOS 6 AI应用开发”(https://edu.51cto.com/course/39601.html)《仓颉编程从入门到实践》北京大学出版社《鸿蒙之光HarmonyOS 6应用开发入门》清华大学出版社《鸿蒙架构师修炼之道》北京大学出版社

更多文章