web軟體開發難在哪裡(相比案頭軟體)

來源:互聯網
上載者:User

標籤:phi   server   swt   技術   組件   text   asc   表現力   軟體   

首先,我認為WEB軟體的開發是比案頭軟體更為複雜的. 起碼,開發方式遠遠不理想.

案頭軟體的模組化, 組件化已經相當成熟,比如當年的VB delphi 後來的visual c#  ,java+ swt ,c++ QT.  而WEB開發,到目前為止都沒有特別理想的組件化開發機制.

為了實現改善WEB軟體開發,業界做了許多嘗試.

2002年1月16日asp.net 1.0發布, 當時真是讓人耳目一新, aspx簡直就是用VB的方式來開發web 啊!

Java後來也跟進,推出了JFaces方案, 與aspx相類似 .

2006.05.16 ,google gwt 首次發布!  與aspx不同, gwt的思路是像案頭軟體一樣的方式來開發,完成之後,通過將java代碼編譯成javascript來實現在瀏覽器中運行. 類似的方案還有pyjamas (現在的pyjs)

同一年裡, January 2006, jquery首次發布! 現在回過頭來年這個事情, 可以認為是業界逐漸發現問題在於javascript  !  javascript 的低能,  束縛了人們的手腳 .

The first version of the V8 engine was released at the same time as the first version of Chrome: September 2, 2008.

2008年9月2號, 隨著google chrome瀏覽器的發布, 新的javascript引擎v8 面世. 

v8的面世讓javascript的運行速度大幅提升, 為後來的前端技術革新創造了條件.

順帶說一下, google dart  lang , First appeared‎: ‎October 10, 2011  . 2011年雙十節google推出了dart 語言,當時的想法是使用來替換javascript .

Facebook reactJS  Initial release‎: ‎March 2013 . (2013年3月,Facebook reactJS 首次發布)   reactJS 可以認為是組件化開發的一次重要嘗試. 

然而,時至今日,  我認為還不存在一種開發機制,可以達到delphi之於案頭軟體開發的那種理想程度.

根據本人多年開發web後台系統的經驗,我感覺web比較比較困難的根本原因在於幾點:

1.B/S軟體是一種使用分布式軟體,即軟體的介面 代碼 資料不在同一電腦;B/S軟體基於HTTP協議,而HTTP協議有一個重大特點是 不保持串連 且無狀態.

2.javascript語言的特點以及運行速度,難以支援複雜的軟體開發, 並且別無它選,只能使用javascript .  雖然因為v8引擎,有了大幅改進.

3.html語言本身表現力不路,且不支援擴充. 比如我需要一個datagrid功能,但是並沒有一種直接的方式可以定義一個新的標籤<datagrid></datagrid>

 

重點說一說第一點.  當一個使用者使用瀏覽器開啟一個網頁時,發生了什麼?  簡單地講是這樣的: 使用者電腦的瀏覽器程式, 通過http協議將html描述的介面從遠程伺服器傳輸到本地, 瀏覽器將其渲染成圖形介面展示給使用者並提供互動功能.,

一旦使用者在網頁做了一些操作,則必然有一些資料需要傳輸回伺服器儲存(不然,伺服器端是無法感知到使用者的操作, 互動就沒有完成) 

網頁上的互動就是這樣一個個"來回" 進行的.

我經常會想,如果使用遠端桌面的方式來開發一個系統, 每個使用者在遠端桌面裡開啟一個軟體視窗,那麼軟體開發起來會容易很多! 

為什麼? 因為可以不受html語言束縛,各種桌面視窗組件直接使用.  因為遠端桌面的RDP協議是操持串連因而是有狀態的,如果網速度足夠快,則使用者在遠程與在本地沒有明顯區別.

既然遠端桌面這種方式並沒有成為軟體互動的主流? 原因不難理解: 1網速不允許;2服務端資源無法支撐這種開銷;3.安裝麻煩,遠不如瀏覽器直接開啟方便. 除了這幾個主要原因,4安全性可能也有一些問題.

 

那麼,出路在哪裡呢?  或者說,未來將往什麼方向發展?

這個嘛 ,我不是大師,我不知道.  我想,肯定是現在有的技術比如asp.net jfaces  gwt 繼續發展, 各種前端架構層出不窮, 前端與後端一體化架構會出現(server side:nodejs ), 還得重點關注ES6等javascipt的發展.

 

未完...

web軟體開發難在哪裡(相比案頭軟體)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.