编程是一门艺术

Creative Commons License
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。
raptor.zh(at)gmail.com

archives 存档

01 Jan - 31 Dec 2012
01 Jan - 31 Dec 2011
01 Jan - 31 Dec 2010
01 Jan - 31 Dec 2009
01 Jan - 31 Dec 2008
01 Jan - 31 Dec 2007
01 Jan - 31 Dec 2006
01 Jan - 31 Dec 2005
01 Jan - 31 Dec 2004
01 Jan - 31 Dec 2003
01 Jan - 31 Dec 2002
01 Jan - 31 Dec 2001
01 Jan - 31 Dec 2000
01 Jan - 31 Dec 1999

--

links 链接

--

Web Desktop App

早上忽然想到一种桌面应用的模式——用Web方式实现。

从表现方式上说,类似.net的XAML,但是基于现有技术实现,并且可以不受平台限制。比如可以用这样的方式实现一个资源管理器这样的东东。甚至可以按这种模式开发出一种类似于DesktopWebOS这样的东东,挂在不同的OS平台上。

基本的结构是这样:

用TurboGears (或者简单一点就直接用CherryPy)一类的技术实现一个WebServer,把本地应用的功能全都做到这个WebServer中,前端用 Browser通过Ajax实现交互。因为CherryPy的实现是一个单独的应用程序,并且自带HttpServer功能,等于就是用浏览器操纵一个非 GUI的后端应用程序。

至于安全性的问题也很简单,因为这个Server是以当前用户身份运行,与一般的用户程序一样——使用方法就像 TurboGears本身的Toolbox功能那样,运行应用程序时启动WebServer并自动打开对应的链接。访问安全性的问题可以通过限制为本机访 问的方式实现,如果想要提供远程访问的功能,可以用Apache做一个https代理——当然,服务端的程序的运行权限同样可以指定为相应用户身份运行 (Windows可以做成服务应用,并以指定用户身份运行——当然对于Windows来说,这种安全性措施没有什么必要,偷笑)。

剩下的问题就是:开发难度比一般的应用程序大不少,特别是Ajax部分。

补 充:以上纯属瞎想,其实我现在对Ajax已经有点不满意了,因为Over ajax的情况已经越来越多。虽然像www.netvibes.com的ajax效果超级酷,但是过于复杂的JS代码使得程序的性能和稳定性都很成问题。 还有,我之所以不用抓虾,就是因为我订阅的RSS比较多,会让它的JS程序在Firefox下近乎死机。

或者需要有比Ajax更好的通用方案。

Trackback link:

Please enable javascript to generate a trackback url

No trackbacks

评论(0)


 
   
 
  表情图标 

 


提示: 除了 <b> 和 <i> 之外,其他的Html标签都将从您的评论中去除.url或mail地址会被自动加上链接.