golang之web

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。大多數程式設計語言之上的 Web 開發架構都是遵照 MVC 的處理流程去開發 Web 應用程式:Model 部分封裝資料,Controller 部分處理商務邏輯,View 部分植入變數填充模板頁面。而大部分 Web 架構關於 MVC 的三部分都是在 Server-side 處理,比如對 View 部分的處理都是在 Server-side 通過程式動態對模版變數求值後再拼接組裝成 HTML 頁面輸出給瀏覽器去呈現。而 Go 開發 Web 應用程式,並不依賴任何 Web 開發架構,用內建的標準庫就可以輕而易舉地實現:比如使用 net/http 標準庫就可以數行代碼構建一個完整的 Web 骨架應用;再比如,通過關鍵字 struct 封裝一個資料結構就可以表達原本 MVC 架構中需要用厚重的 ORM (Object-Relational Mapping) 才能表達的那部分。大道至簡,這可以說是 Go 的哲學。在 View 這一層,Go 也有相應標準庫提供支援,但更推薦的做法,是當下比較流行的 MVVM (Model-View-ViewModel):Server-side 只輸出 JSON,瀏覽器 DOM 作為 View 層,前端 JavaScript 充當 Contoller 部分;這樣,不僅減少了 Server-side 的資源消耗還有中間傳輸的網路流量,而且前端可以更靈活和更豐富,後端也可以更輕盈和更高效,也更有利於項目的分工和協作。 而 Go 對 JSON 的產生和輸出,有資料測試表明異常高效(在 i7-2600K 處理器上針對所有程式設計語言包含開發架構總計約100個測試對比中,Go 的效能指標穩居第一,詳見:http://t.cn/RvZHyKI)。以我個人喜好之見,後端用 Go 前端用 AngularJS 可以說是現今流行 MVVM 方式的 Web 開發之絕唱組合。所以,如有疑問 Go 適不適合用來做 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.