Erlang 網頁開發的 framework : Nitrogen

下載了 Windows 版的 Nitrogen 來用用,發現原來是用 Erlang 內建的 inets 來做。其他作業系統的 Nitrogen 有做出一些用到別的 server 環境像 YAWS 那種的安裝版。 ( Web server 方案選擇上的建議:照理說,要考慮要不要用 Erlang/Nitrogen 方案是不是能跟現行的 IIS, Apache 等量齊觀,不過,回想一下很多人開始使用 IIS 或 Apache 的時候,可是什麼都沒想過啊。所以,如果舊的東西可以用用看,新的東西也可以用用看。 )

看到 Nitrogen 網站的 tutorial 投影片 ( nitrogenproject.com/dooc/tutorial.html ) 裡頭提到一個 page 就是一個 Erlang 的 module ,會心一笑一下, ASP.net 也是說一個page 是一個類別。不過 Nitrogen 真的很像 ASP.net 嗎?看看內容似乎還不夠像。而一樣的是, Nitrogen 跟 Erlyweb 一樣是會用 Erlang 裡頭的東西來表示網頁結構。對於結構的處理不外乎是一層又一層的 tuple ,有時我在傳統的 Javascript 環境也會做類似的事情,先產生一些結構產生及包裝的函數,例如

wrap(‘td’, wrap(‘div’, ‘表格內容’), ‘ID_td_1’);

然後將以上字串 eval 一下就得到想要的網頁結構了。不過網頁結構的產生只是第一步,網頁開發過程中比較累死人或急死人的是用各種 CSS 或 Javscript 操作的 CSS 把網頁格式變來變去,比較難抓到一個統一的法則。

Nitrogen 對於 “postback" 的解釋比較特別,是取其 post—back 二字的意思:「從前端向後端送出訊息。」乍看我還覺得是不是我記錯了, ASP.net 講 postback 都是說一頁送訊息送資料出去的對象是自己這一頁。這方面用詞上應該要明確區分, Nitrogen 講的東西是 event-driven 機制中的 post to back (server) by event ,而 ASP.net 的 postback 是指 self-reference of a page 。

而 AJAX 部份, Nitrogen 內建幾個用來改網頁結構的函數,是用 asynchronous 方式處理。這方面跟 jQuery 的幾個函數像 append, before, after, html, remove, attr 等相當類似。

廣告

About 黃耀賢 (Yau-Hsien Huang)

熱愛 Erlang ,並且有相關工作經驗。喜歡程式語言。喜歡邏輯。目前用 Python 工作。
本篇發表於 Application, Erlang, Introduction。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s