为什么桌面应用程序不使用HTML,CSS和JavaScript?[关闭]


17

HTML,CSS和JavaScript可用于构建漂亮(且有用)的UI(特别是现在我们有了HTML5和CSS3),并且很多人已经知道它们。尽管这仍然遥不可及,但将整个Web应用程序引入桌面应用程序有多困难?在托管它们之前,我们已经在本地服务器上测试了应用程序。

在我看来,这是一个很好的,简单的想法,它将在桌面应用程序中引起轰动。另外,鉴于这些应用程序已经与Web应用程序共享了如此多的代码,因此它们可能能够提供更好的连接性。

为什么不做呢?


15
这不是刚刚宣布为Windows 8吗?
克里斯·

不好意思,不是很多Windows爱好者,我真正要问的是一个开放源代码框架,用于开发可以连接到网络的基于数据库的桌面应用程序,是的,终于有了一些突破性的建议
kapv89 2011年

为什么纸张不用来制造汽车?(是的,这是不良的分析时间:))
haylem 2012年

@ChrisF是否曾经在Windows 8上大放异彩?
developerwjk

Answers:


30

Adobe已经通过Adobe Air做到了,Mozilla也通过Prism做到了。谷歌还试图通过Google Gears弥合台式机和网络之间的差距。

但是通常,Web技术不适合许多类型的桌面应用程序,这是以下原因:

  • 没有立即可用的完整硬件访问权限。
  • 没有低级系统访问权限。
  • 没有容易获得的文件系统访问权限(我上面提到的技术允许您获取fs访问权限,但它们中的每一个都是其自己的不同解决方案)。
  • 性能。本地编译应用程序通常比Javascript应用程序更快。
  • 竞争对手容易窃取源代码
  • 没有可用于特殊任务的库。例如 图像处理,声音编码,数据库访问,网络编程等...

公平地说,并非所有应用程序都需要完整的硬件或低级别的访问权限。如果没有这种访问,像Java这样的VM语言肯定可以很好地工作
TheLQ 2011年

6
好吧,您知道许多桌面Java应用程序吗?
Yoni Roit

那么Google v8上的javascript呢,我已经读得非常快(和java一样快),当我在chrome和其他浏览器中运行沉重的js动画时,我自己可以看到差异。随着html5的api的不断增长,js确实为桌子带来了很多东西,有了画布的东西,您可以进行图像处理以及其他所有工作...因此,我认为js确实没有那么糟糕的工具集,此外,它更像是一种函数式编程语言,(函数是一流的对象)
kapv89 2011年

1
刚刚签出了Prism(现在是WebRunner)和Google齿轮,可以修补的好东西,谢谢
kapv89 2011年

3
@YoniRoit:Eclipse,Vuze,我的药剂师的订购系统...
haylem 2012年

2

我想到的框架是Adobe Air。它允许Web开发人员使用Javascript / HTML开发桌面应用程序。单独的Javascript / HTML不适合桌面应用程序,因为通常情况下,桌面应用程序将需要访问操作系统提供的服务,例如打开文件,启动其他应用程序等。单独的Javascript不允许访问此类服务因此您需要一些额外的东西,像Adobe Air这样的框架可以提供额外的帮助。



1

IMO,我不采用HTML和CSS来布局GUI,因为我不知道这些语言的编译器。如果我在代码中有错误,我必须自己去寻找它,否则我可能甚至没有注意到它(或者去HTML站点进行测试)。

在c ++中,我喜欢它不会让我编译,除非代码正确(捕获运行时问题除外)。

而且我也不相信CSS和HTML可以一起很好地发挥作用,例如在CSS中使用float-取决于您的HTML代码和用途-float的结果将有不同的结果-与在win32中使用绝对定位相比,缺乏一致性或出色的Java Swing布局管理器。


3
HTML和CSS验证器基本上可以完成C ++编译器的工作:语法检查和类型检查。我相信某些强大的IDE会附带此类验证器。
Arnaud Le Blanc

1
对于定位部分,CSS也具有绝对定位,HTML5的功能远远超过Swing的布局管理器。一些编辑器还可以让您以所见即所得的方式设计GUI。
Arnaud Le Blanc

0

一个主要的原因是,如果您不希望自己的应用程序容易被盗和复制,则还必须创建一个应用程序,该应用程序拥有一个WebControl,该WebControl以某种方式直接链接到您的文件。
实际上,有些应用程序可以做到这一点。钛制加速器就是其中之一。我不建议您使用它,因为上次查看它时,它充满了错误,并且支持不佳。您必须自己研究是否值得。


0

有点晚了,但是如果您在Firefox中使用AsYouWish(或者如果不介意压缩文件并使用其工具进行测试,则创建Firefox附加组件),则可以使用具有桌面权限的HTML创建应用。如果使用WebAppFind(当前仅适用于Windows),还可以使桌面文件直接从桌面打开到Web应用程序中(无需拖放)。

免责声明:这些(开源)附加组件由我创建。


1
您必须披露您与广告产品的隶属关系。
罗布W

0

您可以使用Javascript,HTML和CSS来为Windows商店,Windows Phone和-我假设-XBox通过“通用应用程序”构建应用程序。(要清楚,从Visual Studio中使用File | New Project开始...)

这是使用以上内容针对本 API 的实现构建UX和应用程序代码的。

自然地,微软并没有把这看作是向更多开发者开放该平台的尝试,而是被认为不赞成基于C#和XAML的开发人员-当然他们不是,但是那并不是一个好故事...这些不一定是问题认为它们是本地的桌面应用程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.