Web 方案之一: Nitrogen

15 views
Skip to first unread message

黃耀賢 (Yau-Hsien Huang)

unread,
Jan 29, 2011, 11:49:43 AM1/29/11
to Erlang 台灣討論群組
嗨,各位。

我看到這文章:Nitrogen 安裝紀錄

其中提到

Nitrogen:属于比较新的,成长性好,一直在升级,目前已经到2.0.2版本,最后更新是在10年前不久。和jquery集成不错,基于事件的,采用ror的方式,有一个统一的命令产生页面

很像 RoR 啊,看起來不錯。

然後提到 YAWS 。我想問一問,有沒有人有經驗 YAWS 的服務效能夠不夠理想,能做 IIS 或 Apache 的等值替代品嗎?
謝謝。

-- 

Best Regards.

--- Y-H. H.


omusico

unread,
Jan 30, 2011, 9:29:12 PM1/30/11
to Erlang_Taiwan
網路上有找到相關的說明
研究中

http://donaldknuth.blogspot.com/2010/11/erlangweb.html


On 1月30日, 上午12時49分, 黃耀賢 (Yau-Hsien Huang)


<g9414002.pccu.edu...@gmail.com> wrote:
> 嗨,各位。
>
> 我看到這文章:Nitrogen 安裝紀錄

> (http://simonxu72.wordpress.com/2010/10/22/nitrogen%E5%AE%89%E8%A3%85%...

omusico

unread,
Jan 31, 2011, 3:27:38 AM1/31/11
to Erlang_Taiwan
http://www.javaeye.com/topic/320294

目前基于erlang的web框架有:


1 erlyweb(http://erlyweb.org)
2 erlangweb(http://www.erlang-web.org)
3 nitrogen(http://nitrogenproject.com) 基于事件驱动,类似于asp.net
4 beepbeep(http://github.com/davebryson/beepbeep/tree/master) 基于rails
模式

黃耀賢 (Yau-Hsien Huang)

unread,
Jan 31, 2011, 11:57:25 AM1/31/11
to erlang...@googlegroups.com
下載了 Windows 版的 Nitrogen 來用用,發現原來是用 Erlang 內建的 inets 來做。

看到 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 等
相當類似。


話說回來, Nitrogen for Windows 目前只有 Erlang Inets 版本。而目前所說 event-
driven 似乎是各家開發工具非常通用的模式,不僅 ASP.net 及 Erlang Nitrogen 如此,
jQuery 也如此。倒是很難理解有哪些別的工具強調 event-driven 或 event defining
以外的特徵? Event 本來已經是網頁媒體各項操作之中最顯著的觸發點。


另外至於前文我問 " YAWS 平台的選擇,有沒有人覺得穩定度能不能跟別的比 " 
這種問題我自己想一想,其實也不用問,是吧!以我個人工作的經驗,人們很容易
開始質疑一樣新東西是不是能跟一些舊東西比,然而卻可能從來沒有思考過為什麼
那些舊東西「天生」就很讓人信賴。為什麼大家相信 IIS 呢?是因為 IIS 真的很穩嗎?
或者只是因為看到別人都在用 IIS 來做而已?而且也有一些人士分析、顧慮的大半天,
最後卻很簡單以放棄想複雜的事情的方式,選擇了一些本來挑剔了一堆毛病最後卻
「好吧,那就這樣」的方案。


-- 

Best Regards.

--- Y-H. H.


2011/1/31 omusico <omu...@gmail.com>
--
您已訂閱「Google 網上論壇」的「Erlang_Taiwan」群組,因此我們特別傳送這封郵件通知您。
如要在此群組張貼留言,請傳送電子郵件至 erlang...@googlegroups.com
如要取消訂閱此群組,請傳送電子郵件至 erlang_taiwa...@googlegroups.com
如需更多選項,請造訪此群組:http://groups.google.com/group/erlang_taiwan?hl=zh-TW





omusico

unread,
Jan 31, 2011, 10:18:59 PM1/31/11
to Erlang_Taiwan
覺得還是在應用層的問題,若以YAWS+FCGI來進行開發,將應用部分以PHP或PYTHON等語言開發
感覺與IIS 或 Apache無異,主要還是在併發速度與量考量,不如掛上r-proxy將靜態檔案部分緩衝,若有
實時計算的需求,就可以考慮YAWS並且應用層使用Erlang來處理,可能才是主要的關鍵。

On 1月30日, 上午12時49分, 黃耀賢 (Yau-Hsien Huang)
<g9414002.pccu.edu...@gmail.com> wrote:

> 嗨,各位。
>
> 我看到這文章:Nitrogen 安裝紀錄

> (http://simonxu72.wordpress.com/2010/10/22/nitrogen%E5%AE%89%E8%A3%85%...

Reply all
Reply to author
Forward
0 new messages