Go 語言的主要標的是網頁程式 (web applications) 和雲端服務 (cloud services);可以想成一個比 Node.js 運行環境更高效,比 JavaScript 工程性更好,比 C++ 簡單得多的後端程式語言。 繼續閱讀
本系列文章介紹如何以 Golang 撰寫網頁程式。我們會以標準函式庫為主,再輔以一些社群套件,而不會使用網頁框架。因為 Golang 的標準函式庫中和網頁程式相關的的套件已經相當完整,足以寫出網頁程式,不僅止於 CGI 這類傳統的套件而已。
在本文中,我們透過極簡的 Hello World 程式來熟悉如何用 Go 撰寫網頁程式。根據網頁是否要加密,程式的寫法略有不同,讀者可相互比較一下。 繼續閱讀
網頁程式基本的行為是對請求進行相對應的回應。對不同的路徑有不同的行為。本文說明在 Golang 網頁程式中設置路由的方法。 繼續閱讀
當我們使用網頁框架寫程式的時候,這些框架通常都內含系統紀錄 (logging) 的功能。但使用 Golang 的標準函式庫寫網頁程式時,系統紀錄並不是內附的功能。在本文中,我們會介紹如何在網頁程式中加入系統紀錄的套件。 繼續閱讀
我們先前的範例皆回傳純文字頁面,但實務上我們會回傳 HTML 頁面給使用者觀看,或是回傳 XML (或 JSON) 文件來傳輸資料。本文說明在網頁程式中加入 HTML 頁面的方式。 繼續閱讀
在網頁程式中使用模板語言可以簡化生成網頁的任務。透過模板和資料的結合,我們可以動態地用程式產生頁面。Golang 內建的模板語言位於 html/template,可以在網頁程式中直接調用。 繼續閱讀
Golang 模板可以使用佈局 (layout);所謂的佈局是模板中共用的部分,我們將共同的部分抽出來,以後如果要修改時只要修改一個地方即可,維護程式碼比較方便。 繼續閱讀
對於 Golang 網頁程式來說,CSS 樣式表和 JavaScript 命令稿是靜態資源;因為 Golang 網頁程式不會處理這些資源,而會將其原封不動地傳到客戶端。本文的重點即是學習如何在網頁程式中掛入靜態資源。 繼續閱讀
有些網頁程式其實不需要後端程式就可以運作,這時候的網頁程式的部分會以 JavaScript 來實作。對於純前端網頁程式來說,Golang 的角色其實只是用來託管靜態資源和管理網頁模板。我們以實例來看這種型態的網頁程式。 繼續閱讀
每傳送一次 HTML 表單就要重刷一次頁面,對於使用者體驗來說不是很好。近年來的網頁程式,會充份利用 Ajax 的特性,以非同步的方式傳接資料,再利用 JavaScript 程式動態改變使用者介面。在本範例程式中,我們以 Ajax 重構先前文章介紹的 TODO 清單程式。 繼續閱讀