delphi 可以做SMARTCLIENT的程式嗎?有沒有學習資料呀?謝謝
uj5u.com熱心網友回復:
你所指的SmartClient具體是什么,有什么功能,單單從字面理解,范圍比較廣。uj5u.com熱心網友回復:
在當今的企業計算領域,各種大型商用軟體系統、辦公系統層出不窮,但是呈現出一個共同的趨勢,那就是逐步向互聯網靠攏,以互聯網為默認的運行環境。傳統的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實作報表列印;
uj5u.com熱心網友回復:
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技術能力所不能及之處。
uj5u.com熱心網友回復:
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物件的高性能,在這里有著完美的演繹.
uj5u.com熱心網友回復:
這個怎么說呢,D其實玩的精通了,感覺功能也很強大了。Delphi 里面直接寫匯編代碼都沒問題, SmartClient 應該也可以做了
但是貌似.NET平臺更適合些~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/103133.html
標籤:VCL組件開發及應用
