锁定老帖子 主题:关于 jsvm 的争论
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-03-07
wch3116 写道 .......
谢谢常兄慢慢带我们去深入了解 jsvm。 我虽然阅读了源码,但还是有些疑问,希望常兄能阐述更多的细节: 1. 客户端的cache是否只是cache jsvm2标准提供的package(js.*),其他的package是否也会cache? 2. 如果也同样cache 的话, 那么我做了修改,而客户端已经cache了,接着我刷新浏览器调试的时候,会自动重新编译并加载更新过的jsc吗,如果会,那么是怎样的实现机制? 另外就是想知道常兄对IDE支持的考虑,如果我要使用jsc,那么决定了编辑器就是editplus了,我无法应用Eclipse 或者 IDEA 为我们提供的javascript 编辑器/调试器。 |
|
返回顶楼 | |
发表时间:2006-03-07
canonical 写道 如果jsvm只是提供_import支持,它对于我们还是有意义的。不过,我们不会使用jsc语法,也不需要js.dom等类,这些都应该是可选特征,希望发布一个简装版。应该补充一个非jsc语法的js类的sample
另:我们在服务器端采用模板机制并不是生成js, 服务器端封装的作用也不仅仅限于对于js的管理,还涉及到css,图片等资源,以及html与后台java对象的结合。 jsc 是为了用来明显区分普通js文件另取的扩展名(也是为将来的IDE做准备),它里面缺省的就是普通javascript语法。而 jsvm2 自带的额外语法解析器jsvm2-parser中的语法是可选的,也只有当你显式的声明该文件采用这种语法,jsvm2的解析器才会做翻译工作。否则你可以当他不存在,不过,如果你想遵循jsvm2自带的继承体系,你会发现用它可以简化的代码而且也不影响你代码的灵活性!当然,这个随你! js.dom.* 等类也类似,你不用可以不用管它,也许某一天你会发现他还是有点用的。呵呵 |
|
返回顶楼 | |
发表时间:2006-03-07
dlee 写道 万常华同志还是很值得尊敬的。不过Web2.0让开发人员更加浮躁。老板今天看到某网站实现了什么奇妙的效果,明天就让开发者也在自己的网站用上。开发者除了到处找现成的代码以外,没有别的办法。这种状况养成了他们不肯自己去积累的习惯。我们很多所谓的架构师不过只是个粘贴拷贝的快手。
万常华同志长期以来孤军奋战,没有实现很多UI组件很容易理解。 如果有比较理想的开源解决方案,例如后台的Spring,我也坚决反对使用自己独创的架构。不过目前Ajax UI组件库的水平和数量还远未达到理想的状况。发展一套自己的架构是非常有现实意义的(共产主义尚未实现,谁能告诉我什么时候可以实现?明天还是后天?我是不是现在就可以睡大觉等到那一天的出现?)。 dlee 言过了,现在唯一能肯定的是jsvm的动机和愿望是善意的。至于设计和实现上还有待进一步优化和改进。你们说得没错,今后能真正提高能生产力的还是那些丰富的类库和组件,接下来我将把重心转移到这一块和大家一起朝这个方向努力! 自古以来,前人栽树,后人乘凉!我们能享受今天的生活,也是先辈们辛勤积累下来的。虽然在这方面享受不到后人的待遇,那我们就做前人吧!共产主义的实现需要很多探索者的不断摸索,勇于尝试,即便最后发现自己走错了路,那至少也告诉了别人,这条路是行不通的,某种意义上也是做出了贡献的! |
|
返回顶楼 | |
发表时间:2006-03-07
醒来 写道 wch3116 写道 .......
谢谢常兄慢慢带我们去深入了解 jsvm。 我虽然阅读了源码,但还是有些疑问,希望常兄能阐述更多的细节: 1. 客户端的cache是否只是cache jsvm2标准提供的package(js.*),其他的package是否也会cache? 2. 如果也同样cache 的话, 那么我做了修改,而客户端已经cache了,接着我刷新浏览器调试的时候,会自动重新编译并加载更新过的jsc吗,如果会,那么是怎样的实现机制? 另外就是想知道常兄对IDE支持的考虑,如果我要使用jsc,那么决定了编辑器就是editplus了,我无法应用Eclipse 或者 IDEA 为我们提供的javascript 编辑器/调试器。 jsvm2会cache所有加载过的代码,不仅仅是自带的那些。 另外jsvm有一个调试开关 debug [缺省是false],设置方式:<script src=jsvm2/jsre.js debug=true></script>。如果在调试状态,jsvm会把所有的cache都禁用掉,通过刷新页面就能使更改立即生效了。(建议在应用开发测试阶段都把这个开关打开,等正式上线之后,再把这个属性设为false,如果是应用程序模式,module页面会自动继承application的debug开关状态,所以只需修改application的debug属性就可以了,不必每个module页面都去做修改) 另外,为了方便module页面的单元测试,建议所有module页面的mode值都设为auto,这样的话,他会自动根据环境决定是module模式还是standlone模式,于是我们可以直接访问该页来进行测试,而不必结合application的环境才能测试了。 我对jsvm本身的IDE有过一个规划,但是工作量有些让人怯步,我个人的能力、精力、和时间都很有限,只能再往后看了,或有能人相助,或自己能抽出时间来完成这块。 对于目前现有支持js 的IDE而言,jsc 的调试确实有点不太方便。对于复杂的js lib设计可以先在普通js文件中把大部分代码都调通,然后再按照类的方式切割成不同的jsc文件。以后的维护和少量的修改就直接在jsc文件中进行了。这个要自己具体把握了。我也没有特别好的建议! |
|
返回顶楼 | |
发表时间:2006-03-15
最近尝试着在给jsvm减重量
因为我需要的就是加载,分包,cache就差不多了。^_^ 不过核心部分还没看完。因为被ie下的cache方式给搞晕了。。。。=_= 单纯从学习成本来说,jsvm不算高。。。 |
|
返回顶楼 | |
发表时间:2006-03-15
叶子 写道 最近尝试着在给jsvm减重量
因为我需要的就是加载,分包,cache就差不多了。^_^ 不过核心部分还没看完。因为被ie下的cache方式给搞晕了。。。。=_= 单纯从学习成本来说,jsvm不算高。。。 为什么要给jsvm2减肥呢? 为什么就这么肯定自己的直觉,而不愿意去相信一个在这个领域研究了3、4年的人的判断呢? jsvm2 自带的那些API 类,就真的是鸡肋吗?为什么你一眼就能看出来是鸡肋的东西而我却不惜血本把他提升到jsvm2缺省带的类中呢? 我觉得这是一个值得大家思考的问题! 另外,至今为止,我认为 jsvm2 不存在明显的设计缺陷,最主要的问题是缺乏文档! 如果有一个人说:“jsvm2我已经研究了好长一段时间了,我现在有一些建议!”那么我会立即停下来说:“请您指教!” 然后洗耳恭听! 如果有一个人只是:“哦,jsvm我知道,我昨天看过了,现在我给你一些建议。” 当然我也会很客气地说:哦。您有什么建议? 但十有八九他说出来的是一些没有什么价值的东西! 还是一句老话,我是一个严谨的人。我也希望大家在研究东西或讨论问题的时候能静下心来,多仔细想一想再下结论!(如果有不清楚的地方也可以通过交流的方式增加了解) |
|
返回顶楼 | |
发表时间:2006-03-15
楼上误会
实际上那些包我都在用的。 核心部分我就是改成我自己的方式罢了。。。 我用jsvm看中的是代码复用,还有合理分包。 之所以要减就是我需要的包方式和你的不一样,去掉status的状态提示,还有就是我要个多配置文件,还有我看不懂的部分。 对了,我在jsvm的forum的用户名是yehe,跟过你的贴的:) 还有,你qq里面有个js群的吧,偶也在那个群的。。:) |
|
返回顶楼 | |
发表时间:2006-03-15
叶子 写道 楼上误会
实际上那些包我都在用的。 核心部分我就是改成我自己的方式罢了。。。 我用jsvm看中的是代码复用,还有合理分包。 之所以要减就是我需要的包方式和你的不一样,去掉status的状态提示,还有就是我要个多配置文件,还有我看不懂的部分。 对了,我在jsvm的forum的用户名是yehe,跟过你的贴的:) 还有,你qq里面有个js群的吧,偶也在那个群的。。:) 哦,原来是yehe, jsvm 提供扩展的方式,配置方式:extmodules=modulename1,modulename2 ... 最好遵循这个规范来进行扩展,便以升级,避免以后的一些merge工作。 |
|
返回顶楼 | |
发表时间:2006-03-15
今天又跑去看了下,似乎有新版了??
看看先。。。 还有,我在jsvm的密码忘记了。。。取回密码。。等了几个小时了都还没发现有新密码发送过来。。 |
|
返回顶楼 | |