Dojo推出0.4.0

今天在坛子里,看到有朋友用到了Dojo 0.4.0,遂上Dojo的官网看了下,果然已经推出了0.4.0。

Available for download (Ajax build, others) The 0.4 release contains many exciting new features, a whopping 529 bugs closed, and the initial release of the long-awaited documentation tool, with inline API documentation that will continue to improve with follow-on releases. These improvements will make Dojo appealing to entirely new audiences and will bring Ajax applications to a new level of acceptance as a first-class user environment. Some of the highlights include:

1.dojo.a11y: the foundation for accessibility (a11y), implemented in some of Dojo’s widgets in 0.4 with more to follow in 0.5. Dojo strives to provide keyboard function as well as integration with high-contrast mode and screen readers for the visually impaired.

2.dojo.charting: A charting engine to implement a variety of chart types using vector graphics

3.dojo.gfx: a 2D vector graphics API which renders natively to browsers as SVG or VML

4.dojo.i18n: a follow on to the translation support in 0.3.1, there is now build support for collecting localized resources in a single file as well as support for localized date and time formatting. More formatting types and more localization to come in 0.5.

5.dojo.lfx: major improvements, such as chainable animations

6.dojo.namespaces: support for extensible widget namespaces and an automatic widget manifest loading feature.

7.dojo.widget: new widgets like Clock, FilteringTable, ProgressBar, plus enhancements to Editor2 and the AccordionContainer. Also localization of some widgets, such as DatePicker.

8.AOL’s contribution of a linker for Javascript, not yet integrated into the build.

可以看出修复了不少Bug,增加了很多新的器件,及新的模块,又得学习了,不知稳定性如何,还有待检测。要是实际开发,最好用低一些的版本,因毕竟经过时间检验,bug比较少。

超酷的 WebTTY

今天在Solidot上看到一篇文章,介绍WebTTY。原文如下:

WebTTY 把两项相隔十万八千里的技术结合到了一起:Ajax 和 UNIX 终端。它不是用 Ajax 模拟系统程序,而是真正的把 http 进程和一个 tty 连接到了一起。看看它的演示吧.. (提示:按两下 Tab 可以看到所有能执行的外部命令,或者编一个 shell 脚本执行看看).. 它还是 GPL 的. 是不是这意味着未来有一天我可以抛弃 putty 了?”

下载了简单看了一下,是利用AJAX把指令传递给PHP文件,PHP文件利用函数system()执行命令,并把命令写入文本文件,返回执行结果。不同的用户的指令会存放在不同的文件,以免出现冲突。

真是没有做不到,只有想不到。虽然程序不一定实用,但思路值得我们学习。

利用这个应该可以做个简单的聊天室。有空的时候试试。

什么程序员最易找工作? 十大热门语言大汇集[转]

掌握一些编程语言可让您在职场竞争中收放自如,而扎实的技巧将会让您炙手可热。但是,语言种类繁多。很多开发人员掌握多种语言,懂得在合适的地方合适的时间使用正确的语言,而大多长期从事编程的人员会告诉您周期性的学习新的语言是成为一名优秀成功的网络开发人员的重要步骤。

圣地亚哥的软件工程公司Interknowlogycom的CEO Huckaby说:“我的一位老师曾说编程语言就是一门语言。它与你是否为一个好的编程人员无关,仅仅就是语法。”

但是,Huckaby还说当他的公司运行尚未稳定时,他几乎没有时间来寻找新成员,即便是只懂得某种特定语言的入门级新成员。“我们疯狂雇人,但是那并不容易。我们只是寻找那些刚出校门的有良好天赋的新手,他们只需了解.Net 或Java,因为这样我们可以对他们进行.Net的培训。”Huckaby如是说。

Grandview Systems软件开发主管Wayne Duqaine说:“不要只停留在一两种语言上。我在1969年刚入行的时候,Fortran、Cobol和S/360 Assembler是敲门砖。而10年后,一些新的语言又流行开来。就最近一次统计,在过去30年中,我学习掌握了超过24种不同语言。”

以下,我们选取了10种编程语言进行比较,为您寻找更有挑战的工作提供参考。

