惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V2EX - 技术
V2EX - 技术
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
Schneier on Security
S
Securelist
P
Privacy & Cybersecurity Law Blog
Scott Helme
Scott Helme
T
Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
量子位
博客园 - Franky
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
T
Troy Hunt's Blog
N
News | PayPal Newsroom
Google Online Security Blog
Google Online Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
小众软件
小众软件
P
Palo Alto Networks Blog
Spread Privacy
Spread Privacy
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
L
Lohrmann on Cybersecurity
L
LINUX DO - 最新话题
D
Darknet – Hacking Tools, Hacker News & Cyber Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Last Watchdog
The Last Watchdog
S
Security @ Cisco Blogs
P
Privacy International News Feed
Last Week in AI
Last Week in AI
Microsoft Security Blog
Microsoft Security Blog
T
Tailwind CSS Blog
博客园_首页
云风的 BLOG
云风的 BLOG
V
Vulnerabilities – Threatpost
D
DataBreaches.Net
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
罗磊的独立博客
Engineering at Meta
Engineering at Meta
Forbes - Security
Forbes - Security
T
Tenable Blog

博客园 - 珠海小肥Q

jQuery load()方法用法集锦! 异步无阻塞加载JS 【转载】jQuery的性能规则 HTML结构 记录下 【转载】开发杀手级企业应用10规则 国人开发的 Jquery UI -- MiniUI 治近视的秘方!1000度近视降到只有200度,不知道有没有用,试试(转) 欢迎需求变动,拥抱变化 (转) 睡觉的诀窍(转) 警惕“29岁现象” (转) 遇到强势客户,如何开展需求工作 (转) 企业管理软件平台架构内幕揭秘 (转) Silverlight 2 Beta 1学习资源(转) 网络上看到的对UE的总结 新瓶旧酒ASP.NET AJAX系列文章索引(转) EXT核心API详解(转) 存储过程编写经验和优化措施(转) 数据库优化设计方案(转) 做杀猪软件如何做成明星CIO?(转)
JavaScript的世界从来没有像现在这样精彩(转)
珠海小肥Q · 2008-01-09 · via 博客园 - 珠海小肥Q

JavaScript其实出来好多年了,这大家都清楚,但是近几年新出现的一些JavaScript框架的确给JavaScript带来了新的活力。随着基于JavaScript的RIA开发越来越频繁、热门,越来越多的程序员开始为如何编写这些繁多而散乱的JavaScript代码而抓狂,代码越来越多、越来越复杂,一些调试工作似乎已经成为标准的体力活,也正是因为如此才有了我接下来要说到的几款JavaScript开发框架。

最早也是最出名的要数prototype了,这款鼻祖级的JavaScript库,如今已经配了新的搭档,那就是

Script.aculo.us,这是一款完全基于prototype的开发框架,提供了相当数量的上层应用组件和函数,你可以这么理解,假如把prototype比作MSIL,那么Script.aculo.us就是.NET语言。目前prototype的最新版本是1.6,Script.aculo.us的最新版本是1.8,详细信息请见:http://script.aculo.us/

接下来介绍的是JQuery,这个也算是JavaScript开发框架的新星了,虽然出来也有些时日了。JQuery与prototype比起来要更成熟一些,并且支持更好地扩展性,目前有相当多的JavaScript开源控件都是基于JQuery的,其强大的selector的功能堪称一绝,对于html的元素选择就像css selector一样。详细信息请见:

http://jquery.com。另外jquery还把一些UI控件集成为一套库,叫做ui.jquery,大家可以去http://ui.jquery.com 看看demo(建议看的时候不要喝水、吃东西,会喷出来的)。

接下来要介绍dojo,这也是一套类似于prototype的库,不过我没有怎么用过,功能方面似乎与prototype基本类同,还是属于比较底层的库。目前也有一些基于dojo的控件和应用。想了解dojo的信息,请看

http://dojotoolkit.org/

