作者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
1F:推 mrbigmouth:推一个 03/02 08:13
2F:推 mesak:之前以为 grooveshark 是纯 FLASH做的,没想到是 JS 太强了 03/02 11:24
3F:推 didigh:感谢大大的分享:D 03/02 23:47