Windows(C++/Duilib)

Windows(C++/Duilib)
Windows(C++/QT)
DuiEngine
Electron 太大了。 肯定是window 肯定得有ie
主流的界面库有QT,duilib等。
C++ 跨平台
vs c++ duilib
 如果你有 Web 开发经验,也可以基于 Webkit 或 Chromium 将网页转换为桌面程序。

https://www.wiz.cn/zh-cn
https://www.cnblogs.com/Alberl/p/3341956.html
https://www.cnblogs.com/Alberl/p/3369213.html
duilib界面是开源免费界面库
mfc太烂,不美观,布局不好。运用复杂不稳定

内存占用高,基于.net的反射机制和wpf的内部机制,你想把控内存真心是难,只能一定程度控制,c++就不一样,内存是可控的

Qt是C++写的,跨平台的UI框架,Winform/wpf是C#写的不跨平台的Windows上运行的UI框架。

这个就是,C ++不会让您失望。当您想通过编写代码来解决更大,更雄心勃勃的事情时,C ++往往是您的最佳选择。 C ++的知识和技能可以提高对软件开发的掌握。

为什么国内大多PC客户端都是用C++而不是C#写的呢?

因为.netframework版本过于混乱,而且不互相兼容,到了.netcore才开始支持单模块编译,还要求至少Windows 7...

http://www.mobiletrain.org/about/BBS/113961.html

C++在实际桌面开发和使用上仍然是主流。无论是性能,还是资源控制都是C#无法比拟的。
主流的界面库有QT,duilib等。

抖音 Electron

微信 c++ duilib directui protobuf-lite SPEEX Skia SDL
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。
Microsoft.VC80
钉钉也是 chrome flutter_windows
爱奇艺 duilib的webkit浏览器控件,可以c++与js互交

https://www.32r.com/soft/11572.html

QT c++


使用libzplay库封装一个音频类
ffmpeg,PortAudio,SDL,bass,libzplay。
封装好一个duilib中使用的webkit内核的浏览器控件和一个基于vlc的用于播放视频的视频控件
libZPlay库集成了所有支持格式(mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm )


免费实现mac录屏+头像悬浮
电脑屏幕录制加人脸
https://www.goostats.com/zh/web_134995
EV录屏
WebView2Loader
若要创建单个可执行文件或减小包的大小,应静态链接 WebView2Loader 文件。 WebView2 SDK 包含头文件和 WebView2Loader.dllIDL 文件。


桌面录屏与摄像头合并
金舟录屏大师如何同时录制桌面和摄像头
电脑录屏和摄像头同步

用浏览器开发的 saas. 再加上框架或是美工完成页面。k8s docker
ie已经被淘汰了。选CefSharp。


研究了Geckofx、CefSharp这两个组件 选CefSharp。

Gecko是一款强大的浏览器内核,著名的Firefox浏览器就是基于 Gecko 核心的。
有了 GeckoFX,我们就可以用C#开发一款和 firefox 同样内核的浏览器了。


https://www.cnblogs.com/obge/p/14185394.html
https://www.ijinshan.com/filerepair/Geckofx-Winforms.dll.shtml
http://www.maticsoft.com/default.htm
https://www.soft78.com/

由于Chromium是C/C++开发的,想要在C#中使用需要再次封装,一些基于Chromium的浏览器控件便应运而生。

CefSharp与CefGlue怎么选,NuGet上一边倒的选CefSharp了
历史备份数据(每天三次备份)
http://www.manongjc.com/detail/40-bxfiheerjeqhxsv.html
Chromium
c# Chromium.ChromeDriver 
c#使用selenium+Chromedriver
C#WinForm集成Webkit浏览器内核 过时了
CefSharp.ChromiumWebBrowser
C#使用Selenium+PhantomJS抓取数据
首先IE8不支持HTML5,头疼,好在通过html5shiv可以实现兼容IE8。
目的:摆脱IE内核

webbrowser的替代方案
网上查了查,可以在.net平台使用的浏览器嵌入控件方案有几种

首先是WebKit .net,版本旧的相当可以,查阅了N多博客,踩了N多坑,最后也没在XP上跑起来,就算跑起来了也不敢用,N年前的东西了以后能不能活还不一定。

然后是GeckoFX,这家伙是FireFox的gecko内核机制的,但是网上资料很少,又踩了N多坑,最后跑都没有跑起来,直接GG。

最后找到了CefSharp,好家伙一看有github,最近几天还在更新,顿时心内一定,就是它了。

4. CefSharp介绍
github介绍很精准,地址:CefSharp的GitHub,大体说的是:

CefSharp是可以在.net应用内嵌的Chromium内核控件,支持VB、C#等CLR语言,支持winform、wpf等平台。

通俗的说,就是开发的.net程序可以通过CefSharp内嵌一个网页。

不错不错,那就开始使用吧。


工欲善其事必先利其器,这些准备工作都到位了,就可以开始大干一场了。

上传资源 快速赚钱

https://ie.icoa.cn/

https://blog.csdn.net/flyer822/article/details/88121972? WebKit.NET
https://blog.csdn.net/u011235865/article/details/106262780
C# 引用 WebBrowser、WebKitBrowser、CefSharp 数据交互的方法

断掉过去浏览器版本。
现在使用 System.Windows.Forms.WebBrowser。就可以了。如果是低版本的就是不兼容就行也。不支持非主流的。

