Webkit作为.Net / Mono中的GUI


12

我想制作一个跨平台应用程序,该应用程序还将有一个网站,桌面应用程序(Windows,iOS,Linux)将与服务器进行对话,并使用户数据保持同步。

到目前为止,我看到的选择是:

  • 为这三个操作系统中的每一个编写一个本机GUI,所以我将拥有3个GUI代码库(和一个后端系统)
  • 使用类似GTK的工具,这样我就可以在所有提及的平台上使用一个受支持的系统。

但是我无法找到更多信息的第三个窗口(可能是因为我对C#和.Net还是陌生的,所以我没有搜索正确的术语)是要有一个内置了嵌入式WebKit实例的窗口,这将允许我使用与网站相同的GUI系统。这将使客户端应用程序和网站看起来彼此尽可能接近,从而使用户熟悉该界面。

WebKit的最后一个选项是否合理?我已经非常了解JavaScript / HTML,并且如果我可以使用该知识来创建界面,那将很棒。这也是允许用户使用插件自定义界面的好方法,并且他们可以使从本地到Web的任何UI首选项保持同步。


我正在研究Sencha ExtJS来进行此类工作,但我不相信这是迄今为止最好的方法。
jfrankcarr 2012年

Answers:


10

无法看到为什么,但是您可以改为以“无窗口”模式运行Chrome,或者以“ hta”模式运行IE(我们使用网络技术编写了桌面应用程序,十年前将其作为hta部署在Windows上)。

今天,我会在没有IE / IIS的情况下做一些事情,并使用websocket来获得更多的交互体验。

有一些组件允许Webkit嵌入C#应用程序中:参见SO的这篇文章(共识是使用Webkit.NET

我也将使用QtWebkit组件,然后您将编写一个嵌入式,轻量,基于Qt的跨平台“桌面”应用程序,该应用程序嵌入了Web GUI。


嗯,这似乎是一个可靠的答案。在标记为答案之前,我将稍等一下是否有人鸣叫。但是Webkit.Net看起来可以完成这项工作。您链接的SO问题中的链接之一是github 仓库CefSharp,其中嵌入了一个Chrome实例。尽管我不确定与Webkit相比是否需要整个浏览器。病必须进一步看。
skift

至于“今天,我会在没有IE / IIS的情况下做一些事情,并使用websocket来获得更多的交互体验。” 我想使用mono,这样我就可以使用.net并具有跨平台支持,并且如果他们具有mono支持,则可以在nginx或切诺基之类的网站上托管该网站,否则使用Apache。我对IIS和Windows的管理了解不够,但是我知道并有一个linux Web服务器。到目前为止,我不会进行实时的用户到用户交互,因此我可能不需要websocket。DB同步将使用ouchdb。虽然稍后可能会在我做更高级的内容时看一下websockets或socket.io
Skift 2012年

对于Web开发人员而言,坚持使用Linux堆栈,Windows在Web开发市场上排名第二。我也将忽略mono,因为当Novell破产时它已被废弃,我会说这是一项过时的技术,最好坚持使用其他跨平台技术中的一种,而不是为您提供更好的Linux开发经验。依靠单声道支持和将来的更新对我的品味有点冒险。
gbjbaanb 2012年

是的,通常也不是我的强项。我更喜欢javascript和node.js。但是我必须学习c#/。net才能上班,所以我认为我不妨用它构建一个小项目来帮助学习它。我认为如果我主要从事Windows开发和Web开发,.Net具有一些非常酷的功能。因此,我试图利用我所知道的将在工作中使用的东西,这是Web和桌面应用程序的混合体。
小船

0

我一直在为您这样的项目开发应用程序框架。它基于铬含量框架。它允许使用html / css / js / svg等实现应用程序的GUI,并可以使用javascript或c#实现应用程序逻辑。

我的目标是能够使用跨平台且不需要任何服务器端的Web技术开发功能丰富的全功能“厚”桌面应用程序。


尽管虽然我确实想在服务器端做事(因为用户可以将数据同步到中央服务器并在线使用该应用程序),但我还是想知道您如何使用铬。对我而言,台式机版本基本上是服务器上内容的副本,因此它运行速度更快,无需等待更新,因此他们可以脱机使用它。
skift
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.