开始深入学习jQuery和extjs

  任何一种技术框架,都不能为了掌握它而掌握,必然是有一些其它框架无法比拟的特性,才会吸引我们去研究。
  说起javascript,其实也零零散散写了六七年了:起初是使用alert、setTimeout之类的函数实现简单的页面特效,那时还可以肆无忌惮的使用document.all等对象;后来随着03、04年firefox和xhtml的迅速推广,客观上要求程序员要具备书写标准的跨平台的脚本的能力,于是开始更多的采用DOM技术编写javascript;紧接着就是05年,ajax风潮席卷了整个IT界,它不但把javascript的地位提升到了很高的层次,还促进了C/S、B/S程序技术的大融合,此外,MVC的思想也深入人心。
  由于更多的人力投入到javascript阵营中,催生了很多开源平台的诞生与繁荣,如开山鼻祖prototype,以及后来的dojo、jQuery等等。商业力量也试图占领这块市场,例如Yahoo的YUI(包括后来的YUI-ext),Google的GWT等等。这些开源库都有各自的特点,但始终无法在文档成熟度、表现层展现能力等方面达到整体的高度。直到今年YUI-ext与jQuery进行了整合,并推出了extjs,才比较好的弥补了这些“短板”。目前稳定版本是1.1.1,2.0 ALPHA也刚刚推出,预计又会有大幅度的提升。
  在工作中使用javascript,无非是要尽可能又快又好的完成PM制定的各项功能特性,例如进行友好的表单验证,拖动/隐藏界面中的一部分内容等等。工期常常是比较紧的,调试也相对繁琐,且要支持各种主流浏览器,那么开发过程客观上就要依赖于稳定的代码库。我打算使用这两种库的主要原因有以下几点:

  1. jQuery可以彻底实现JS与HTML的分离。我们只需要这样写:

    $(document).ready = function(){
    //...
    }
    

    就可以代替body标签中的onload。从而所有的JS代码都可以从HTML中移出,非常便于维护。

  2. extjs的前端展现比较丰富。例如增加一个toolbar,里面放一个menu,我们只需要这样写:

        var dateMenu = new Ext.menu.DateMenu({
            handler : function(dp, date){
                Ext.Msg.alert('Date Selected', 'You chose ' + date.format('M j, Y'));
            }
        });
    var menu = new Ext.menu.Menu({id: mainMenu, items: [{text: 'Choose a Date', menu: dateMenu}]});
    var tb = new Ext.Toolbar('toolbar');
    tb.add({text: 'menu', menu: menu});
    

    就可以实现一个下拉菜单效果,其中有一个功能是选择日期。当选中一个日期后,会弹出一个提示框,显示刚才选中的日期。

  3. JS开发对浏览器透明。
    在书写大部分代码的时候,无需考虑太多浏览器的差异,例如创建xmlhttp对象,例如绑定事件,等等。这样可以把精力真正放到业务的实现上去。

《开始深入学习jQuery和extjs》有11个想法

  1. jquery主要是在选择器、ajax、事件挂载等方面有优势。extjs除以上优势外,还为表现层提供了许多组件。另,extjs和jquery可以混合使用,如果不需要实现华丽的拖动、表格等效果,或者打算自行实现的话,还是建议只用jquery。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Google photo

您正在使用您的 Google 账号评论。 注销 /  更改 )

Twitter picture

您正在使用您的 Twitter 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s