Chinaunix首页 | 论坛 | 博客
  • 博客访问: 829970
  • 博文数量: 67
  • 博客积分: 10067
  • 博客等级: 上将
  • 技术积分: 2175
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-12 00:00
文章分类
文章存档

2012年(1)

2011年(7)

2010年(19)

2009年(33)

2008年(7)

我的朋友

分类: IT业界

2010-01-27 18:20:30

SHellweb项目是我4年以前(2006年),自己发起的一个用Perl编写浏览器的项目。
今天,我不得不宣布这个项目正式结束了。

开始这个项目的原因:我对于那时浏览器的各个方面都不满意,而又没有解决的方法,只能自己动手写。而Perl有现成的html解析库,又有cairo这样的底层绘图库,将这些东西融合起来应该很简单。
实际开发过程中,确实也是很简单。做一个简单的html渲染还是比较容易的。但是javascript解析器阻碍了我,用perl来编写一个javascirpt解析器还是比较困难的。

虽然当时想着可以用Perl来代替javascript的作用,来自由的操纵DOM是一件很美妙的事情;DOM的显示可以完全自己掌握也是件有趣的事情。可以自由的实现渲染方法,但现实是比较困难的。
所以,项目就一直耽搁下来了。

过了这几年,我对于某种语言的执着没有那么强烈了。也开始使用多种语言做开发。特别是我认识到了,对于脚本语言而言,确实有暂时无法迈过的鸿沟。所以,这个项目就相当于放弃了。

而今天,我来宣布shellweb结束的主要原因是: 
1. 用Perl5来编写GUI客户端虽然理论上可行,但实际操作上不符合主流。perl5还是不适合于编写GUI客户端,无论大家如何尝试。例如:perl-gtk项目,win32-gui项目,opengl项目,最后的结果都证明了Perl5还是无法被普及用来编写GUI(虽然,这种尝试还是很有意义的,也证明了脚本语言编写GUI方面的长处)。所以,用perl5来编写浏览器这个GUI,从底层来说的困难还是难以逾越。

2. Chrome已经足够好了。 这是我宣布shellweb正式终结的主要原因。 Chrome推出了4.0版,我看过了。我认为Chrome这一版基本上提供了我想要的任何开发接口,除了编程语言必须是Javascript以外。Chrome的架构已经足够好了:底层用webkit做渲染,javascript引擎用的V8,提供HTML5支持(可以自由绘制图形,可以有socket连接),提供插件支持(完全通过JAvascript与HTML实现),在Javascript中提供更加底层的API给JAvascript使用。
总之,Chrome现在架构已经实现了我当初所设想的shellweb项目中应有的东西:使用脚本语言就可以编写任何东西。当然,这种实现是通过两方面的努力来完成的,第一就是HTML5对于HTML的扩展;第二就是Chrome对于整体软件架构的把握(chrome把javascript放在了首位,统一了开发形式)。

另外:我个人的感觉chrome还不是像firefox那样,firefox也是把javascript做为自己的编程语言。但是firefox有自己的xuL文件,这是一种xml格式的数据文件。而在chrome中,则完全是html、json格式与javascript。这种模式更加利于开发者的编写,未来也更容易扩展。

未完...
阅读(830) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-06-20 11:28:33

找不到这个浏览器的源代码,能否给我发一个?我无意后续,只是学习下。谢谢

chinaunix网友2010-01-28 10:56:10

可能吧! 選擇編程語言可能個人的成分更大一些,畢竟可以自己決定。:)

chinaunix网友2010-01-27 21:48:43

感觉楼主还是有点理想化了,很多技术人员的通病(包括我自己)。 选择合适的工具做合适的事情,简单明白的道理,但是往往在真实选择的时候带上个人好恶。