另外的两个比较有名的框架就是Yahoo UI和Google Web Toolkit了,这两个相信大家都比较熟悉,特别是Google Web Toolkit更是解决了如何用java代码来写javascript的问题,即通过编译器和解析程序生成javascript,这是一个很不错的功能。这一点,.NET仍然做的不足,我们仍然要通过大量的RegisterScriptBlock来解决问题动态javascript生成问题,从开发体验的角度讲,这样容易分散程序员的经历,因为程序员不得不平凡地切换思考模式,一会儿是写.NET代码,一会儿是写Javascript代码。不过呢,有人已经注意到了这个问题,并且开发了Script#,就是专门用来解决.NET下的JavaScript开发体验问题,个人用下来还是不错的,大家可以去

http://projects.nikhilk.net/Projects/ScriptSharp.aspx 了解Script#。

还有一款不得不介绍的JavaScript开发框架就是extjs,这两天已经看到cnblogs上有人在介绍这个库的一些开发心得了。这款开发框架并不像jquery和prototype那样,严格意义上讲jquery和prototype只能算开发库,而extjs则是真正的开发框架,它不仅仅解决了底层的浏览器兼容问题、通用的一些开发功能,也为开发者提供了大量的内建控件库,例如,用于布局的BorderLayout、Viewport,用于生成表单的FormPanel等等,请注意,这些控件都是内建的,而非基于extjs开发,这个差别直接导致了整个开发框架的完整性有很大程度的提高,对于开发人员来说,与其把很多来自第三方基于一套库开发的控件放到一个项目中来,倒不如直接用内建的控件来得方便,而且整合度更高,代码可靠性也高。extjs还有一点值得称道,那就是它为其他javascript开发库提供了兼容适配器,主要为jquery,prototype+Script.aculo.us和Yahoo UI提供了适配器,这是其他开发库所没有涉及的,这直接说明extjs的开发者们很有远见,融百家之众长,把其他库好的地方直接引入为我所用。有关extjs的详细信息你可以访问

http://extjs.com

另外,微软的ASP.NET AJAX以及Silverlight中也引入了相应的JavaScript库,虽然以我个人的角度看,这些库还无法与第三方开源库相抗衡,但对于微软自己的产品来说是足够了,当然这是一个信号,预示着在微软未来的开发库中,JavaScript将占据相当比重,特别是当Silverlight后续版本发布的时候。这里要澄清一点,在过去几个月中,曾经看到过一些文章中说微软的Silverlight与ASP.NET AJAX的定位有重合,所以有人认为ASP.NET AJAX是没有意义的,是微软的决策失误,但从我个人的角度看,就目前的Silverlight 1.0(1.1目前没有release,不纳入讨论范畴)而言,它与ASP.NET AJAX并不冲突,Silverlight是针对高端RIA应用的,而ASP.NET AJAX则更多地瞄准低端RIA,至于最后会不会把这两个产品整合,我目前不敢断言,但从技术发展的趋势看,微软在未来2-3年内很有可能会推出RIA Foundation(个人猜测,不代表微软官方观点)。从技术角度看,Silverlight选择JavaScript作为脚本引擎自然有它的道理,一方面是因为减少重复开发,没有必要像Adobe的Flash那样再做一个ActionScript,劳命伤财~~另一方面是因为它能很好地与现有的AJAX及低端JavaScript应用整合,这是一个很明智的选择,如果你要把应用程序移植到Flash上,还是有相当的ActionScript要重写(虽然Flash也支持JavaScript交互),但是如果移植到Silverlight上完全不需要这么麻烦,Silverlight能与以前的程序形成互补,这就是差别。

大家如果觉得还有其他比较好的开发库,请留言,我会更新这篇文章。如果你觉得这篇文章的观点有问题,欢迎拍砖(买砖头的费用自理)。


原地址:http://blog.csdn.net/tonyqus/archive/2008/01/09/2031165.aspx