只显示主题贴
jindw 写道恩,确实,如果现在抽时间去集成extjs对于JSI的推广非常有利。
但是,可能是出于个人自私的一面吧。
一来,集成extjs对我个人技术来说,没有什么帮助。而且,我不懂ext,工作上也用不上这个,就算我集成了,我野没有时间去维护跟踪,这也是不负责的做法。
二来,我还是去发挥自己的长处。把IDE做好。虽然也如你所说,已经有人去做,但是没有人去做针对JSI的IDE。而JSI对于IDE来说,可以提供更好的语法提示,重构支持,就从这点,我可以做到比通用脚本编辑器功能更强大。我想,也是非常值得我一做的。
你要搞JSI的IDE?
我个人觉得没必要,没什么理由。:D
- 进入论坛 AJAX 版
另外提供一套开源框架作为此类Web IM开发的参考:Java2Script + Smack + Jabber (Gtalk)示范例子(google talk是基于Jabber的XMPP协议的):http://demo.java2script.org/gtalk/其中Java2Script,提供用Java + Eclipse SWT的开发RIA的开发环境:http://j2s.sourceforge.net/Smack,提供基于Jabber XMPP协议的Java类库:http://www.igniterealtime.org/projects/smack/index.jspJava2Scrip ...
- 进入论坛 AJAX 版
hax 写道
我认为老万说的很好
wch3116 写道
“异步” 不仅打乱了开发人员的一般习惯思维方式,同时也改变了程序顺序加载执行最朴素的规律。
对于模块之间的静态依赖,或者程序对模块的静态需求,采用预加载的方式,然后通过事件侦听或者回调程序入口来继续加载后的的程序执行尚且可以。
但这些依赖或者需求是程序运行时动态决定的,而采用异步的方式肯定造成程序分支增多,增加了系统的复杂性。
我帮他说得更透一点,问题不在于说到异步调用的转换有多难,而在于对形式的要求,会干扰程序员。这也是为什么jindw以“无侵入性”作为其框架的根本出发点的原因。我再补充一点,改为异步后,我们的代码就变得依赖于框架, ...
- 进入论坛 AJAX 版
hax 写道zhourenjian 写道wch3116 写道
1. 严格按照一个“类/对象”对应一个相同名称的文件的方式保存。
基本上所有的库都用这种方式来管理源代码
这种方式存在一些弊端。因为它把逻辑单元和装载单元强行一一对应起来了。所以我决定在pies中舍弃这种方式。
注意,java和C#都并非是这样的。C#大家好理解。java其实也不是这样的。虽然默认是一个类一个文件,但是这只是一个缺省约定,从本质上说,classloader是可以采取其他的策略的。而且java在源码中不会出现文件系统。(这与ruby形成了对比。)所以不存在文件系统和逻辑组织的耦合。
我们之所以讨厌dojo,一 ...
- 进入论坛 AJAX 版
wch3116 写道
1. 严格按照一个“类/对象”对应一个相同名称的文件的方式保存。
基本上所有的库都用这种方式来管理源代码
- 进入论坛 AJAX 版
Sean220 写道A.js:
一个方法中调用了new B();
B.js:
一个方法中调用了new A();
那么A.js中应该$import B,而B.js中应该$import A。这就是一个回环。如果以A为入口,当然不需要在B中$import A,则不存在回环;反之也一样。但是作为类库很难避免究竟以A为入口还是以B为入口吧。如果避免不了回环,那打破回环继续加载,可能会更好。
----------------------------------------------------------
其实这种逻辑实际上是有问题,一般写代码不会写成这样,但作为个有趣的例子,在处理循环Impo ...
- 进入论坛 AJAX 版
jindw 写道直接再代码中使用$import,可以简单的描述一个装在前依赖。
但是我们还可能涉及一种装在后依赖,就是脚本运行过程中可能使用的的东西。
在JSI中,我们就可以定义循环依赖,定义语法更加严谨一些,当能,也显得有点复杂。
包定义文件:
this.addScript("clazz-a.js",["ClassA","methodA"]);
this.addScript("clazz-b.js",["ClassB","methodB","andOtherObject"]);
//装载前(装在期)依赖
this.addScriptDependence("clazz-b.j ...
- 进入论坛 AJAX 版
wch3116 写道zhourenjian 写道wch3116 写道再谈 js 代码的加载问题
我们在开发一个 rich javascript 应用时,一般会遇到两件事情:
1. 代码应该按功能、模块或其它合理粒度方式切分到多个文件单元中,以便于管理维护和重用。
2. 系统运行时,应该按需加载所要执行的模块代码。因为将程序所有可能要用到的模块都事先全部加载进来听起来并不是一个好主意。
由于 js 代码因为设计上的需要被切分成多个文件,XMLHttpRequest 同步操作造成浏览器阻塞,如果网络不畅,这个过程时间长的话,浏览器的现象是假死(没有响应了)
传统的 <script> 标签 ...
- 进入论坛 AJAX 版
wch3116 写道zhourenjian 写道wch3116 写道解析Ext模块之间依赖关系的工具非常简陋,几乎没有共享出来的价值,呵呵。
大概原理是:通过正则表达式匹配出当前模块的代码中引用了哪些其它 Ext 模块的名称,然后在文件头部生成 $import 语句。
但是存在一些地方是需要手工调整。因为模块之间文件头部“静态”import 不能形成回环,循环import会造成 jsvm engine 的“死锁”。所以必须将一些造成回环的依赖链打断,调整为运行时动态的import。
启用过smartloader的页面,不会存在多次xhr交互的情况。当然这并不否定import支持多个动态参数是一 ...
- 进入论坛 AJAX 版







评论排行榜