Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用HTML5 GUI进行跨平台桌面开发_C#_Python_Html_Desktop Application - Fatal编程技术网

C# 使用HTML5 GUI进行跨平台桌面开发

C# 使用HTML5 GUI进行跨平台桌面开发,c#,python,html,desktop-application,C#,Python,Html,Desktop Application,短篇故事:有没有一种方法可以用HTML5编写一个桌面应用程序,并使用跨平台语言(比如python(甚至是C#/Mono))编写一个GUI和core 长话短说:我是一名C#开发人员,对于我很少做的小型个人项目,在Windows和OSX下运行,我使用C#(Mono)作为前端 我想了解是否有一种成熟的方法可以使用HTML5GUI实现相同的结果,因为我想了解这一点,并相信它可能是不久的将来Windows桌面UI的一个好选择(或者是我技能集中的一个不错的工具)。当然,如果后台运行的代码是C#我会非常高兴,

短篇故事:有没有一种方法可以用HTML5编写一个桌面应用程序,并使用跨平台语言(比如python(甚至是C#/Mono))编写一个GUI和core

长话短说:我是一名C#开发人员,对于我很少做的小型个人项目,在Windows和OSX下运行,我使用C#(Mono)作为前端

我想了解是否有一种成熟的方法可以使用HTML5GUI实现相同的结果,因为我想了解这一点,并相信它可能是不久的将来Windows桌面UI的一个好选择(或者是我技能集中的一个不错的工具)。当然,如果后台运行的代码是C#我会非常高兴,但同时也会在另一个平台上沾沾自喜,也许像python这样的跨平台代码会更好

在这个阶段,我对任何面向移动的解决方案都不感兴趣。

我用它编写了一个应用程序,它能够为不同的系统创建应用程序

Qt节点似乎也很有趣,但我并没有亲自测试它

最后

您可以为chrome创建web应用程序,它应该在受支持的系统中运行

Kivy是一个Python解决方案。Qt节点可能就是您要寻找的

以下是kivy的一些不错的教程:


但是它是Javascript(节点),而不是python或C#。

NW.js看起来很有前途。。。您甚至可以使用TypeScript,它比普通的ol'js更接近C#。如果您愿意使用PHP,可以查看nightrain项目。

试试看

您的应用程序将在Windows 8、MacOS和Linux上运行。您可以使用HTML5、Javascript和CSS3


但是,您也可以使用您熟悉的脚本语言扩展应用程序的功能。TideSDK目前支持Python、PHP和Ruby。

我认为这是一个非常有趣的项目。您基本上在应用程序中嵌入了一个(精简的)web浏览器。对于python,支持许多GUI工具包。查看更多信息

由于您已经习惯于使用C#,因此可以选择使用Java和FXML。FXML不是HTML,但您也可以使用CSS设置它的样式。您还可以使用它来更快地创建UI。许多JVM语言都支持该工具包,因此代替Java也可以工作。但是,我会推荐Java,因为对其他语言的支持还不够完善

使用C#和Windows应用商店WebView也是一种选择。您可以查看更多信息


我相信还有其他选择(Kivy、Node.js等)。其中一些已经在本文中提到。

我建议使用基于nodejs的Node Webkit。您仍然可以使用一些python脚本与Node Webkit集成来完成一些后端工作,这很容易处理。我已经看到一些成功的应用程序使用它(如wunderlist).TideSDK是另一种选择,但TideSDK中的python支持还不够成熟 (以前的原子壳)最近真的成熟了。事实上,这就是VSCode的基础

使用Angular 2和Typescript有一个and on,您甚至可以使用VSCode来编写和构建它


对我来说,这是从WPF世界过渡到HTML5的最佳方式。

我最近使用过,基本上是WPF和WinForms的浏览器组件。它工作得很好,提供了一种从网站到.NET应用程序的双向互操作性,反之亦然。基本上,你:

  • 创建WPF桌面应用程序
  • 包括并在窗口上放置全屏浏览器
  • JavaScript中的调用方法:
  • /.NET
    var mainFrame=browser.GetMainFrame();
    ExecuteJavaScriptAsync(“任何js代码”);
    
  • 绑定.NET对象
  • /.NET
    RegisterJsObject(“boundObject”,this);
    
  • 从网站/JS对绑定的.NET对象调用方法:
  • //JS
    boundObject.someMethod();
    

    在此基础上,您可以在HTML/JS-UI和.NET logic之间构建一个中介层(ViewModels、Controller…)。

    对于javascript,有:)为什么不编写一个web应用程序,以浏览器无框架的“应用程序模式”启动,并使用像nodejs这样的本地服务器呢。web应用程序模式相当“成熟”。可以尝试bridge.net。它是一个C#to JS transpiler,因此您可以在.NET中编写代码,并以JS/HTML5的形式执行。它似乎有一个用于HTML操作的C#API,因此您不必直接处理HTML。还有cshtml5.com,除了它是C#和XAML而不是纯C#之外,它是一样的。如果你不一定关心HTML5,那么最好的选择是Xamarin(你编写C#带或不带XAML),以实现跨平台性-相对稳定,由MS支持。你可以获得本机UI。纯C#+HTML解决方案会更简单。它有一个C#绑定,名为@MrUniverse,不止如此。。。我做了一项研究来寻找另一个联系,发现TideSDK已经停产,背后的公司也解散了。非常坏的消息:由于TideSDK被终止,我删除了这个被接受的答案。我从TideSDK改为这个被接受的答案,因为TideSDK项目被终止。有大量的应用程序已经建立在Electron上,链接: