Search


Meta

Creative


Support


Leesoft

Feed™

Recent Comments

Photos

Aug
12

很久以前写的一点东西,关于浏览器和互联网的

Posted by » developerly
62 hits

其实从firefox发布以来,我一直都在使用firefox,随着Mozine.cn的到来,怀着对互联网的巨大激情给您写下这篇文章,希望能够借此为我喜爱的firefox做点贡献。
对于未来的互联网,尤其是在浏览器领域,我有如下几个想法:

* 多设备的支持:借用SUN Java的广告词,就是“编写一次,到处运行”。感谢我在移动应用领域的工作经验,使我在谈到互联网的时候,不仅仅是看到桌面互联网,而是从整个全局来看待互联网。未来的互联网,不仅运行在桌面上,还运行在手机上,移动电视上,机顶盒上甚至你的公交RFID卡上。通过众多浏览器公司的努力,现今支持标准的w3c的网站已经可以毫无障碍的运行在手机上了,这里浏览器(包括公司)的名单可以包括:Openwave,Opera,netfront,IE,UCWEB,Nokia,Safari……,唯独firefox在这里是一个缺失,虽然我知道firefox也在朝移动应用方向努力,但是诚然的说,目前firefox在移动互联网领域确实少有建树。所以我认为firefox的未来可以朝这个方向发展。那么作为市场的角度来说,firefox应该退出稳定的浏览器,并在装机量方面与手机厂商进行合作,而从技术角度来说,最重要的突破点是全功能浏览器的概念——这里的核心是对JavaScript,Ajax技术以及Web2.0技术的兼容。这样才能够在移动互联网这个巨大的市场上,表现出强劲的竞争实力
* Rich Client的支持:富客户端是目前很热的互联网技术,通过富客户端为客户带来更可靠的数据传送以及更快更漂亮的用户体验。firefox很早就提出了XUL的概念,在这个框架上也出现了很多优秀的应用。不过我觉得XUL开发社区的影响力以及推广力度应该强化。不能让微软的XAML后来居上。对于XUL来说,我有几个建议:1)更多的,系统的程序库,包括UI库和网络连接库 2)IDE开发环境的支持 3)虚拟存储的概念,类似于Applet的沙盒,支持虚拟存储,这样未来才有可能让XUL应用程序运行在不同的文件系统之上——包括前文提到的移动设备和小型设备上。4)多媒体功能的强化:吸引眼球,提高影响力的东西。5)嵌入到网页中的运行方式,像applet一样可以方便的嵌入到网页中,说实话我觉得java applet的确是一个了不起的技术,不过比较郁闷非脚本型的开发方式和缓慢的下载启动速度。
* fusion技术:如果这个技术能实现的话,我相信能帮助firefox有更大的发展(但是技术难度应该很高)。所谓混合模式,就是firefox能够让网页的部分代码调用IE的内核来解析,与IE tab不同的地方在于,以fusion运行的不同部分的代码能够共享同一个缓存空间(包括cookie和session),这样做最大的意义就在于,firefox上能够运行IE的插件。这样中国最流行的QQ空间,以及包括网银在内,都可以直接在firefox上运行了。我想,我的朋友再也不会抱怨为了用网银而重新使用IE了。

说完技术,再看看市场。目前中国市场来说,firefox毕竟还是更多的被那些技术人员或者geek来使用,离全民普及的道路还有很远的距离。这方面Maxthon遨游就要做的好的多。虽然“安全的浏览器”可以作为一个很不错的卖点,不过普通使用者更看重的是那些实用便捷的功能。其实借助firefox的插件机制,我们已经有了很多实用的功能,可是在宣传以及程序打包方面,做的还很不够。通过什么样的方法能够让普通用户能够更简单接触到那些功能强大的插件;通过什么样的方法能够让普通用户能够更简单的使用那些插件以及插件的组合,我认为是为来市场策略的一个重点。另外,目前市场推广上一个比较不好的现象在于(包括google的工具条也有同样的问题),firefox逐渐走向了曾经流氓软件和插件常用的推广方法——此方法也许会暂时提高firefox的装机量,但是绝对不会提升firefox任何的品牌价值!我想没人希望在下载的软件中会有其他的捆绑软件,也没有人希望网页上到处都飘着广告层,提醒用户下载firefox;或者明明想去点一个下载链接,下载下来的确实firefox的安装包。过去这种很“中国化”的推广方式也许很有效,但是在网民越来越成熟的现在,firefox在推广上需要新思路——比如与迅雷合作,开发firefox版的web 迅雷;与视频分享网站合作,开发flv视频浏览加速器什么的,可能会更加有效。

Aug
1

关于Web应用后台管理的一些心得

