独立应用程序与网络应用程序之间的技术差异
问题描述:
我正在重新定义我之前的问题,这个问题是我的高级工程师提出的,他不相信我的回答.问:设计网络托管应用程序"和可下载的独立应用程序"之间的技术区别是什么,例如.写HTTP层编码等
I am reframing my previous question, this question was asked by my senior engineer, who wasnt convinced with my answer. Q: What is the technical difference between designing a 'web hosted application' and a 'downloadable stand alone application' eg. wrt HTTP layer coding etc.
答
从广义上讲,Web 托管应用程序依赖于以下架构特性:
Broadly speaking, web hosted applications rely on the following architectural features:
网络应用
- UI 在客户端计算机上呈现,使用专用客户端(也称为 Web 浏览器)
- 客户端计算机上的 UI 功能仅限于 Web 浏览器(包括插件)支持的功能.程序员通常没有能力在客户端上实现任意功能,而必须在客户端支持的能力范围内工作.
- 业务逻辑和数据存储不在客户端机器上(一般来说,可能会有有限的例外).而是由一台或多台服务器承担这些架构角色.
- 客户端和服务器之间的通信使用标准化的网络通信协议 (HTTP).
独立应用
- 独立应用程序有大量不同的架构.有些可能与 Web 托管应用程序非常相似;其他的则完全不同.
- 程序员可以完全控制用户界面(在操作系统的能力范围内并支持多种 UI 框架).
- 业务逻辑层和数据层可能位于同一台机器或远程服务器上.
- 如果解决方案中涉及一台或多台远程服务器,则可以选择多种不同的远程通信协议.不需要通过 TCP/IP 使用 HTTP(事实上,通常会选择更高效的协议).