我可以采用什么方法来使用Web技术开发桌面应用程序

时间:2010-02-28 14:33:21

标签: cross-platform desktop-application application-design web-applications

我想知道是否有任何方法可以创建一个以桌面应用程序启动的应用程序,暂时供个人使用。并且由于桌面应用程序可以使用我可能想要管理的硬盘文件但是不安全将它们扔到Web服务器上。但我认为我将来可能要做的是将应用程序移植到网络上,因为我认为这是应用程序的未来。网络应用程序随处可用,例如。网络应用程序可用于智能手机等,以促进团队协作等。

我看过一些技术,但似乎都有一些缺点


Adob​​e AIR 2

优点

  • 使用现有的Web技术使我(主要是Web开发人员)能够轻松地设计和开发基于HTML5,CSS3,JS(jQuery,Dojo)的应用程序,这些应用程序将来可以更轻松地移植到Web平台
  • 可以访问文件系统

缺点

  • 我猜速度可能是一个问题
  • 我可能会遇到JS可以做的限制(与C#,Python,Java等语言相比)

C#/ F#/ WPF / EF / LINQ

优点

  • C#/ F#强大的语言
  • EF / LINQ使数据访问变得非常简单
  • WPF提供了良好的数据绑定和样式功能

缺点

  • WPF比我已经知道的更难使用/学习(HTML / CSS / JS)
  • WPF abit更复杂
  • 更难移植到网络平台(...也许使用.NET平台它仍然可以吗?但我认为开源PHP / Apache更广泛使用)

Silverlight(浏览器外)

优点

  • C#/ F#比JS更强大

缺点

  • WPF与HTML / CSS的复杂性

Mozilla框架

我对这个选项还不太了解

优点

  • XUL作为布局工具,我想提供比HTML更多的灵活性?
  • 使用CSS / JS现有的网络技术,因此移植可能仍然非常简单
  • 我认为它可以使用原生API /代码,但我不知道它是如何工作的
  • 总的来说,我认为它将比adobe air更强大。

缺点

  • 软件架构似乎凌乱,chrome文件夹等?我认为与此相比,WPF似乎是一个更强大和更优雅的选择?

我也见过QT-Webkit,但与Mozilla Framework一样,WPF似乎是一个更加强大和优雅的选择

仅供参考,我正在考虑建立一个项目管理/组织者类型的应用程序。它的大多数部分我认为它将在网络平台上工作,除了我想要集成屏幕捕获,管理项目文件,资源(例如网站灵感,字体,视频等资源)等功能。我也正在探索Adobe XMP向文件添加元数据(图像,视频等)。

2 个答案:

答案 0 :(得分:2)

您可以考虑Adobe AirSilverlight这些平台允许应用程序在桌面或Web上运行。还有一个名为Titanium的开源替代品,与Adobe Air一样,也是多平台的。

答案 1 :(得分:0)

您也可以使用使用闪光灯的OpenLaszlo