程式人(2015年3月)

4 / 1
  • 語言:繁體中文

繼上期探討了 javascript 前端技術之後,本期我們將焦點放在筆者開發的一個維基型網誌專案 wikidown.js 上,用實際的案例探討如何將前後端結合在一起的方法。

在 wikidown.js 專案中,我們採用了前端的 HTML/CSS/JavaScript 等必要技術,然後用 bootstrap 作為介面以便支持手機類的行動裝置,並用了 showdown.js 這個開放原始碼專案進行 markdown 文件轉為 HTML 的動作,最後再加上 highlight.js 為程式碼區塊加上顏色,還有用MathJax 顯示latex 數學式的功能。

而在 wikidown.js 的後端伺服器部份,則是非常輕量級的,因為我們將所有程式盡可能放在前端,所以後端就只剩下了檔案的讀寫動作。

後端部份採用 node.js 作為伺服平台,然後用 express.js 套件作路徑 (routing) 的比對處理並輸出靜態網站,接著用 [serve-index.js] 套件提供靜態檔案瀏覽功能,於是 wikidown.js 就完成了。

雖然 wikidown.js 看來用到了很多套件,但是事實上整個專案的程式碼非常小,主要包含 wikidown.html 共 200 行,還有 wikiServer.js 共 60 行,可以說是一個超小型專案,但是『麻雀雖小、卻是五臟俱全』阿!

寫了 wikidown.js 維基網誌系統後,我深深地體會到,現在的程式設計是很難獨立建構出整個系統的,我們只有站在開放原始碼的肩膀上,才能做得更快又更好。

就像牛頓的那句名言:『只有站在巨人的肩膀上、我們才能看得更高更遠』,對於程式人而言,那個巨人就是 開放原始碼 ,我們只有站在 開放原始碼 的基礎上,才能做得又快又好阿!

投稿方式
竭誠歡迎程式人投稿,或者成為本雜誌的專欄作家,現在就可以加入 程式人雜誌社團 一同共襄盛舉。

我們最希望的投稿格式是採用 markdown 格式編輯,並將全部檔案壓縮成 zip 之後上傳到社團或寄給編輯。如果無法用 markdown 編輯,任何的稿件只要我們能打開並進行剪貼的,我們都會想辦法編輯後出版。

本雜誌預設用 創作共用:姓名標示、相同方式分享 授權分享,若要採用其他授權方式請於投稿時告知我們。本雜誌編輯為「陳鍾誠 (@ccckmit)」,若要聯絡編輯,請寄信到 ccckmit@gmail.com。

程式人雜誌網頁
http://programmermagazine.github.io/home/

程式人雜誌的臉書社團
https://www.facebook.com/groups/programmerMagazine/

    還沒有人寫書評喔,快來寫第一篇書評吧!

會員中心