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