1. PHP

基本描述:一种开源,工作在服务器端,跨平台,使用HTML脚本的语言,因为可置入HTML页面,因此尤其适用于网页制作。

学习理由:使用十分广泛。“借助缓存高速调用脚本,并使用编译代码插件来增强效果是今后趋势所在。使用C或COBOL创建Web应用程序是不可行的。

2. C#

基本描述:一种通用编辑,面向对象的编程语言,由微软作为其.net计划的一部分开发而成,包含C和C++。

学习理由:是.Net框架的基础部分。Duquaine说:“如果您大量使用Microsoft的产品,那么学习C#是十分有必要的。”

3. AJAX (异步 JavaScript 与 XML)

基本描述:虽然从技术上来说,这并非一种编程语言,但是AJAX使用XHTML或HTML,JavaScript以及XML来建立互动网络应用程序。

学习理由:自从Google地图将AJAX应用到地图上,对AJAX知识的需求不断膨胀。Huckaby说:“对AJAX知识需求相当大,因为它很难掌握。”微软最近声称将发布一个名为Atlas的工具来帮助AJAX更容易被实施。Huckaby说:“如果微软的Atlas工具获得成功,它将会给普通工作者带来极大的复杂性和困扰。”

4. JavaScript

基本描述:请不要与Java混淆,JavaScript是一种面对对象的脚本变成语言,它运行在客户端的Web浏览器上。它比Java更简洁,拥有简化的命令,易用的代码,并且无需进行编译。

使用理由:它可置入HTML,被用于大量的网页来验证表格,建立cookie,侦测浏览器以及提高设计。由于其易于学习与使用广泛,已被视为重要的学习背景。

5. Perl

相关描述:Perl是一种开源跨平台、运行在服务器端的解释语言,在CGI程序中被大量用于处理文字。

学习理由:Perl在处理大量文字方面的能力使得其非常流行,且广泛用于写入多任务的网络服务器程序。Duquaine说:“如果您正在从事网络应用程序的工作,那么学习某种脚本语言(如Perl或PHP)是十分有必要的。”

6. C

基本描述:一种标准化的通用编程语言,它是最普及的语言之一,也是多种其它语言(如C++)的基础。

学习理由:Duquaine说:“学习C是相当重要的。在学习了C后,跳跃到Java或C#就变得十分容易,因为许多语法是通用的。另外,许多C语言的语法也被用于脚本语言。”

7. Ruby and Ruby on Rails

基本描述:Ruby是一种动态的面向对象的开源语言。Rails上的Ruby则是一种使用Ruby编写的开源网络程序框架,该框架与MVC(模型-查看-控制)结构十分类似。

学习理由:由于简便性,有效性以及让电脑完成任务的能力,近年来,该语言的使用量已经迅速增长。另外的好处是非常容易学习。

8. Java

基本描述:一种面向对象的变成语言,由James Gosling和其Sun Microsystems的同事在上世纪90年代早期共同开发。

学习理由:被许多开发人员所拥戴,被成为“美丽的”语言。它适用于没有.net编程经验的人员。Duquaine说:“如果您不是微软产品的使用者,那么学习Java必不可少。”

9. Python

基本描述:一种动态面对对象的翻译开源语言。使用动态存储管理。

学习理由:Python是一种高度可读的抽象语言,许多开发人员认为其非常有趣,它的语法简单,因此被Google与学术界大量运用。

10. VB.Net (Visual Basic .Net)

基本描述:一种面向对象的语言,在微软.Net框架中使用。

学习理由:最具争议的是VB.Net目前是否为最流行的且是几种必须掌握的语言之一。Huckaby说:“VB.Net目前是被广泛优先采用的。”

功能强大的Backbase

今天试用了一个新的AJAX框架,Backbase,网址:http://www.Backbase.com

Backbase是个商业框架,可以下载到试用版本,但源代码加密过。

试用了一下,感觉界面效果比较出色。但实现原理与普通的AJAX框架不一样,开发起来有些吃力。

Backbase 使用 BXML ,BXML是一种基于 XML 的平台中立的 UI 定义语言,用于描述在 Web 浏览器中运行的动态用户界面。

