日期:2014-05-16  浏览次数:20434 次

项目中javascript 与JAVA的心得

???? ? 两年的开发,很多东西都让我很失望,到最后的调优,到客户的正式使用。从性能特差的IE6,到IE8,到IE9,在这之中它们各有优缺点。在IE6中,如果你加载的数据超过了十几M,那么IE6光打开页面就需十几秒,但换到IE8,IE9就不会出现IE6加载较慢的情况,但又一种结果出现,IE8时不时有的机器会报错,很寒心啊,虽然加载10几M的JS,运行几十万次的循环,或几百万次的循环( 在JAVA中,几百万次的循环还是很快的,但JAVASCRIPT 如果在大就会出现运行缓慢的结果,哎),但也不至于此吧。

????? 还有一种情况就是在IE6,IE8上出现花屏,白板的状况,这个问题到现在还没有明确的解决方案。是由什么引起的。

????? JAVASCRIPT 性能太差了,也可能是因为它是一种解释性语言吧,执行那句解释那句,哎!

????? JAVA与JAVASCRIPT比起来,性能会有大幅的提升,对于百万级别,甚至千万级别的循环,都非常的快(1两秒),所以我们把好多的JAVASCRIPT的大批量代码的运算算法都改到了后台。以进行进一步的优化。

?????? 为什么刚开始会用JAVASCRIPT,哎?

???????? 因为我们项目中的需要,需要在WEB浏览器中图形化显示拓扑数据,WEB浏览器中进行大拓扑数据的集合操作,节点大概在几万个节点(几万个节点之间的关系都要明确,有相互的连接等),所以刚开始必须使用JAVASCRIPT,现在看来感觉做成C/S结构的会更好些,或者另某方案。。

????? 如果再来一个大的项目,真应该好好的考虑选择什么样的语言与架构了。

?? ?? 也提示大家,如果运算复杂,希望大家都把复杂的算法代码写到JAVA当中。?

1 楼 uin57 2011-04-20  
用applet吧。。
2 楼 fch415 2011-04-20  
10几M的JS,十几M的页面?
如果将所有数据一次性生成在页面上,不是用Ajax作数据懒加载(Lazy-load),那这种痛苦就是你们自找的!
就算是Google地图也不是将全球地图数据一次性加载到页面的。

别先怪IE6、JS性能差,好好检讨一下团队和你自己的技术能力吧(你们的Java架构师是干什么吃的?如何作接口设计的?)
JS的成熟组件与框架、矢量作图工具有无数,你们不知道好好利用?(又想问候你们的架构师了)

我写的1945游戏http://www.iteye.com/topic/785109的JS源码总大小也不过160K(未压缩,压缩率50%)。
10M的JS代码量,我可以开发一个完整版的C&C了(不算图像资源)。
3 楼 java_user 2011-04-21  
一个页面十几M?这个也太大了吧,即使在本地打开也会死机的。
这么大数据明显不能一次加载
4 楼 sxpyrgz 2011-04-21  
java_user 写道
一个页面十几M?这个也太大了吧,即使在本地打开也会死机的。
这么大数据明显不能一次加载

恩,这个是业务的需要,需加载,现在还好找到了一些解决方案,逐步的优化。
5 楼 sxpyrgz 2011-04-21  
fch415 写道
10几M的JS,十几M的页面?
如果将所有数据一次性生成在页面上,不是用Ajax作数据懒加载(Lazy-load),那这种痛苦就是你们自找的!
就算是Google地图也不是将全球地图数据一次性加载到页面的。

别先怪IE6、JS性能差,好好检讨一下团队和你自己的技术能力吧(你们的Java架构师是干什么吃的?如何作接口设计的?)
JS的成熟组件与框架、矢量作图工具有无数,你们不知道好好利用?(又想问候你们的架构师了)

我写的1945游戏http://www.iteye.com/topic/785109的JS源码总大小也不过160K(未压缩,压缩率50%)。
10M的JS代码量,我可以开发一个完整版的C&C了(不算图像资源)。

说的不错,确实架构上也存在问题,主要是这个业务复杂,架构师开始也没想的有多复杂,所以过程中出现了些问题,架构师也是逐步的熟悉业务,逐步的优化架构的呵。
最近又解决了不少大问题,基本上没有大问题了,剩些小问题啦!
6 楼 tkevin13 2011-04-21  
数据结构~~ 当初没好好学啊~!