作者davidsky (Alive)
看板Ajax
標題Re: [問題] 關於javascript MVC
時間Fri Mar 2 00:59:28 2012
: http://javascriptmvc.com/
目前在用的是這個
它的幾個有用的大方向:
0.用$.Class實現物件導向,M/V/C都是繼承$.Class而來
1.Templated html - embedded js 不只可以寫樣板,還可以在樣板內寫邏輯
不過要不要在View裡面寫邏輯判斷這件事孰優孰劣見仁見智。
2.Cross plugin communication - 把OpenAjax pubsub整進controller內
3.controller天生內建event delegate
'#button click': function(el, ev)
{
//do sth
}
4.Backend service wrapping - 把要跟server交換的資料包成同一個介面給
Controller跟View使用
5.Model對應CRUD操作
6.Validation邏輯是寫在Model層
7.Model update/create/delete會自動發notify給Controller
8.$.fixture可模擬ajax回傳成功或失敗訊息給$.Model
9.StealJS - library dependency的解決方案。
還有許多script可以用:
pluginify(幫你寫的plugin壓成一份去jQuery/做google closure)
docjs(把js程式內註解轉成文件)
production build(把所有js壓成一份,css也壓成一份,去掉dev mode訊息)
10.有整合動態css - lesscss進來(
http://lesscss.net)
太重要了,不然一堆互相有衝突的css maintain到想殺人,
less光巢狀敘述就可以救人命了
11.徹底組織化 - jmvc的精神是:做大型應用的重點就是不要做大型應用,把功能都拆開
12.整合jQuery, 可以跟其他jQuery plugin一起使用沒問題
jQuery UI等也都正常使用
13.速度很快
缺點也有,
官網文件說明雖然勉強算齊但是沒有很深入使用的範例。
自己從頭摸索會碰不少壁。
成功案例是線上聽歌網站grooveshark:
http://grooveshark.com 整個網站都是用jmvc做的!
可以看一下他的app.js,我在裡面偷學到不少招數:P
--
TWOW
[Light's Hope] Human Priest @LEGNA @PANTHEON
http://ctprofiles.net/454714
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.174.19
推 mrbigmouth:推一個 03/02 08:13
推 mesak:之前以為 grooveshark 是純 FLASH做的,沒想到是 JS 太強了 03/02 11:24
推 didigh:感謝大大的分享:D 03/02 23:47