bs與cs未來發(fā)展的趨勢
文章出處:http://w56ti4.cn 作者:興邦開發(fā)部 人氣: 發(fā)表時間:2016年04月05日
從C/S到B/S,軟件開發(fā)模式的變遷 上個世紀后期,C/S結(jié)構(gòu)是最為流行的軟件系統(tǒng)體系結(jié)構(gòu)。但是,自從Internet誕生之后,更多的軟件應(yīng)用系統(tǒng)體系結(jié)構(gòu)開始向B/S結(jié)構(gòu)轉(zhuǎn)變。 在C/S結(jié)構(gòu)下,大多數(shù)的企業(yè)管理軟件,采用的均是傳統(tǒng)開發(fā)工具Visual Basic(VB)和Delphi代碼,或者是Power Builder(PB)代碼,即第四代語言代碼。 隨著Internet時代的到來,大多數(shù)的管理軟件開始轉(zhuǎn)向B/S結(jié)構(gòu)。如何從C/S平穩(wěn)過渡到B/S,之前并沒有更好的解決方案,大多數(shù)的企業(yè)開始徹底放棄VB、PB開發(fā)的代碼,轉(zhuǎn)而采用C/S結(jié)構(gòu)下的Java語言重新來寫。雖然不會出現(xiàn)問題,但是需要重新投入資本、人力,甚至需要增加更多的培訓(xùn)機會。
代碼移植的演變
在20世紀70和80年代,代碼移植最主要的目的是將程序移植到不同的系統(tǒng)環(huán)境下運行?D主要是處理器和操作系統(tǒng)。由于市場上的硬件和操作系統(tǒng)呈現(xiàn)多樣化和均衡化的狀態(tài),因此,一個重要的程序往往需要考慮兩個甚至更多的系統(tǒng)環(huán)境。 1990年,Windows 3.0發(fā)布。基于窗口、按鈕、圖標和鼠標的圖形界面(GUI),迅速征服了全世界個人計算機用戶。將原有DOS字符模式下的應(yīng)用程序移植到GUI環(huán)境,成為眾多用戶和軟件開發(fā)商的迫切需求??梢暬幊讨饾u成為GUI下,軟件開發(fā)的主流。 在4GL(第四代語言)開始大行其道之后,新一輪代碼移植的潮流再度興起。此時的重點是將結(jié)構(gòu)化邏輯在GUI下實現(xiàn),把過去結(jié)構(gòu)化代碼中的制作界面部分剝離,并把邏輯部分附著在各個對象事件之中,通過操縱對象行為,完成整個應(yīng)用的代碼移植。
可視化編程在Web時代的瓶頸
Internet的飛速發(fā)展給4GL編寫的GUI程序提出了新的挑戰(zhàn)。這些程序大都基于C/S結(jié)構(gòu)下,這種模式在局域網(wǎng)里將應(yīng)用一分為二,服務(wù)器負責(zé)數(shù)據(jù)管理,客戶機完成與用戶的交互任務(wù)。C/S結(jié)構(gòu)下軟件具有強壯的數(shù)據(jù)操縱和事務(wù)處理能力,以及數(shù)據(jù)的安全性和完整性約束。但隨著企業(yè)規(guī)模的日益擴大,應(yīng)用程序的復(fù)雜程度不斷提高,C/S結(jié)構(gòu)逐漸暴露出了缺點。比如開發(fā)成本較高,用戶界面風(fēng)格不一、使用繁雜、不利于推廣使用,維護復(fù)雜、升級麻煩等。 為了解決C/S結(jié)構(gòu)的不足,基于Internet的B/S技術(shù)應(yīng)運而生,它是有計算技術(shù)以來最穩(wěn)定的技術(shù)平臺。本質(zhì)上B/S也是一種客戶機技術(shù),用戶只需通過瀏覽器這個統(tǒng)一界面,就可享受到無限豐富的、永遠在不斷變化和發(fā)展著的信息服務(wù)。而通過這種結(jié)構(gòu),原則上取消了管理員所有在客戶機端的維護工作。 在C/S向B/S轉(zhuǎn)移的過程中,開發(fā)者遇到了極大的困難。因為代碼的移植已經(jīng)不再是過去的簡單語法轉(zhuǎn)換,而牽涉到各種對象的映射。
在結(jié)構(gòu)化編碼時代里,無論是對一種語言不同方言之間的移植,如從Turbo C到GNU C,還是對不同的高級語言之間的移植,如Turbo Pascal到Turbo C,源語言和目標語言均遵循著相同的結(jié)構(gòu)。源代碼的轉(zhuǎn)換,更多的是基于一個標識符對照表來完成。 使用4GL開發(fā)的C/S程序是對象的集合,代碼從屬于對象。在相同或者類似的界面下,不同開發(fā)工具使用的對象,提供給開發(fā)者的接口可能完全不同。如果使用Java或者.NET重寫原有C/S程序,意味著開發(fā)者必須將界面上所有元素逐個將其屬性、參數(shù)表、事件用新的開發(fā)工具重新編寫。 難越的自動化遷移之路 不管網(wǎng)絡(luò)泡沫如何演變,Internet始終是難掩的潮流。在國外軟件市場,大多數(shù)大型企業(yè)管理軟件已經(jīng)是B/S結(jié)構(gòu),或者正處于C/S結(jié)構(gòu)向B/S結(jié)構(gòu)的過渡時期。國內(nèi)的大多數(shù)軟件企業(yè)也已經(jīng)開始向B/S結(jié)構(gòu)轉(zhuǎn)變。B/S結(jié)構(gòu)下的大型管理軟件,勢必是未來幾年內(nèi),管理軟件市場的主流軟件。 要解決現(xiàn)有C/S應(yīng)用低成本、快速移植到B/S結(jié)構(gòu)下的應(yīng)用的困境,則必須要解決自動且精確的GUI移植、自動的語法邏輯移植、方便的服務(wù)器端調(diào)試和發(fā)布。
C/S和B/S各有優(yōu)勢,C/S在圖形的表現(xiàn)能力上以及運行的速度上肯定是強于B/S模式的,不過缺點就是他需要運行專門的客戶端,而且更重要的是它不能跨平臺,用c++在windows下寫的程序肯定是不能在linux下跑的。而B/S模式就不同了,它不需要專門的客戶端,只要瀏覽器,而瀏覽器是隨操作系統(tǒng)就有的,方便就是他的優(yōu)勢了。而且,B/S是基于網(wǎng)頁語言的、與操作系統(tǒng)無關(guān),所以跨平臺也是它的優(yōu)勢,而且以后隨著網(wǎng)頁語言以及瀏覽器的進步,B/S在表現(xiàn)能力上的處理以及運行的速度上會越來越快,它的缺點將會越來越少。比如,未來的HTML5,在圖形的渲染方面以及音頻、文件的處理上已經(jīng)非常強大了。