Ext Core 3.0 Beta Released

2009.04.12 星期日 - Posted in AJAX新闻, AJAX框架, ExtJS之路,, by hopesoft

4月4日,ExtJs团队发布了Ext Core 3.0 Beta版,它是即将发布的ExtJs 3.0的一个分支,基于MIT License版权。

一、Ext Core主要功能

Ext Core采用面向对象的方式设计,便于提高代码的简洁及复用。对以下各种操作提供了跨浏览器支持:
* DOM manipulation and traversal
* CSS management
* Event handling
* Dimensions and Sizing
* AJAX and JSON Support
* Animations
除此之外还包括其它一些常用功能:
* Classical Inheritance Class System
* Observable Class
* Markup generation and Templating
* Timed code execution
* URL encoding and decoding

二、Ext Core尺寸

Ext Core 3.0 Beta版的主文件ext-core.js压缩后有75K,经过压缩和gzip处理,最小可以达到25k。相对jQuery 1.3.2的19k来说还是比较大。

据官方Blog的描述,Ext Core 3.0的设计目标是包含于动态网页或开发小的应用。直接竞争对手就是jQuery。有意思的是jQuery目前的定位是”瑞士军刀”,提供强大的Dom操作功能,并通过丰富插件来扩展jQuery的功能,是从小往大。而ExtJs是先推出大而全的解决方案:ExtJS,然后再推出精简版:Ext Core,试图通杀”胖应用”和”瘦应用”两个场合。

应该说ExtJs的这个方向是非常正确的,毕竟使用ExtJs的场合有限,人们在羡慕ExtJs华丽的界面时,也会因它的速度而望而却步。Ext Core的适时推出,可以拉拢一部分用户,占领更多的市场,扩大ExtJs的影响力,当然实际效果还有待用户来检验。

三、Ext Core 手册

可以从这里浏览:Ext Core 手册

四、Ext Core 演示

Ext Core 3.0的下载包中包括了几个常见的例子,包括标签菜单jsonp调用幻灯片、lightbox效果及前几项的组合使用,效果非常棒。例子中的代码沿用与ExtJs一致的OO方式编码,推荐大家学习。

五、DomQuery和CompositeElementLite
DomQuery提供高性能的对象选择器。它支持大多数CSS3选择器的规格,以及少数自定义选择器和基本的XPath 。使用CompositeElementLite可以批量操作多个对象。比如下面的例子:

// selects a collection of elements and adds the class 'myCls' to each one.				
Ext.select('div:has(> span.someClass)').addClass('myCls');

六、事件处理更容量

Ext Core提供抽象的跨浏览器的处理机制,并支持自定义事件。最重要的是,它支持多种配置选项(delaying, buffering, delegating, and targeting events)。比如下面的例子:

Ext.fly('elId').on('click', function(e, t){
    // e is normalized cross browser event object
    // t is the target element
 
    // Update contents of the element with id "log" to notify the user of the event firing
    Ext.fly('log').update('You clicked on the element with id: ' + t.id);    
});

七、AJAX请求

Ext Core提供简洁的跨浏览器的AJAX调用。比如下面的例子:

Ext.Ajax.request({
    url: 'serverSide.php',
    success : function(r){
        // using the built-in Ext JSON support
        var data = Ext.decode(r.responseText);
 
        // data is now a regular Javascript object
        console.log(data.items[0].title);
    }
});

如果只是要更新页面中的内容,可以使用快捷方式:

Ext.fly('elId').load({
    url: 'serverSide.php'
});

以上是有关Ext Core的一些基本情况,可以看出ExtJs的野心不只局限于”胖应用”,通过Ext Core也向”瘦应用”开始进军,希望ExtJs能给我们带来更多的惊喜!

WordPress代码高亮插件-WP-CodeBox

2009.04.09 星期四 - Posted in wordpress,, by hopesoft

刚刚试用WP-Syntax发现有些问题,随用Google搜索”代码高亮”,又发现一款插件,WP-CodeBox。

