delphi 可以做SMARTCLIENT的程序吗?有没有学习资料呀?谢谢

解决方案 »

  1.   

    你所指的SmartClient具体是什么,有什么功能,单单从字面理解,范围比较广。
      

  2.   

    在当今的企业计算领域,各种大型商用软件系统、办公系统层出不穷,但是呈现出一个共同的趋势,那就是逐步向互联网靠拢,以互联网为默认的运行环境。传统的Web开发,包括J2EE、Asp.Net、PHP、Struts,乃至构架在各种Web平台上的Ajax技术,都呈现出了不同的产品特色,Web系统的用户感受(User Experience),由最初的纯html为基础的简单Post/Get为主要机理的简单Web UI,到借助JavaScript的有一定交互性(Interactive)的Web UI,到后来的Ajax技术的广泛应用,这一过程体现的大趋势,就是在Web系统中,让用户界面(UI)达到的效果,越来越逼近客户端软件达到的程度,包括:数据传输速度、交互性、界面丰富性。 
    Ajax是刚刚成熟应用的Web技术,代表着Web开发的较高水准,把Web应用的用户体验推向了全面后台异步传输数据的高度,完全杜绝了Web界面数据更新带来的反复刷屏。但是,在纷繁复杂的企业应用中,人们希望实现更加复杂丰富的软件界面,并且软件的使用场景对开发技术有了更苛刻的要求,使得Ajax在企业应用的很多领域,仍然显得力量不足,具体而言,体现在如下几个方面:UI局限于浏览器的能力范围内,很难做出超出HTML对象能力之外的界面效果,尽管一些顶尖Web技术高手,通过拼凑的方法和书写复杂的JS语句,把多个不同的HTML对象粘和在一起,一定程度的模拟出了原先只有在客户端程序中才能达到的界面效果,但是界面的友好性仍然和本地Windows应用程序有较大差距;
    基于JS的Web界面无法实现较高的执行效率,毕竟在浏览器中,一切脚本都是解释执行,其执行效率自然只有编译器语言的十分之一,甚至更低,因而常规的Web技术如果用来实现客户端算法,必将效率低下;
    内嵌在Web中的JavaScript脚本,不能访问本地硬盘、设备,因此也就无法实现离线数据暂存,也不可能直接操纵API实现报表打印;
      

  3.   

    Ajax的机理都是围绕着浏览器的XMLHttpRequest对象,而其数据的取得、解析都是通过复杂的JavaScript来完成的,所以,目前的各种Ajax开发包都无法做到彻底的便捷,从而需要开发人员详细的了解整个Ajax的数据处理过程;
    为了弥补上述的不足,Web开发领域涌现出了Rich Internet Application(RIA)的理念,就是,系统首次运行的时候,需要下载安装一个容器环境,通过安装浏览器客户端的扩展插件来扩展浏览器的能力,進而实现常规Web界面根本无法实现的UI,做出异常复杂的Web界面。目前常见的RIA技术解决方案包括: Adobe的Flash/Flex、MS的Silverlight、Sun的Java Applet、正阳公司的Appeon、以及CBX框架。虽然都是RIA解决方案,但是这些技术方案的侧重点是不同的。Flash和Silverlight是侧重媒体呈现的,主要侧重于页面的视觉听觉特效的表现;Java Applet则是应用于通用Web扩展开发;而Appeon、CBX则是面向商用开发和企业应用。在其中,CBX框架有着自己的鲜明特色。目前企业应用开发领域有着大量的Web程序开发的需求,非常需要适用于企业应用开发的RIA框架,可是,适用于企业开发需求的可选技术方案却少得可怜。深圳的正阳公司正是针对这个需求,开发了一套基于PowerBuilder编程环境的RIA技术构架Appeon,将强大的Data Window 搬到了Web中,使得RIA的理念在企业领域得到了很好的应用。而今天我们的CBX框架,正是针对了这种类似的应用场景,充分吸取了Appeon的长处,摈弃其短处,推出了基于Delphi 7的、但功能更为强大的企业应用领域RIA技术方案。CBX具体是什么呢?CBX具体而言,是一套RIA构架的开发框架和解决方案,它属于众多RIA解决方案的一种,它的价值在于,能够将Delphi开发桌面程序的技术,用来开发运行在Web/互联网的应用,同时,实现了一系列的互联网自动部署功能,并完美的内嵌在了IE中。 
    RIA解决方案有3大核心要素:客户端运行容器(宿主在特定浏览器)
    服务器端部署环境
    开发环境
    CBX是一个完备的RIA应用开发框架,它充分的具备了这三大要素,包含:浏览器ao运行容器插件;宿主在IIS的应用服务器兼部署服务器;以Delphi 7为基础扩展而来的强大开发环境。 
    CBX的价值在于:能够将Delphi7开发桌面应用的强大能力搬上了浏览器,远远超越基于Html乃至Ajax技术的Web开发技术的能力范畴,它意味着:几乎所有的VCL控件都能直接用使用在Web客户端中;几乎所有的Windows API都可以在客户端调用;客户端代码执行效率达到了C++的级别; 能使用客户端电脑的所有硬件资源。
    具备一个简约而高效强大的服务器容器环境,能够用Delphi Midas的开发模式开发高效率的、能够穿透防火墙、在互联网上运行的应用服务器,天然集成无状态中间层业务对象的机制,系统层次简捷健壮,充分体现了三层构架的高性能,将三层构架系统的特性发挥到了极致;
    CBX具备高度开放的访问接口,天然面向和各种Web系统交互和集成,诸如:JSP、ASP、ASP.Net、PHP乃至静态html网页,开发者不仅可以将CBX模块自如的嵌入到纯Web系统中,而且还能通过灵活的接口和CBX对象交互,让CBX充当各种纯Web构架方案的强有力补充,弥补纯html技术能力所不能及之处。
      

  4.   

    CBX与其他RIA技术方案对比如下:从这个表格我们可以对比一下不同的RIA解决方案的不同特性。我们可以看到,CBX框架在其中,最大的弱点就是跨平台性(单一针对Winodws/IE平台),除此之外,都是强项。CBX框架有一个强有力的优势,就是它传输企业数据的超高性能。众所周知,所有的Web Service/Soap和Ajax,其传输数据的格式都是XML格式,而这种数据包是一种非常松垮的数据包。CBX框架中,ao和中间层对象之间的通讯,采用了RemObject的Bin-http协议,数据包本身是采用紧缩格式,大大优于XML格式,同时还对数据包作了zip压缩,这样一来,同数据量的数据包,CBX传输的体积只有xml的1/4到1/6,因而,数据传输速度是soap或ajax的4到6倍,这一点,远远胜过其他的RIA解决方案,这对网络环境相对复杂的国内来说,是非常宝贵的特性,能够极大提升系统在互联网上的表现。 
    CBX框架是少有的把RIA理念和Multitier理念相结合的技术解决方案。在CBX框架平台下,不仅有自动化部署客户端对象的机制,而且还有一个服务器端容器平台,能够让开发者以Delphi Midas的方式编写服务器模块,功能强大,开发却非常便捷。无状态Pooling对象的高性能,在这里有着完美的演绎.
      

  5.   

    这个怎么说呢,D其实玩的精通了,感觉功能也很强大了。
    Delphi 里面直接写汇编代码都没问题, SmartClient  应该也可以做了
    但是貌似.NET平台更适合些~