技术开发 频道

JavaScript是Widgets应用的瓶颈吗?



三、       JavaScript Widgets
 
实现Widgets的主流技术有Flash和JavaScript。Flah Widgets有它自身的问题。例如感觉很笨重,大小不可改变及不能操作DOM模型。当然,这并不是仅仅Flash Widgets的缺陷,JavaScript Widgets也难以脱俗。
大多数使用Widgets 的方式有两种:Raw 式嵌入或 JavaScript 式嵌入。
raw 式嵌入通常是提供一个 Object/embed 代码,来直接实现一个 Flash Widget,这种方法的优点是它可以在不允许使用 JavaScript 式嵌入的网站上运行;缺点是:许多人不喜欢把 Object/embed 代码直接放在他们的页面上;另外有些Widgets 不是基于Flash 的;最后Widgets 的作者不能对已嵌入的Widgets 进行太大修改变化。
JavaScript 式嵌入使用了脚本,包括远程部署代码进入用户的网站,优点是:它更简洁也更灵活,它的缺点是:它或多或少的增加了网站加载时间,而且一旦出现问题,网站加载时间将成倍的增加。
JavaScript从一开始就被设计成一种轻量级的便于操作HTML文档但互操作性最小化的客户端语言。但从以往技术发展的曲线来看,JavaScript正在向一种Web编程语言发展。从Ajax到Widgets,JavaScript被应用到许多它所适应范围边际上的项目中去。由于,问题就开始出现了。
程序员对JavaScript最大的诟病莫过于它的单线程模式。JavaScript里是没有线程的,当然你可以尝使用setTimeout来试试(这个函数的功能是延时执行某一个函数)。但这并不是真正意见上的多线程。这意味着JavaScript中的代码只能是顺序的执行,没有并发性(当然除了Ajax调用之外)。于是,当任何时候,一段JavaScript代码片段在加载或执行的时候,其它什么事情都干不了。这和下图所示的现象是不是一样呢?



2.JavaScript中的“单线程”
这意味着,一行行额外加载的JavaScript代码往往导致整个页面加载速度的降低。而这正是在Blog社区正在发生着的问题。那办法或是解决出路在哪呢?
0
相关文章