试用了下还可以,有些在WP-Syntax下显示有问题的代码在WP-CodeBox下显示没有问题。这是一款国人开发的插件,基于GeSHi,支持超多语言,支持文件下载,IE下支持“复制到剪贴板”操作,代码框收放及后台默认属性设置。

一、下载地址:
http://wordpress.org/extend/plugins/wp-codebox/

二、使用方法:

<pre lang="javascript" line="1″  file="test.txt" colla="+">

其中:lang:高亮的语言格式
line:值为”n”时,不显示行号。否则从以该值为行号的起始值。
file:下载文件名
colla:可设为”+”或”-”,分别代表代码框展开或收缩
line,file,colla为可选属性。

WordPress代码高亮插件-wp-syntax

2009.04.09 星期四 - Posted in wordpress,, , by hopesoft

我原来在WP中使用的代码高亮插件是CoolCode,还算好用,不过不支持可视化编辑器,作者也好久没有更新了。

前几天找到一款新的代码高亮插件:wp-syntax,试用了一下,确实不错。

一、下载地址:
http://wordpress.org/extend/plugins/wp-syntax/

二、支持语言:
abap, actionscript, actionscript3, ada, apache, applescript, aptsources, asm, asp, autoit, bash, blitzbasic, bnf, boo, c, cmac, caddcl, cadlisp, cil, cfdg, cfm, cobol, cpp-qt, cpp, csharp, css, d, delphi, diff, div, dos, dot, eiffel, fortran, freebasic, genero, gettext, glsl, gml, bnuplot, groovy, haskell, html4strict, idl, ini, inno, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, lotusformulas, lotusscript, lua, m68k, matlab, mirc, mpasm, mxml, mysql, nsis, objc, ocaml-brief, ocaml, oobas, oracle8, pascal, per, pic16, perl, php-brief, php, plsql, povray, powershell, progress, python, qbasic, rails, reg, robots, ruby, sas, scala, scheme, sdlbasic, smalltalk, smarty, sql, tcl, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, visualfoxpro, winbatch, xml, xorg_conf, xpp, z80

三、使用方法

<pre lang="LANGUAGE" line="1">代码<pre>

其中:LANGUAGE为具体语言的代码,line=1表示显示行号

四、扩展用法
给WordPress编辑器添加一快捷按钮方法:
修改\wp-includes\js\quicktags.js,请点击这里查看

Dojo 1.3 now available

2009.04.01 星期三 - Posted in AJAX新闻, AJAX框架, by hopesoft

经过了数月的开发,Dojo在愚人节前一天,1.3正式版。这个版本加入了许多新功能,亮点之一是对IE8和WebKit (Chrome, Safari)的兼容性和性能的处理。

下载地址:http://download.dojotoolkit.org/release-1.3.0/

可以在页面直接引用Google和AOL的CND上的对应文件,地址如下:

Google CDN引用地址:

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.3.0/dojo/dojo.xd.js"></script>

AOL CDN引用地址:

<script src="http://o.aolcdn.com/dojo/1.3.0/dojo/dojo.xd.js"></script>

Dojo 1.3的公共API:http://download.dojotoolkit.org/release-1.3.0/cheat.html

以下是一些新增的API的用法:
dojo.create, dojo.destroy, dojo.empty, dojo.place

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// create a div.
var n = dojo.create("div");
 
// create a div with content and styles
var n = dojo.create("div", { innerHTML:"hi!", style:{ height:"200px" } });
// destroy the node safely
dojo.destroy(n);
 
// place an anchor somewhere, before the node with id="someNodeId"
var a = dojo.create("a", { href:"http://dojotoolkit.org" }, "someNodeId", "before");
 
// empty the contents of a node safely:
dojo.empty("someNodeId");
dojo.query(".nodes").empty();
 
// place a new LI in an UL at the first position
dojo.place("<li>Newly created DOM Node</li>", "someUl", "first");
 
// complex creation in dojo.query. passes through dojo.place
dojo.query("#myNode").addContent("hi there!", "first");

Alex’s开发了新的选择器引擎(selector engine):Acme,大大增强了本已经很快的dojo.query。John Resig的Sizzle选择器引擎也可做为构建(build-time)选项。

