很久没关心Eclipse基金会的动作了,只是不断在使用,不断在开发,不断在教别人使用和开发,然后就是等待Eclipse的下个版本。那么,Eclipse基金会究竟在干什么呢?我不想写篇很长的Blog了,只是随便谈谈最近的几个映像:
1。Eclipse 3.3如果我的推算没有问题的话,今年的第三季度我们就可以拿到正式版的3.3了,3.3好像没有什么太大的动作了,我只记得3.2的时候搞了一个MDC(百万下载挑战),据说在预订一半多的时间里就实现了百万下载量。回头看看Firefox好像几乎没花什么精力下载量就达到千万级别了,不是一个类型的软件确实没法比啊。
看了3.3M6的一些表现,Forms包的外观有些改善,但是不知道有没有结构上的调整;Application扩展点的API改了很多,名字也比原来合理了,不过最近正在开发中的一些项目又要重构了,呵呵;最令人激动还是View终于可以折叠到一边了,而不是原来那样最小化了之后还占很多位置,而且最大化也更酷炫了,得益于View的新折叠方式。
2。越来越重视MacOSXSWT 3.3的“New and Noteworthy”可以看到这个趋势。记得我去年与Sun公司的James Bai谈到Eclipse与NetBeans时,我就表达了自己的观点,好像Blog里面也有。事实上,“惯用法和外观”在MacOSX系统上的重要地位是没用过苹果电脑的人无法想象的,Eclipse在Windows确实很漂亮,但是之前的版本在MacOSX上还是远不如NetBeans的。我自己也遇到了这样的问题,我们在Windows上开发有“助记符”的问题,比如文件菜单,应该写成“文件(&F)”,这样F下面有条小横线,用户按Alt-F就可以直接打开文件菜单,但是在Mac上没有这样的设计,Eclipse展示出来仍然是这样,就显得有明显从Windows移植的痕迹。除了Mac的菜单外,Mac的窗体、Mac的工具栏、Mac的任务栏、Mac的快捷键都有很多与Windows不同的地方,Eclipse要加油了啊~~
回到说SWT,3.3在MacOSX上有了不少改善,增加了TrayItem,增加了彩色鼠标指针,还改了一个reparent的bug。
3。Ajax是大方向前段时间炒作了一条新闻,说Eclipse基金会同时发布了三款用于Ajax开发的插件,这个说法是欠妥的。因为这三个项目都是很久以前就有的,现在把他们拿到一起来说,根本原因就是为了回应现在炒作很凶的Ajax。其中“Dynamic Languages Toolkit”没什么稀奇的,NetBeans也已经做了,但我相信Eclipse在易用性方面一定又是做到最好;“Ajax Toolkit Framework”也就是ATF是三者中最红的,现在要合并进WTP了,是为Dojo、Rico、Zimbra这些API的开发人员提供集成,套用行话说,就是“Ajax开发人员终于有了自己的IDE了(欢呼+大笑)”;唯独只有“Rich Ajax Platform”(RAP)最值得一提。
这是一个与众不同的项目,非常具有前瞻性和远见性,这也是Eclipse一贯的做事风格。RAP的缩写是来自于RCP的,RCP已经家喻户晓了,很多知名项目比如Lotus Notes 8和RSSOwl都是基于RCP的,RCP的程序员也很多,“如遇危难,RCP可以将兵!”但是面对Ajax一夜来袭,很多Rich Client应用程序开始希望自己能够搬到Web上去的,可是怎么搬呢?把Java代码翻译成javascript吗?我们都知道真正伟大的程序员都是在Java平台上的,而Java程序员大都不喜欢javascript这样高效但不严谨的风格,尤其是不好调试这一项,使得javascript项目的成本随规模成几何级数递增,这种事情放在Google这样钱花不掉的公司身上还行,但是要放在小公司上就捉襟见肘了。
所以行业内的专家经过这几年的反复斟酌,得到的结论是,终极的解决方案还是要让程序员手写Java代码,出来的却是javascript效果。那如何实现这样的转变了,有两个方案。一是写一个编译器,首先给出一个限定的Java API库,只有utils包、io包、lang包的少数功能和标准控件,最好是SWT式的,大家都很习惯了,如果程序员仅用这些API(和自己编写的API)写代码,就可以被这个编译器丝毫不差的编译成javascript代码,在本地执行和在Web上执行达到相同的效果,这样完全可以调试,也可以扩展这些API。这种解决方案以Google的GWT为代表。二是写一个服务器,这样就可以用全套的Java API,但是不能用AWT和Swing,再给出一组标准控件,(最好是SWT式的,大家都很习惯了),程序员所写的Java代码其实是在服务器上运行的,服务器根据这段代码的操作,把相应的结果反馈给Client端也就是浏览器,而浏览器以javascript的方式展现和接收事件。这种解决方案的代表,就是RAP。
还要说的一点就是后者其实有个帮手,也算很多Ajax网站的诀窍,就是JSON。JSON是把一个Map(名值对组)序列化成XML的工具,如果这样解释好像没什么新奇的。。。那么好,应广大JSON粉丝的强烈要求,我把JSON的解释改成:“JSON就是一个你在服务器端把JavaObject给它,就能在浏览器端取出一个javascript object的神奇而又强大的工具,而它的实现机制,只不过是把一个Map序列化成XML”!
这两个方案有明显的差别,可以说根本不是一种技术,但是他们很可能都有前途,都是王者之道,一个齐桓公一个晋文公,都有机会成为霸主,也完全有可能鼎足而立,开发人员选择谁,完全是根据项目的情况,甚至有可能。。。开发一个联合的方案。。。把GWT封装成一个Eclipse RAP的插件。
4。看看Summer Of Code不小心点进了Google的Summer Of Code,之前就已经关注过一些,但是好奇心还没有驱使我点Eclipse Foundation进去看,今天终于按奈不住了。。。先简单介绍一下Google SoC[http://code.google.com/soc/],其实是这样的,很多开源软件基金会想花钱请一些比较牛的大学生来开发一些代码(这些都是最著名的开源软件,也是最肥的),但是不知道去哪里找大学生。Google的影响力比较大,所以就挑了个头,先把这些开源项目的ideas登上去,让学生们挑,学生再把自己的简历投给Google,Google安排一个统一的时间由开源组织去选,选中的学生由Google撮合双方见面或不见面开发,主要是利用了学生在暑期的80天空闲时间,然后老板把钱付给Google,Google付给学生,中间40天的时候Google还要搞个“期中考试”。。。看了一下Eclipse的ideas,挺惊讶的,虽说这不是Eclipse项目发展的主流,但是也从一定程度上显示了Eclipse的不小野心。
其中我最感兴趣的是“Eclipse Open Office Integration”,它旨在把OpenOffice.org的组件嵌入到Eclipse的编辑器中去,而在此之前,Eclipse已能方便的嵌入Microsoft Office的组件了(得益于ActiveX)。这样的功能如果能实现,对我们平时的开发也是很有好处的。另一个我感兴趣的就是“Eclipse install based manager”,现在的RCP没有自己的安装程序,只是在Eclipse的帮助文档中有一篇制作RCP Install的指南,但这是远远不够的,我花在做安装程序上的时间太多了,不值得,因为这些都是共性的工作。除此之外,我还对“RCP real-time collaboration based upon ECF and Google Talk XMPP-based messaging service”感兴趣,如果Eclipse不做,我们也要做这样的功能。最后要提到的一个好玩的功能就是“NetBeans in Eclipse”,两种插件接口对Java阵营还是不利的,如果我为NetBeans编写的插件能够跑在Eclipse上的话,那NetBeans的新特性就会都变成Eclipse的新特性了(够自私了吧!)
5。RCP仍是无冕之王Eclipse官网的黄金位置还是留给了RCP,RCP在全球还是有大量忠实粉丝的。不久前发现汇丰银行某个分行的CRM系统是基于RCP的(客户端),不久前又发现英国一个咨询公司专门提供RCP开发的咨询业务,不久前IBM正式进入公测阶段的Lotus Notes 8/Hannover也是基于RCP的,只是为了外观重写了Workbench,不久前。。。被人发现我们的软件也是基于RCP的,而且随时提供RCP方面的咨询和培训。
6。跟Mozilla结个亲家吧忘了提Eclipse 3.3的又一大特性了,叫做“Moziila Everywhere”,是指在任何平台上都可以创建一个Browser控件但是使用Mozilla内核(及时该平台上没有安装Firefox)。这是怎么实现的呢?其实很简单,它要求你必须安装一个xulrunner,后者是Mozilla的全部内核,包括Gecko布局引擎、Javascript解析引擎、XUL解析引擎和XPCOM,其中每样东西都足够写一本书,有了这些,仅用XUL+Javascript就可以写出一个Firefox来,Eclipse洽是利用了这个特性,用Java连接XPCOM所以创建了一个Mozilla的Browser,但是没有任何行为,包括右键菜单。
这个Browser控件和缺省的Browser控件是不一样的,我们平时见到的缺省Browser控件,在Windows上用的是IE内核,在MacOSX上用的是Safari,在Linux上。。。不知道,所以它是最最简单的浏览器,不具备任何可以定制的功能,除了显示一张HTML页面外,没有任何用处。(你该不会想用Eclipse写一个傲游出来吧)
但是Mozilla内核的浏览器控件就不同了,它意味着如果程序员平时为Firefox写插件的形式,也可以被应用到RCP应用程序上来,设想一下我们拥有一个RCP+xulrunner的平台吧,RCP接收Java扩展,xulrunner接收xul和javascript扩展,那我们的平台——要么叫Fireclipse,要么叫Eclifox——就所向披靡了。即使不利用它的可扩展性,单单就是能保证在不同平台上提供对Web应用程序的一致性展现一条,就足够臭美的了,更可以用写Eclipse插件的形式来限定浏览器的行为。。。。。。唉,刚才是不是说过一个NetBeans in Eclipse啊?把那玩意扔了吧~~
总结。活活,还真是好久没有写Blog了呢。本来只想谈谈Eclipse基金会的,没想到越说越多,连MacOSX、JSON、Google、Mozilla都说了个遍,是不是说了你的偶像什么坏话,我常干这种事,直接跟我联系吧,我愿意分享我的一切感受和看法。忙了,再聊!
下一个大泡泡(转载本文需注明出处:Brian Sun @ 爬树的泡泡[http://www.briansun.com])
posted @
2007-04-18 18:53 Brian Sun 阅读(3185) |
评论 (16) |
编辑 收藏
人们常说,人类发明的任何一样东西,都是对人类的一种本能或功能的延伸。人类发明哈勃望远镜,是对人眼的延伸;人类发明手机/电话,是对人耳和嘴的延伸;人类发明汽车,是对人脚的功能的延伸;人类发明起重机,是对人手的功能的延伸;那。。。人类发明电脑呢?是对人脑的延伸吗?可是有谁敢说,电脑简化了我们的脑力工作了呢?
今天要和大家谈的是一种全新的办公方式和全新的思考理念。
在谈这些内容之前,我想先请大家回到自己的办公室,翻翻曾经用过的草稿纸,或看看会议室里的白板,还有书桌上的便签,似乎有点什么启示吗?有没有注意到我们平时——我是说我们每个人都一样——尤其是当我们大脑高速运转的时候,当我们思路如潮水般涌上心头的时候,当我们激动的想把一个好想法传达给别人的时候——呵呵,我们其实写不了几个字的。取而代之的是,我们画了一些图,仔细的看,会发现这些图其实是有共同点的,这就是平时所说的模式。当然,生活中充满学问只是缺乏一颗好问之心。我们平时都不会注意这些东西,很少有人专门去总结这些。也就是说,我们一直都在进行着一种“
可视化思考”,你的大脑比你清楚。
可视化思考是一种全新的办公理念,可能你从来都没有听说过这种理念,但是,当你做事情的时候,你就会不自觉的在使用这种理念。但是,英国大脑协会主席托尼·巴赞就注意到了这一点,所以他提出了思维导图的概念。这是一个伟大的概念,他从理论上让人们进一步认识到大脑的使用有技巧可言。巴赞曾经见过一个朋友的女儿,她上课特别认真的记笔记,但是成绩就是提高不了(这个在中国太正常不过了),于是巴赞责备了小女孩记笔记太认真,让她放弃这个体面而整洁的习惯,改用随意乱画式,很快她就发现,听课更容易懂了、老师讲的更生动了、成绩上去了。这个原理很简单,因为节省下来的精力全部投入了“听课”上。
这是可视化思考的一个典型案例,他告诉我们少许技巧就可以让大脑放下负担,达到无限创意的状态。如果你现在已经意识到了可视化思考的力量,那么我们就正式开始研究了,我研究问题都是采用极其简单和有限的方法(因为智商比较低),这样正在读我文章的你也不用把思路绷的太紧,我们都放轻松点吧。我们只来看可视化思考的特征和模式。
前面那些图的主要标志就是关键字散落在纸面上(或白板上),
这是第一个特点,关键字的最大功效在于组合,这个Google比我们理解的深刻,如果一个关键字能表达1分的力量,两个就能表达4分,这是一个3维的递增级数。
第二个特点是它们往往呈发散方式展开,这是人大脑的样子,树突的组织结构,人们常说真正的画家其实都是在画自己,大脑是真正的画家,所以他画出来的东西也是特别像自己。
第三个特点是关键字与关键字之间存在联系,表达联系的方式可能有很多种,但联系的实际种类却只有两种,一是类属关系(常常被称为父子关系),二是非类属关系(又是也叫弱关系)。不信你自己找找,除了父子关系和弱关系外,关键字还有哪些关系?
第四个特点就是你不自觉的就找到了三个帮手,他们分别是线条、形状和颜色。形状往往表达本体,线条往往表达联系。当然最后那个帮手不是随时都能跳出来帮你的,如果用软件就好办多了。所以很多培训师包括巴赞,都建议作为你的大脑的唯一仆人的你,应该为你的主人准备好几只彩色笔,这是激发潜意识与创造力的最低成本的手段了。
第五个特点,也就是我现在正在用的技巧——数字的技巧。你会发现你写出的关键字大多被在前面加上了一个数字,它们大多标识一种时间序、重要程度、优先级,或干脆就是简单枚举,仅作计数之用,更复杂的数字可能被用来表示精确时间和百分比。总之,这些数字是思考的魔法,它帮你立即理清思路。
无论如何,这五个特点都不是为了美观,它们都是可视化思考的工具。但最终,如果这些思维图要被别人分享时,你也可以添加图片和照片,让思维图看起来更像是一个成品,而不是半成品。“一个青年,畅想在艺术的海洋里,那些光影,那些线条。。。”
现在,我们已经从特征上分析,得出了什么是“可视化思考”。我们常常不自觉的就在用可视化思考的理念工作,但是我们只觉得自己在画图,这些图(可视化思考的成果)被我们称为思维图,大量的思维图如果不加整理就只是一个过程了,有心的秘书会把老板的这些思考过程装订成册,保存起来。你有这样的帮手吗?如果有,现在这些工作簿定是一笔宝贵的财富,把它们打开你就会从中找到一些模式,模式是固定不变的东西,但它没有形态,只有被总结和概括,还有名字。可视化思考也有模式,有些人把它总结了出来并取了名字,其中的一种普遍存在的模式被称为“
思维导图”,它是360度发散结构的;另一种形似鱼骨头的被称为“
鱼骨图”;一种2维的被称为“
矩阵图”;其它的还有“
组织结构图”、“
树状图”等等。
等等,打住,不会觉得被我骗了吧,我可不是思维导图的推广员。我要说的不是大家来学习画这些图吧,这可不是学的,这不要学,你的大脑天生就会。人天生就会直立行走,但是狼孩就不会,因为他长期不用这项功能,就退化了。可怕啊。我们的大脑天生就会可视化思考,但是如果长期不用,就会不灵,人就会失去思考的勇气和激情,失去创意的源泉,失去创新的动力。所以你需要的不是学习,而是放松,放松你的大脑,让它呈现在beta波的状态(有点学术了啊),找回大脑的本能。“日画思维图300张,不辞长做地球人!”正如郑渊洁对孩子们说的:“去玩吧,今天别写作业”。
最后这个理论距离完备性还差最后一件事情,读者可能已经提出这个问题了。如果我长期使用可视化思考会培养良好思考的习惯吗?我不是脑科专家,不能给你标准的答案,但是我只相信爱因斯坦的一句话:“头脑一旦到达一个全新的层面,就再也不会回去了。”
但是,这一切美好的发现,都会因为我们的下一个发现而变得不美好起来。现在请打开您天天为伴的电脑,看看里面有多少思维图?答案很可能是:一张没有。回到我们在本文开头时的那个问题。电脑不是对人脑功能的延伸,因为它丝毫没能表达人脑的功能和意图。而电脑仅仅是对人脑思考的结果产生一个呈现和组织,Word/Powerpoint这两个办公最常用的软件,它们已经成为其它办公软件模仿的对象,但仍然只是线性的呈现文字。它们把办公的结果从纸张搬上了计算机屏幕,于是人们就从提笔忘字转而到了“打开Word忘字”,看着白白的屏幕,一句话也写不出来。友人说人类花了200年关闭你的大脑,而我说不是,人类只花了20年就做到了。人们仅有的办公软件已经足够“办公”使用了,人们不需要新的办公软件,而是需要新的“可视化思考”软件,需要软件来帮助人们理清思路——理清思路带来的价值是不言而喻的,进一步就是提高效率。
我想说我最近读了本书,是MIT媒体实验室主任写的《未完成的革命》。书上说汽车革命已经结束,它结束的标志就是我们随时可以为汽车加油和买新零件安装,这是因为汽车已经被标准化了,而计算机软件的革命尚未完成,它完成的标志一定也是这样,软件可以随时被扩展、购买零部件、和安装,这一切都只需要普通技能。我的观点是,软件的革命已经进行了至少20年,但它仍然才刚刚开始,它需要一个强有力的变革来将革命推向高潮,这个变革是对以往变革的延续,但却常常被人们认为是全新的力量。我想说,思维导图软件已经有了很多,MindManager和FreeMind是其中的佼佼者,但是它们太像了,是同一种软件,所以这场革命尚未结束,只有全新的产品的到来才能结束它,开启新的篇章,而这种产品,它将不再只是“思维导图”软件,而是“可视化思考”软件!
可视化思考的泡泡(转载本文需注明出处:Brian Sun @ 爬树的泡泡[http://www.briansun.com])
posted @
2007-04-18 12:44 Brian Sun 阅读(1857) |
评论 (6) |
编辑 收藏