zoukankan      html  css  js  c++  java
  • Return of Rich Client

    已经记不清从什么时候开始,B/S已经成了我们开发的系统里面最主要的程序模型,在网络浪潮的冲击下,传统的Windows程序所面临的一些问题(部署困难、升级困难、维护困难、安全问题)使得基于Web的系统大行其道,一下子,几乎只要有可能,所有的系统都开始采用B/S开发。当然,Windows程序在某些场合也是不可能被替代的(就像CSDN里面有人反驳的那样,PhotoShop永远别想做成B/S的模样),但的确更多的系统采用了Web架构。

     

    这篇Blog里面,引用了一项很有意思的数据。www.asp.netwww.windowsforms.net这两个站点分别是微软的WebFormsWinForms的官方站点,4/3上午,这两个站点的论坛的统计数据是:

     

    www.asp.net413,687个注册用户,141,522个话题,519,521篇帖子

    www.windowsforms.net4,466个注册用户,4,510个话题,13,458篇帖子

     

    那篇Blog作者分析原因可能是:1、大部分的开发都转向了web,所以大家都想多知道点asp.net的事;2windows程序员们已经有了足够的知识足以开开心心的完成他们的开发了,所以他们没啥问题可问;3www.windowsforms.net的名声远远不如www.asp.net,所以较少人光顾。

     

    但是,在这样的几乎“一边倒”的形式之下,我却渐渐的感到了Windows程序的回归,而且这次回归,“杀回来”的已经不仅仅是过去老样子的Windows Application了,而是装备更精良的、表现形式更丰富的、实现方式更多的各种各样的Rich Client

     

    1JavaScript + XMLHTTPBindows + Janc

     

    我个人认为这是一对非常好的伙伴,结合起来,可以完成我们想象不到的非常Cool的应用,JavaScript用于客户端界面的显示和处理,XMLHTTP用于客户端与服务器的信息传输。

     

    JavaScript在客户端的表现力不容置疑,看看www.bindows.net所表示出来的能力,利用JavaScript几乎可以实现Windows应用程序所能干的大部分事情,而且Bindows提供了一个封装好的可以直接利用的JS类库,省了我们大把的力气。

     

    XMLHTTP一直以来常被用于实现“无刷新”的Web页面,它和JavaScript配合,可以完成数据从服务器和客户端的传输。JancLostinet实现的一套.NET类库,完整的封装了服务器端XMLHTTP接口,程序员不需要了解XMLHTTP的细节,就可以编写自己的XMLHTTP应用系统。(Lostinet好像在做Janc的下一个版本,叫做Rane

     

    想想,用Bindows构建客户端的显示界面,而与服务器的传输用Janc来实现,岂不是天作之合?Web系统原有的界面交互性差、页面刷新等问题都可以很好的解决。

     

    2Smart Client + WebService

     

    从这次的DevDays04,可以看到微软正在越来越重视WinForms。现在微软把新一代的WinForms程序称为Smart Client(开始我看到这个名字也认为是手机、PPC等移动客户端),它更好的解决了传统的Windows程序原有的部署(用ClickOnce可以很好的PublishWeb服务器、FTP服务器、局域网共享目录等地方)、升级(自动的版本检测、下载、更新)、安全等问题。其实.NET很早就提供了类似的功能,比如Updater Application Block很早就出来了。

     

    Smart Client加上WebService,不但给用户更丰富的界面体验,而且和网络有了更好的交互性,即使在Offline的时候,也可以利用缓存来继续为用户服务。

     

    Smart Client面临的最大的问题,仍然是现阶段.Net Fx在客户端的安装问题,即使只是一个20M的分发包,有时候要说服客户安装也不是一个简单的问题。

     

    3Avalon + Indigo

     

    Yes!在将要到来的Longhorn时代,WebFormsWinForms终于融合在了一起。AvalonXAML)构建的客户端,加上Indigo的通讯架构,将带给我们前所未有的软件使用体验。

     

    4、其他

     

    虽然Java刚刚出现的时候,Applet被当作一项主要技术被大力宣传,但现在的确应用已经越来越少了。Java WebStart好像现在是被SUN大力推广的一项Rich Client技术(对Java不了解,不敢随便乱说)。

    后记:
    在写完上面的文字并发布以后,随手打开了CSDN的文档中心,然后立刻发现了一篇观点和上面文字一致的文章,
    《迎接Client/Server模式的回归》,并从这篇文章里面找到了另一篇文章的链接,《Back to the Future with Smart Clients》。感觉是:1、天哪,我真的没有抄袭...2、看来有这个想法的不是只有我一个人...

  • 相关阅读:
    【MySQL】GTID小结
    MongoDB副本集--Secondary节点实例恢复
    【linux】glibc升级
    001.LVM简介
    008.FTP单独虚拟用户
    007.FTP虚拟用户访问
    006.FTP用户访问控制配置
    005.FTP本地用户访问
    004.FTP匿名用户访问
    003.FTP客户端连接
  • 原文地址:https://www.cnblogs.com/kaneboy/p/2436744.html
Copyright © 2011-2022 走看看