C#将WebBowser控件替换为Chrome内核
用c#的winform中的浏览器控件:webBrowser,是基于本地电脑的IE内核。
当前浏览器使用的内核,可以通过访问下面这个网站获取:http://ie.icoa.cn/。


html文件引入外部js、css文件无效?
本地html文件,引入js,css时,时相对于html文件所在路径,而不是绝对路径啥的。下面是我基于方案一,引入layui的效果

引入.net版本打包webkit的第三方控件,网上广泛流传的大神做的:WebKit.NET-0.5-bin-cairo。
注意避坑:这玩意只能运行在CPU x86版本上,需要设置项目 目标平台为X86

禁止火狐版本升级
由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容易有问题,因此,打算使用Chrome的内核替换IE。

web broserChromium

cef.


chromiumembedded

综合考虑,在客户端程序中嵌入网页程序,首选CefSharp。

CefSharp 是一种将全功能符合标准的 Web 浏览器嵌入 C# 或 VB.NET 应用程序的简单方法。 
https://www.jianshu.com/p/3f50cc747606
WinForm嵌入Web网页的解决方案
Microsoft Edge WebView2诞生较晚,相比CefSharp,功能较弱。
https://www.cnblogs.com/zkwarrior/p/13131550.html
CefSharp 是一种将全功能符合标准的 Web 浏览器嵌入 C# 或 VB.NET 应用程序的简单方法。
WebBrower组件是基于本地操作系统的IE浏览器的,CSS解析和兼容性不太友好,一般我们不推荐使用。这里我们采用的是CefSharp这个开源组件,它是嵌入的Chromium浏览器,目前主流的解决方案都是采用这种方式。

       public FrmMain()
        {
            InitializeComponent();
            CefSettings settings = new CefSettings();
            settings.Locale = "zh-CN";
            Cef.Initialize(settings);
            string url = "http://127.0.0.1:8044/";
            ChromiumWebBrowser webview = new ChromiumWebBrowser(url);
            webview.Dock = DockStyle.Fill;
            this.Controls.Add(webview);
        }


微软下一步比较力推的是winui2和maui。
https://dotnet.microsoft.com/en-us/learn/maui/first-app-tutorial/modify
https://learn.microsoft.com/zh-cn/dotnet/maui/get-started/first-app?pivots=devices-windows&view=net-maui-7.0&tabs=vswin
https://learn.microsoft.com/zh-cn/windows/apps/winui/winui3/create-your-first-winui3-app


Cordova的基础是html和js运行在webview容器里面,通过Cordova提供的接口与硬件通讯;

wpf 入门
WPF 入门教程功能区控件
https://zhuanlan.zhihu.com/p/420838414

https://blog.csdn.net/kalvin_y_liu/article/details/127220603
https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/getting-started/walkthrough-my-first-wpf-desktop-application?view=netframeworkdesktop-4.8

https://github.com/

沉着冷静、保持定力,稳中求进、积极作为,团结一致、敢于斗争
从纯文字,到图文,到长视频,再到短视频、即时的直播……我们可见的传播媒介的演变,已经逐渐地远离厚重的表达模式,变得轻量化和即时性。

https://app.diandian.com/

可以确定的三件事是:

他们热爱市场营销

他们喜欢构建软件

他们想要运用AI技术


不在乎界面,直接0美化的界面 只限于Windows端,建议你选择WPF
html+css+javascript

搞 AI/ML 公司中 90% 从事的业务与 AI/ML 根本不沾边!

“人工智能是制造智能机器的科学和工程。” — 约翰·麦卡锡

现代前端基石 现代前端 vue react 都离不开nodejs 打包工具 、dev的开发环境 、组件化开发 至少在现在离开node 都是进行不下去的

node.js做中间端,JAVA或者其他语言做后端

对于前端开发人员来说,有三种重要的基本编程语言——CSS、JavaScript和HTML。

 Electron、React Native、Flutter 等应用框架

Electron 也并不是全无缺陷的,一些常受诟病的缺点有:

打包体积过大,由于捆绑了 Chromium 内核等大量依赖,导致 Electron 的打包体积普遍在 100M+,这一点我们可以使用 asar 压缩、动态链接库等方式进行优化。
内存占用高,同样的由于捆绑了 Chromium 内核,Electron 的内存占用普遍也较高

在前端框架上面,龙头 React 和 Vue 还是稳步发展,持续创新。而黑马 Svelte 在今年崛起
AI写作、绘画、游戏、编程、音视频编辑等,拉近了AI技术和用户之间的距离。

C# 语音识别(文字to语音、语音to文字)
https://www.cnblogs.com/bingyun84/p/4330494.html


安防监控
Android版手机视频监控系统

WinForm开源UI框架
以前用c++界面跟本不如winfrom画的快
selenium2(WebDriver)自动化测试
不用chrome 使用firefox 
WPF Web Browser
MIT license
Stars
 21k stars
https://github.com/MonitorControl/MonitorControl


ASP.NET Core ASP.NET, AJAX, MVC

OpenAI 的 ChatGPT
FFmpeg

C# WPF控件库《MaterialDesignInXAML》
Winform、WPF
winform DevExpress
Winfrom 第三方插件 Telerik, DevExpress, Syncfusion, ComponentOne or Infragistics.

你可能感兴趣的:(javascript)