我知道这是一个典型的要求,但仍然是项目的要求。基本上我们希望在服务器上保留屏幕的逻辑和设计。当客户端登录系统时,屏幕会被下载并在客户端机器上运行。最好的例子是 SAP,一切都在中央位置进行控制,用户能够创建和自定义屏幕。我知道像 MVC 或 Click 一旦在 Windows 中部署的 Web 应用程序可以是解决方案之一,但我们可以有任何其他解决方案吗?
1 回答
基本上你描述了一个网络浏览器。
SAP 确实使用了某种花哨的 ui 设计,但这不是出于选择,而是出于历史原因。SAP 已经有了自己的新的(和花哨的)网络版本的视图和应用程序。
今天,这类问题是使用 HTML5/javascript 解决的。你几乎可以做任何你曾经在桌面上做过的事情(从 UI 角度来看)。
您可以创建自己的精美(和高级)视图定义(xml、json、数据库表,选择一个),根据需要存储该定义(数据库、文件等),然后为浏览器生成 HTML/javascript/css做为用户显示内容的工作。浏览器将为您完成繁重的工作:下载文件、解析、编译和运行客户端脚本语言、缓存资源、安全、打印、播放声音和视频......
浏览器是您的瘦客户端,它应用了大量的知识和努力,是近 20 年研究的结果。这是一个经过验证的应用程序,每天由全球成千上万的人进行测试。您的应用程序将在这个世界上支持开放 Web 技术的每一台机器上运行。您已经免费为您开发了客户端。为什么要重新发明轮子?
即使您创建自己的特定方式从服务器运行富 Web 应用程序(您的视图定义、您的 js 生成器...),您也不会重新发明轮子。假设一年后出现了一个惊人的新功能,并且浏览器供应商实现了它。您的应用程序可以从该技术中受益,只需对 HTML/js/css 生成器进行小的(可能是大的)更改。
我看不出为什么要创建一个全新的瘦客户端并抛弃所有开放式 Web 技术的单一原因,尤其是现在所有供应商都遵循标准(IE10 很好)并且(希望)很快我们将不再每个供应商都需要 hack。
最后,如果您不想使用浏览器,您仍然可以使用开放的 Web 技术。awesomium 项目是 webkit 引擎的包装器,您可以在 winforms/wpf 应用程序中使用它,但不受一般浏览器的限制。 http://awesomium.com/