英文官方原文:http://www.dojotoolkit.org/2009/03/31/dojo-1-3-now-available

时间管理软件-Chandler

2009.03.30 星期一 - Posted in 生活随笔,, , , by hopesoft
    今天在 网友的Blog(http://www.gtdstudy.com/?p=500)上看到一款时间管理软件:Chandler,下载试用了一下,感觉不错,以下是具体介绍(大部分内容转自:老杨的Bloghttp://laoyang.yo2.cn/articles/chandler-get-started.html)

 Chandler是一个符合GTD思想的时间管理软件,它不但集成了日程管理和任务管理,还有邮件处理功能。另外,它还可以有网络同步功能。

    1.下载、安装及汉化

    项目地址:http://chandlerproject.org/
   
    在这里可以下载已经汉化好的1.0.2版本(个头有点儿大,有40多M)

    如果想自己汉化的话,看看http://code.google.com/p/chandlercn/wiki/Chandler_FAQ?ts=1230771330&updated=Chandler_FAQ,这样能在使用中对不满意的词条进行修改

    2.基本概念(参考Chandler Get Started Guide)

    Chandler里面基本的信息单元是“条目”-item,依照条目的属性不同,分为“便条note”,“加星便条starred note”和“事件event”三类。三类间可以互相转换。可以通过邮件发送条目

    比条目高一级的是“分类”,分类和条目是多对多的关系。由于条目的属性不同,分类可以有三种视图,分别是“所有条目”“加星标的”“日程表”,其中日程表只显示有时间属性的事件。

    每一个条目有三个状态:NOW LATER DONE。正如字面的意思。当事件未开始的时候,自己会标为LATER,开始了之后自动标记为NOW

    3.界面介绍

Chandler

Chandler

    4.试用说明
    
    我之前安装过Rainlendar2,Chandler与之相比,操作更方便,详细功能还有待试用。 

针对IE浏览器的内存泄露检测工具

2009.03.28 星期六 - Posted in JavaScript,, , , by hopesoft
今天在JE的论坛里看到有篇帖子讨论ExtJS的内存泄露问题,提到了一款内存泄露检测工具:sIEve,又在网上看到还有个类似的工具:Drip,具体如下。

1.sIEve-0.0.8.exe
官方主页:http://home.wanadoo.nl/jsrosman/
最新版本:http://home.wanadoo.nl/jsrosman/sIEve-0.0.8.exe
截图:

sIEve界面

sIEve界面

2.Drip-0.5.exe
官方主页:http://outofhanwell.com/ieleak/index.php?title=Main_Page
最新版本:http://www.outofhanwell.com/ieleak/Drip-0.5.exe
截图:

Drip界面
Drip界面

大概试用了下,首页在来回拖动时内存会增长,具体用法还有待研究,使用得当的话对提高性能有很大帮助。

Dojo 1.3 RC2 发布

2009.03.27 星期五 - Posted in AJAX框架, by hopesoft

Dojo 在3月23日发布了第二个RC版本,并希望这是最后一个 1.3 的RC版。该版本主要是修正了跟 IE 8 相关的一些问题。

该版本支持的浏览器包括:

  • Internet Explorer 6.0 through 8.0
  • Firefox 1.5 through 3.0 (Dijit supports only FireFox 2+)
  • Safari 3.1
  • Chrome 1.0
  • Opera 9.6 (Dojo Core only)
  • Konqueror 3.5+ (Dojo Core only)

下载地址:http://download.dojotoolkit.org/release-1.3.0rc2

BUG提交:http://bugs.dojotoolkit.org/

Dojo 1.3 的主要特点:

  • large behavioral and structural improvements to the Dijit widget set
  • new widgets and refactoring of Dijit infrastructure
  • IE 8 compatibility
  • up-porting several DojoX components into Core and Dijit
  • a distributed module system
  • Improvements to Tree and Grid widgets
  • Improvements to Form Validation

Dojo 1.3 will be fully backwards-compatible with all previous releases on the Dojo 1.x line.

表格排序和表头浮动效果(扩展SortTable)

2009.03.22 星期日 - Posted in JavaScript, 我的代码,, , , by hopesoft

前段时间一个项目有大量页面用到表格排序和表头浮动的效果,在网上找了几个表格排序的js代码,最后选择了 Stuart Langridge的SortTable,在SortTable基础上做了些扩展,加上了表头浮动效果及一些小功能。

Demo页:http://www.51ajax.com/demo/sorttable/

一、SortTable说明
SortTable
version 2
7th April 2007
Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/

Instructions:
Download this file
Add <script src=”sorttable.js”></script> to your HTML
Add class=”sortable” to any table you’d like to make sortable
Click on the headers to sort

Thanks to many, many people for contributions and suggestions.
Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
This basically means: do what you want with it.

用法:将要排序的表格添加CSS,如<table class=”sortable”>
默认对所有列都会添加排序功能,对于不需要排序的列可添加CSS:”sorttable_nosort”,如<td class=”sorttable_nosort”></td>

二、更新说明

Update:
version 2.1
9th Mar 2009
Hopesoft , http://www.51ajax.com/blog/

说明:
1.增加中文排序
2.增加指定各行使用不同css样式功能(比如奇偶行背景色不一致)
用法:在要表头浮动的表格上添加属性,如<table class=”sortable” rowclass=”bg1,bg2,bg3″>
3.增加表头浮动功能(支持同一个页面有多个表格,比如不同Tab标签下的各个表格)
用法:在要表头浮动的表格上添加CSS,如<table class=”scrolltable”>
另外最好指定“表头”和“数据行”的各列的列宽,如
<tr><td class=’w1′>姓名</td><td class=’w2′>年龄</td></tr>
<tr><td class=’w1′>张三</td><td class=’w2′>21</td></tr>
以避免在FireFox下表头浮动时表头各列与数据各列不对齐
4.增加页面载入后自动排序
默认是对第一个要排序的表格的第一列做排序

新增的代码都用中文做了注释,屏蔽了原有代码中部分代码。

希望对大家能有帮助,在使用中如有问题可在此留言。

总结08 展望09

2008.12.31 星期三 - Posted in 生活随笔, by hopesoft

今天是2008年最后一天,在这里对2008年做一简单总结。

今年最大的变化就是从.Net平台转到了Java平台,经历了几个大大小小的项目的锤炼,已经逐渐窥得门径。09年还得继续深入掌握Java开发。

9月份对公司的博客系统进行了升级改造,博客服务器端使用了AjaxPro框架,客户端有大量的JavaScript代码,这次升级把前台代码基本上重写了一遍,用户体验上有了很大提高。

今年用ExtJs框架做了两个小项目,初步体验了ExtJs框架强大的功能,ExtJs的优点是提供了各种组件,可以打造出相当专业的用户界面,缺点是学习成本较高,使用不好有潜在的性能问题。下一步要尝试下Java+ExtJs的组合。

11月份参加了一个考试,成绩还不错,明年3月份还得开始继续上课,这是一场持久战,坚持就是胜利。

今年在51Ajax.com上投入的精力太少了,因为工作比较忙,平时也有各种各样的事情,在09年希望能充实一下内容,否则对不起这个域名啊。

今年办了张健身卡,就在隔壁的小区里,离的很近,后来因为工作比较忙,去的比较少,明年还要坚持锻炼,身体是革命的本钱。

08年就要过去了,希望在新的一年里家人朋友都身体健康,平平安安,工作顺利!

On The Java Way

2008.11.09 星期日 - Posted in 生活随笔, by hopesoft

最近很忙,正在向Java平台迁移。目前还得在.Net和Java平台来回开发,估计明年就得告别.Net了。

Eclipse、Linux、Open Source,都是我喜欢的东西。希望在用Java开发一段时间后,能埋下头来仔细研究下Java的各种框架,理论和实践结合才能有更深入的了解。

今天在公司加了一天班,周末的工作效率要高于平时,毕竟没有那么多人打扰。消灭了N个Bug,不过明天QA估计又会提出新的Bug。反复几个来回,直到可以上线为止。