几个比较好的Web前端开发框架

强调一下,这篇日志主要还是针对想学前端开发的新朋友写的,不是说我有什么独特见解,而是比较客观的状态,就各种框架的异同和应用场合,需要注意的地方做简单描述,不做具体深入分析,有的地方比较抽象,对于抽象之处大家可以到网上或各大高手博客中深入学习,当然也可以与我继续探讨。

一直以来对 Web 前端开发兴趣颇深,用过一些框架产品。在 JavaEye 上看到一些刚接触前端开发朋友的疑问,犹豫这些产品的前景利弊,不知从何入手。想把自己的一点经验分享给大家,如有不到位之处请一起来纠正。

jQuery
1.
绝对的万金油,核心 js 只有 50K ,占用带宽小,门户网站、管理系统,用在哪都可以。
2. jQuery
是对 js 底层 dom 操作封装最薄的一个框架,没有大量的专有对象,多为提供函数进行 dom 操作。准确的说,它不是偏重于富客户端的框架,而是侧重于对 js dom 编程。下面几种才是完整的富客户端的框架。
3.
我认为它最大的三个亮点,一是支持 CSS3 的大量选择符,想定位或选择一个 html 元素简直轻而易举。二是灵活便捷的 Ajax 请求和回调操作。三是事件绑定功能,内部封装了很多事件,想统一为一个页面上的一些元素添加事件很方便,这也提高了复用性和可维护性,避免了页面中出现大量的 html 属性。合理的编码可以使 htmljs, css 分离开,便于维护。
4.
此外它也封装了很多常用的操作,例如节点的添加删除、常用的动画效果、逻辑判断比较等等。避免了直接使用 dom api 进行繁琐的操作。
5.
本身提供了可扩展的函数,可以自己编写插件与核心 jQuery 对象进行集成使用。这也是常用的手段,只要你理解 js 面向对象编程,熟悉 jQuery API ,就能写出很多定制的插件,复用在各种地方。
6.
至于 jQueryUI ,与其他框架不一样的地方在于,它很少用 js 去生成 html ,而是把现有的 html 通过 jQueryUIAPI 加工成想要的效果,关于这点是好是坏,我觉得就是见仁见智的问题了,没有必要争论什么。
7.
新生的 jQuery EasyUI 不错。
8.
如果今后的更新都保持现在这种模式,我认为它的前景很乐观,什么时候 javascript 完蛋了才轮到它玩完。

ExtJS
1.
一整套带有 UIjs 库,封装得很多,很厚,核心 js600K ,这么大的东西门户网站当然就别想了,里面的效果当然也不会运用到门户网站,所以它是专门为管理系统而生的。因为局域网不会有带宽问题。
2.
它与 jQuery 不同,基本上是纯用 js 来生成 html 的,页面里只需引入各个 ExtJS 库和你自己写的 js ,不会出现很多 html 内容, body 里基本没什么。所以优化就显得重要了,不然会严重浪费资源。
3. UI
就不说了,大家都认可,本来就是为 UI 而生,它可以做出来桌面级程序的效果。一般来说,一个管理系统的项目如果用 Ext ,基本就从始至终都是 Ext 做了,不会像 jQuery 那样,哪想要了就加在哪,很随意。 Ext 更像一个整体 ( 虽然它也可以拆开用,不过麻烦,不建议 )
4.
提供了对其他 js 框架的适配,像对 jQuery, prototype 等。没实际应用过,就不说了。
5.
理解 js 面向对象编程在 ext 中很重要,如果你觉得用 jQuery 时了解简单的 domcss 即可,那你在这就吃大亏了, Ext 处处离不开对象的概念。
6. Ext
UI 开发类似 C# ,有很多控件。不同的是,你要全部自己手写,所以开发量较大。现在虽然有 Ext Designer 可视化工具,但其效果并不很好,生成的代码有的往往不是想要的,不易维护,真做起来还是自己写更方便。
7.
团队开发时,必须保证做 UI 的人每人都会 Ext ,而且深入应用过,因为 Ext 项目是整体,不适于参杂 html 替代。
8. Ext
项目在 IE 系列浏览器上不可用,相当卡,我想这不是 Ext 本身的问题,所谓内存泄露等问题现在早已解决了,而且不是关键所在。我开很多网页同时用 IE8jQuery.net 官网时有时也会卡,试想他们官网肯定做到很好的优化了吧, jQuery 既是如此,何况 Ext 。反观其他浏览器, FireFox, Chrome 等浏览 Ext 项目都很流畅,所以应该是浏览器对 js 解析不同造成的。
9.
版权问题, Ext 运用在商业项目中是收费的。

Flex [
自己也是在学习中,不敢妄言,以后深入应用后再做补充]
1. Adobe
平台的,基于 ActionScript 实现,用在哪都行,但偏重于内网管理系统,用在门户网站就相当于在线玩 Flash 游戏, loading...
2.
Ext 不同,它有健壮的可视化开发工具 Flash Builder ,可以同 C# 一样进行拖拽布局,生成一种 xml ,也便于维护。
3.
编译后生成 swf 文件直接嵌入 html 即可,提高安全性,浏览时同 flash ,需要 flash player
4.
Ext 相同,也是属于一个整体,有丰富的控件库。
5.
这条纯属个人观点, HTML5 不支持插入对象,也就意味着不能插入 swf 文件,难道 Flex 就完蛋了?虽然 HTML5 不支持 Flash 是客观事实,但 HTML5 的统一为时尚远,各大浏览器对 HTML5 的支持, Adobe 是否会有对策,这些会怎么样现在都不好说, HTML5HTML4 并行应该会有很长一段时间,至少 Flex 在现在是一个名列前茅的好产品,所以我选择了它。

SilverLight
微软平台的,主要是应用在微软系列的语言中,包括 CSBS 架构。同样,除了 jQueryAsp.net 也不适合与以上等框架集成,因为 Asp.net 是事件驱动,这些框架都是为消息驱动而生的,勉强应用只会事倍功半,丧失 .net 本身的优势。

js
面向对象编程我一直在提,其实并不难理解,关于这点应该学习下,很有必要。它涉及到代码复用、功能扩展、对象继承、闭包、优化等很多问题,能省去不少编码,便于维护,还能不改变框架源代码而实现不同的功能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值