window 桌面开发_C#桌面开发的未来WebWindow
WebWindow
WebWindow是跨平台的库。Web Window的当前实验实现可在以下平台上运行:
- Windows – 需要基于Chromium的Edge
- Linux – 使用WebKit
- Mac – 需要Safari
源码
https://github.com/SteveSandersonMS/WebWindow.git
Zeje Fork的分支:https://github.com/zeje/WebWindow.git
作者博客
https://blog.stevensanderson.com
基于Chromium的Edge
因为大众用的还是Windows操作系统(如win 7,win 10)。为了面向大众,我们在Windows 10下体验下WebWindow。现在下载并安装基于Chromium的Edge:
下载地址:https://www.microsoft.com/en-us/edge
下载地址:https://www.microsoft.com/en-us/edge/business/download (建议)
中间可能在升级的时候,要求你更新操作系统才可以安装(安装过程略)
体验
本人的体验环境是:
- Window 10
- Visual Studio 2019
- 基于 Chrome的 Edge
体验方式一:
- 创建一个.NET Core 3.0的控制台程序
- 安装WebWindow Nuget包
- 加入启动代码
using System;using WebWindows;namespace ZejeDesk.WebWindowApp{ class Program { static void Main(string[] args) { var window = new WebWindow("择捷工作室WebWindow体验"); window.NavigateToString("
择捷工作室!
WebWindow体验(该桌面窗口为.NET Core 3.1应用)
"); window.WaitForExit(); } }}
- 体验效果
体验方式二:
预期目标:
1、不需要依赖.NET Core 3.0
2、仅仅依赖.net framework 4.5便可。
- Clone下源码到本地
- 打开WebWindow.Dev解决方案
- 捣鼓编译源码的事情
可爱又可恨的WebWindow.Native
可爱:它实现了WebView的调用;
- 可恨:对于国情来说,它并不完美;
* 我们需要它对更多的浏览器的支持,特别针对双引擎浏览器
* 对于windows底层方法的调用,并不一定需要原生支持,特别是一些简单的操作,js + http + webapi的方式完全可以胜任。
- 编译的前提条件:WebWindow.Native
- 安装C++桌面开发支持
- 使用x64编译WebWindow.Native
捣鼓这个最麻烦,每个人的环境不一,像我这等C++丢了12年的人(大一学过)来说,报include异常后完全不知道怎么搞(请教了会C++的朋友也无果),后来好像是更新了操作系统的补丁,重启后就能正常编译了。
- 把WebWindow改成面向多目标框架的项目
修改WebWindow.csproj文件
netstandard2.1
为
net45;net451;net452;net46;net461;net471;netstandard2.1;netcoreapp2.0;netcoreapp3.0
处理掉部分代码的问题,如:
net45下包System.Runtime.InteropServices.RuntimeInformation的引用问题
- 在WebWindow.Dev解决方案中,新增.net framework 4.5控制台应用程序ZejeWebWindowApp
- 在ZejeWebWindowApp中加入WebWindow项目引用
- 加入启动代码
using System;using WebWindows;namespace ZejeWebWindowApp{ class Program { static void Main(string[] args) { var window = new WebWindow("择捷工作室WebWindow体验"); window.NavigateToString("
择捷工作室!
WebWindow体验(该桌面窗口为.NET FrameWork 4.5应用)
"); window.WaitForExit(); } }}
- 修改项目配置
- 体验效果
遗留的问题
- 怎么兼容国产浏览器?
- 怎么支持x86?
- 其他需要调用windows底层方法如何处理?
这些都不是不懂C++的我能左右的,希望.NET的C++高手们贡献点力量吧!
window 桌面开发_C#桌面开发的未来WebWindow相关推荐
- 桌面小宠物项目开发_C# 桌面宠物 示例源码(透明窗体)
[实例简介] 可以按时叫你吃饭可以控制在桌面上行走等等等等............ [实例截图] [核心代码] using System; using System.Collections.Gener ...
- 主流html5桌面应用开发,主流HTML5开发工具推荐
HTML5开发工具推荐 HTML5被看做是web开发者创建流行web应用的利器,增加了对视频和Canvas 2D的支持.HTML5的诞生还让人们重新审视浏览器专用多媒体插件的未来,如Adobe的Fla ...
- 用JS开发跨平台桌面应用,从原理到实践
导读 使用Electron开发客户端程序已经有一段时间了,整体感觉还是非常不错的,其中也遇到了一些坑点,本文是从[运行原理]到[实际应用]对Electron进行一次系统性的总结.[多图,长文预警-] ...
- .net linux 界面设计,.NET Core3.0开发Liunx桌面应用程序
.NET Core3.0开发Liunx桌面应用程序主要是依靠GTK. 什么是GTK? GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发.跨平台的图形工具包.最初是为GIMP写的,已 ...
- 如何使用前端技术开发一个桌面跨端应用
本文将会讲述一个完整的跨端桌面应用 代码画板 的构建,会涉及到整个软件开发流程,从开始的设计.编码.到最后产品成型.包装等. 本文不仅仅是一篇技术方面的专业文章,更会有很多产品方面的设计思想和将技术转 ...
- 如何使用Vue开发Electron桌面程序
目录 一.Electron介绍 二.项目搭建 1. 使用 vue cli 创建vue项目 2. 安装插件 vue-cli-plugin-electron-builder 编辑 三.开发总结 1. 配 ...
- h5开发Linux桌面,heX:用HTML5和Node.JS开发桌面应用
简介:heX,一个允许你采用前端技术(HTML,CSS,JavaScript)开发桌面应用软件的跨平台解决方案.是你开发桌面应用的一种新的选择,意在解决传统桌面应用开发中繁琐的UI和交互开发工作,使其 ...
- 在Flutter项目中开发IOS桌面组件(WidgetExtension)
在Flutter项目中开发IOS桌面组件(WidgetExtension) 具体的WidgetExtension的开发流程这里就不细说了,可以参考文末的链接. 在Flutter项目开发IOSWidge ...
- 入坑 Electron 开发跨平台桌面应用
作为一个跨平台的桌面应用开发框架,Electron 的迷人之处在于,它是建立在 Chromium 和 Node.js 之上的 -- 二位分工明确,一个负责界面,一个负责背后的逻辑,典型的「你负责貌 ...
最新文章
- Python地信专题 | 基于geopandas的空间数据分析-文件IO篇
- 关于Javascript Hijacking
- 你知道怎么使用DebugView查看调试信息吗?
- 【记录保存】批量删除进程
- hadoop 集群启动时 Address already in use 解决方法
- chartjs更新数据 vue_vue.js - 在vue中 怎么更改chart图表的文字大小
- MDSpreadView
- linux中对数据怎么降序,Linux系统sort排序命令怎么使用
- win7安装证书时无响应的解决办法
- 理解linux下的load
- 20165320 第六周学习总结
- JUC与JVM并发编程学习笔记01
- Thinkphp学习笔记——友情链接的添加和验证
- 手绘线条一直画不直_板绘线条不流畅怎么办?线稿就得这样练!
- Avesta飞秒光纤激光器
- Windows Mobile 6.5开发环境搭建
- No buffer space available问题解决
- 图像处理之对比度增强
- 普通本科,开发一周年纪念日—-赠给自己的礼物
- Portapack应用开发教程(十二) SSTV接收机 A
热门文章
- calendar当前时间整点_时间处理相关类
- SpringCloud中Feign的适配器的实现方案
- jdk默认垃圾收集器
- 聊一聊 SpringBoot 自动配置的原理
- Maven安装和配置及eclipse创建Maven项目
- MySQL协议.NET Core实现(一)
- 用python解算法谜题_编程的乐趣 用Python解算法谜题
- 计算机二级msoffice操作题如何评分,2017年计算机二级MSOffice操作题及答案解析
- elasticsearch的多索引联合查询以及范围日期查询示例
- 【PAT (Advanced Level) Practice】1037 Magic Coupon (25 分)