BXML有一下重要特性:

  • DHTML 和 Ajax:它提供了一种强大的 DHTML 和 Ajax 的概念,不需要了解底层的,跨浏览器的 JavaScript 编程。
  • 扩展机制(Extensible Mechanism):所有的 XHTML 元素可以用 BXML 属性扩展,也可以创建自定义标签。
  • 基于模型的范例(Model-based paradigm):BXML的基于模型的范例允许你:构建数据驱动的富客户端,轻松增强已存在的 HTML 站点和 Web 应用程序,rapid prototying,定义 UI 行为无须使用脚本语言。
  • 无障碍 UI 控件:一系列标记实现了控件,比如树结构和菜单。

    熟悉了BXML应该对使用Backbase有很大帮助,我目前的感觉用Backbase,与普通的javascript开发已经是两种概念。用Backbase就好象在写XHTML,事件之类的都已经演变成了元素的属性。待学习的深些再写些东西与大家分享。

    Backbase的文档比较齐全,也附带了许多比较Cool的Demo,包括经典的Pet Shop。

    这是一个旅游订票的例子:http://www.hopesoft.org//js/Backbase/3_2/starterkits/travel/index.html,很Cool的效果。相信你会喜欢上它的。

    目前如果要用AJAX做大的项目,最好用AJAX框架来做,可以省去好多工作,而且用很少的工作,很高的效率就可以达到很Cool的效果。难点就在于如何能透彻的了解框架。目前用AJAX框架开发大型项目经验的人太少了。

    再就是要学学Java了,做AJAX,必须得会这个东东。要学的东西太多了,累。

  • AJAX架构之Dojo篇

    作者:hopesoft
    出处:http://www.hopesoft.org

    一、前言
    自去年开始,AJAX一下成了关注的技术热点,各种AJAX框架迅速的发展了起来,其中又分为客户端AJAX架构,服务器端AJAX架构等,其中DojoToolkit做为一个优秀的客户端AJAX架构,被越来越多的人所关注,学习。自去年开始,AJAX一下成了关注的技术热点,各种AJAX框架迅速的发展了起来,其中又分为客户端AJAX架构,服务器端AJAX架构等,其中DojoToolkit做为一个优秀的客户端AJAX架构,被越来越多的人所关注,学习。

    二、Dojo简介

    作为早期的开源AJAX架构之一,Dojo开始于2004年9月,网址是 http://www.dojotoolkit.org,由JotSpot的Alex Russell所领导。

    Dojo是一个开源的JavaScript工具包,本身预置了很多模块,可以实现完整的轻量级窗口组件及很多功能。Dojo的包加载机制(Package System)可以实现动态加载所需模块,而且用户可以编写自己的Dojo扩展模块,有很好的灵活性。

    继续阅读

    从程序员到企业家[转]

    如果你不甘心做一辈子程序员,也幻想着有一天可以有属于自己的事业,Ian Landsman有十条很有意义的建议:
    
    代码只是你事业的5%
    
    如果没有人知道你的产品,代码什么用都没有。
    
    对于竞争来说,设计就是一切
    
    虽然大家都不承认,但是外表的确很重要。不需要一下达到完美,只要比你的竞争对手好一点就可以。
    
    有长远的考虑
    
    不能写完代码就万事大吉,你需要考虑几个月甚至几年内的市场和产品定位,你必须逼着自己想六个月后产品、市场和销售应该是什么样。
    
    承认自己不了解用户并努力修正
    
    不了解用户到底需要什么,就不可能有好产品。
    
    爱你的客户
    
    我们是上班族所以我们恨公司的客户。如果你要开创自己的事业,你需要改改这个习惯。
    
    设计的原则是简单易用,哪怕高端客户也喜欢易用的产品
    
    把高超的技术隐藏在简单的界面背后。看看Google的主页就知道了。
    
    让不熟悉你的项目的用户帮着挑毛病
    
    甚至是那些不熟悉这个领域的人,都常常能指出你看掉了眼珠也找不出的重要问题。
    
    不要害怕把产品拿出来见人
    
    让用户看到并提出他们的意见再来修改,远比自己闭门造车追求不存在的完美强。
    
    耐心是一种美德
    
    时间总是不够用,不要给自己设置过高的目标,不要为自己不能完成所有的事情而感到沮丧,耐心才是你所需要的。
    
    永远象一个初学者
    
    还记得你刚开始学编程的时候么?你买了八本书,并且每本都读过还觉得没读够。现在也是,你需要学习了解你的目标市场、如何运营、如何管理、如何支配时间。磨刀不误砍柴功。

    dojo、写字、BASH、Discuz!5.0、拓扑

    今天开始写介绍dojo的文字,会不会被采用已经不重要,重要的是自己在尽全力去认真的做这件事。虽然感觉有些自不量力,也感觉压力很大,但这样学习东西更快一些,理解也更深一些。

    今天看子乌的叶子,看到子乌已经暂停更新Blog,他在网站上说到:
    ———————————————–
    由于工作劳累的原因,现在对于上网兴趣锐减,为了避免文章质量下降(原来已经没什么质量了,再下降的话……),将暂停内容更新,预计到11月上旬重新开始。
    ———————————————–
    看来写字确实是件累人的事。

    近几天通过对dojo这个框架整体上了解越来越多,感觉dojo确实是个有发展的AJAX框架,首先从机制上保证了高性能与高扩展性(动态载入模块,用户可编写自己的扩展),而且官方不断增加的模块可以保证提供丰富的功能供我们使用。我们要做的只是熟悉dojo的各个模块下的包提供的功能,并尽量在开发中重用这些代码,而不用考虑跨浏览器的兼容性、XHR对象的创建等等工作。

    可能容易遇到的问题是dojo太庞大了,让我们无法一下吃透它。了解的越多,感觉越深。下一步网站的重点是丰富dojo的内容,如dojo的文档的翻译、汇总、编写有针对性的示例代码等等,切实提供一些原创或整理过的内容,避免简单的抄来抄去。

    今天写了个bash脚本,找了N多bash的资料,哪天整理一下放上来,网上真是高手如云,学无止境。

    晚上下载了DZ5.0,如果这周有时间,论坛准备迁移至DZ5.0,因DZ5.0提供了更多的功能,但可能会带来一系列的工作,如个性化修改、模板等等,刚改好的模板又得改了。

    今天在试着画dojo的拓扑图,工具不趁手,用word在画,累。哪位有好的画拓扑图的小工具,麻烦介绍个,太大的就免了,谢谢。

    要睡了,近几天睡眠严重不足,怪不得国庆时每天下午都要睡觉,原来都是平时欠下的,好想到周末啊。。。

    解决Discuz utf8版的邮件乱码问题

    因论坛每天都有自动注册的用户[应该是用来发送垃圾信息的],于时把论坛的用户注册改为了Email验证,因论坛编码是UTF-8编码,在测试时发现用户收到的验证Email是乱码,Google了一下,找到了解决方法,如下:
    ==========================================================
    修改include/sendmail.inc.php文件,找

    $email_subject = str_replace(“\r”, ”, str_replace(“\n”, ”, $email_subject));

    低下添加

    $email_subject = “=?UTF-8?B?”.base64_encode($email_subject).”?=”;

    @mail($email_to, $email_subject, $email_message,”From: $email_from”)

    修改为

    @mail($email_to, $email_subject, $email_message, “MIME-Version: 1.0\n” .”From: $email_from” . “\n” . “Content-Type: text/plain; charset=utf-8\n”);

    ==========================================================

    dojo.io.bind的编码问题

    AJAX留言板今天增加了后台的删除功能,明天增加回复功能。

    这个AJAX留言板目前用到了dojo,本来用原生Js也可以完全做到,但为了熟悉AJAX框架,开始采用dojo,权当练练手。使用中也确实发现,dojo确实省去了好多重复的东西,比如创建xhr对象等等,不过框架过于庞大,熟悉起来有一定难度,需要一个过程。

    今天在调试时,看到有网友留言,显示内容为乱码;比较郁闷,因前几天因乱码问题已经解决了,为何又出现了呢?原来用的是原生JS,看来有可能是dojo的问题。

    继续阅读