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