Posted by » developerly
71 hits

最近在帮朋友做一个网站。我主要在做后台管理部分的内容。当然这个网站的后台管理要比WP复杂多了,设计到很多数据的管理和业务流程。感谢Ruby的高效,很快就搭建出了这个后台。逐渐也有了一些心得。

其实,一个好的后台管理并不是像想象的那么简单的,里面包含了很多业务逻辑和数据管理。 当然对于开发者来说,最大的挑战还是来自于页面的导航。为了处理页面的导航,我使用过很多方法,比如在跳转页面的uri中添加一个return的parameter,使用中间的跳转页面,甚至使用stack来记录所有访问的uri。虽然大多数能基本满足我的要求,不过也都差强人意。

今天做的一个小的应用,我终于没有使用页面之间的跳转,而是使用了ajax。突然领悟到一个道理,其实我应该优化用户的页面操作,让更多的业务逻辑能够在一页完成,尽量减少跳转。既减少了我的开发量,也能给用户一个更好的后台。

Jul
2

TekGeek:Another way of Mixin

Posted by » developerly
88 hits

mixin是ruby里面非常超强的一个方法。虽然在设计哲学上,mixin破坏了类继承的层次,不过却为编程带来了很多便利和新的思路。典型的mixin是对类进行重新定义

1 class Foo
2     ...
3 end
4 class Foo
5     include YourModule
6 end
7 class Foo
8     extend YourModule #为类添加静态方法
9 end

这里介绍另外一种Mixin的方法,适合在程序中批量动态使用,尤其适合用来编写RoR的插件(国内很少有文章介绍怎么编写RoR插件)。关于RoR的插件编写,我将在后续的文章中作一个介绍

Ruby代码, 代码高亮@代码发芽网

1 Foo.send(:include,YourModule)
2 Foo.class.send(:include,YourModule)
3 Foo.send(:extend,YourModule)

其中第2行和第3行的执行是等价的

Mar
26

TekGeek动手玩:剪切板共享程序–第一弹

Posted by » developerly
74 hits

公司里面有两台电脑。有时候在A电脑上看到一段不错的代码,想要拷到B电脑上会比较麻烦,需要在A电脑上共享一个目录给B电脑,然后还要建立一个临时文件,最后从B电脑访问这个共享目录,读取临时文件。
TekGeek的核心精神就是,所以这种繁琐的操作自然是我们所需要唾弃的。于是想着要写一个剪切板共享程序。这样在A电脑上复制的一段文字,可以在B电脑上直接点击粘贴从而粘贴上去。当然,这个程序要做好的话,可以提出很多需求,比如A电脑上复制一个文件,在B电脑上是不是可以直接粘贴啊,是否可以区分使用网络剪切板和本地剪切板啊什么的。另外一个问题就是用什么语言来开发。
根据ZMJDZML的原则,我们从最小需求开始:

  • 实现A的剪切版共享到B机器上
  • 只支持Windows操作系统
  • 只实现文本文字内容的共享
  • 程序运行的时候,A机器上所有的剪切板内容只要是文本文字的就能共享到B机器上。即A点击复制,B就可以直接粘贴相关内容
  • 实现语言方面:大家猜我会使用什么语言来实现呢?这次就不用最近作者一直研究学习的Ruby语言了,换换口味,我决定这次开发使用Python来做。

下一期预告:

显然A机器和B机器在这个需求中,一个做客户端,一个做服务器。那么采用什么样的技术来实现客户端,又采用什么样的技术来实现服务器呢?我将在下一期中,具体介绍服务器监听实现的思路。

Mar
21

TekGeek: attr_accessor的元编程

Posted by » developerly
83 hits

TekGeek:从今天起,不定期的我将会发表一些颇具/稍具技术深度的文章在这个标签下面。希望能够做成一个系列,最终能够结集做成可以下载的pdf文档分享给大家,说道技术深度问题,因为我本身也不是一个技术高手,所以只能在这个系列里面添加一些我认为还算有深度的文章。如果你也想参与,作为TekGeek系列的作者,请与我联系”stephen.liy#gmail.com”.gsub!(/#/,”@”)。
关于文章的来源,本系列的文章有来自于作者原创的,也有我在网上溜达的时候所看到的写不不错的文章的转载或者翻译,我都会有注明,如果您认为本网站的刊载侵犯了您的版权,请同样与我联系。谢谢!

attr_accessor meta programming(翻译于http://ghouston.blogspot.com/2006/05/attraccessor-meta-programming.html)

看过 Jamis Buck的文章Writing Domain Specific Languages 我决定利用他的方法来尝试构建我自己的attr_accessor函数。
跳转后阅读TekGeek: attr_accessor的元编程的完整内容