当前位置: 首页 > article >正文

每一款桌面应用都是超级Web浏览器(一)

横空出世

第一次运行AIGC Web Browser(Tangram),你会看到如下画面:

没错,这就是一款看上去普普通通的Chromium-Based Web浏览器。如果我们仅仅考虑浏览Web页面或者访问Web站点,这一款浏览器可以说绝对的“平淡无奇”,毕竟其核心源自Chromium Project,充其量具备相当于Chrome浏览器95%的功能体验,从这个视角看,我们期望其超越ChromeEdge等主流Web浏览器绝对是一种“痴人说梦”般的奢望。

       毋庸置疑,我们任何人都无法预测软件技术领域明天会发生什么样的惊人变化,AIGC Web Browser是一款针对常规、普通桌面应用软件设计的Web浏览器,其核心目标是:不修改桌面应用的源代码,使得那些常规、普通桌面应用软件直接具备超越诸如ChromeEdge等主流Web浏览器的Web生态驾驭能力,这意味着:任何人都有可能为现有的桌面应用直接写Web页面,桌面应用领域即将发生翻天覆地的变化。

小试牛刀

       每一款桌面应用,事实上都蕴含着无数个“个性化Web浏览器”策略,这使得每一款桌面应用都具备无限数量个性化差异极大的“Runtime”形态,这一技术特征,就是AIGC Web Browser的价值所在。

       如何理解我们这里阐述的“愿景设想”?我们首先用Visual Studio Wizard生成一款最普通的桌面应用,本文之中,我们生成的是一个“.NET Framework WinForm”应用,如果你愿意,你当然可以生成一款MFC之类的桌面应用框架,由于AIGC Web Browser目前仅提供64位版本,所以我们希望你生成的应用是一款64位WinForm应用,具体如下图所示:

编译这个应用直接运行,我们会看到一个极为普通的WinForm窗体:

对绝大多数开发者而言,他们一定会认为他们已经洞悉了后续的全部事情,特别是,由于我们在这一刚刚生成的应用工程之中还没有添加任何一行代码,或许剩余的操作只能是:关闭这个窗体,结束这个应用的运行……。

       如果你安装了AIGC Web Browser(通过本文提供的链接下载,或者访问我们的GitHub),那么情况就会完全不同,假设你刚刚编译的桌面应用的可执行文件是“test.exe”,找到这个可执行文件所在的文件夹,在这个文件夹之中增加一个名字为“test.app.html”的web页面,特别需要读者注意这个页面的命名规则与对应应用的可执行文件名称之间的关系。第一次如果你不清楚如何写这个Web页面,那么你索性提供一个不包含任何内容的“空白”Web页面,只要符合命名规则。一旦你提供了这个页面,如果你已经关闭了如上的Form窗体,那么需要你重新启动你的应用,在确保刚刚生成的桌面应用已经处于运行的状态之下,你启动AIGC Web Browser,经过短暂的延迟,你会看到如下一个运行时画面:(现在,你可以关闭AIGC Web浏览器了。)

我们首先看到了WinForm产生的变化,与此同时,我们还看到了一个“Chromium标签组”。如果你点击Chromium浏览器窗口之中的Web页面包含的按钮,你会看到全新的变化:

如果你点击WinForm窗体之上的“button1”按钮,你会看到WinForm窗体之中如下的变化:

以及一个新的Web浏览器窗口:

如果你点击如上浏览器窗口呈现的“treeview”节点,你会看到右侧的事件“响应”:

 每一次点击不同的节点,你会看到完全不同的变化。

       我们简单的汇总一下我们所看到的一切,当我们针对可执行文件“test.exe”,提供了Web页面“test.app.html”页面,那么启动test.exe之后,我们并没有看到令我们震惊的变化呈现出来,然而,一旦AIGC Web浏览器启动,那么情况就会出现巨大的变化,我们鼓励读者看一下从“空白”的“test.app.html”页面开始形成的最终变化,其中包含了AIGC Web 浏览器的一些基本的技术特征,开发者可以以生成的“test.app.html”页面为基础,形成任意数量的“test.app.html”页面副本,每一个副本都会决定应用的基础结构。简单的说,从下述最普通的窗体开始:

 我们首先看到的是该Form窗体之中panel对象的变化:

 如果你切换panel周围的“Chromium标签”,你会看到进一步的变化:

 你可以选择如上不同的“抽屉标签”,会看到不同的运行时呈现:

 

 

这里呈现的变化,是Visual Studio Form Designer无法实现的,其控制规则包含在“test.app.html”页面之中,是一种Web DOM的描述行为,虽然我们没有给WinForm窗体之中的三个button对象写任何C#代码,但是我们已经看到,“test.app.html”页面重新处理了这三个按钮的点击事件,你可以分别点击你看到的三个按钮,看一下对应的Web响应是什么。当我们点击按钮的时候,test.exe产生了全新的“浏览器”窗口,这些浏览器窗口都隶属于当前的test.exe应用进程。在这个过程之中,AIGC Browser就是一个启动器,其职责是负责加载你所生成的桌面应用的“内置全功能浏览器系统”,所有我们看到的一切使得我们看到,事实上每一款桌面应用,都可以全面包容一个“超级现代浏览器结构”,这个结构不仅支撑标准Web技术,还支持一个更加强大的Web DOM,使得开发者的应用可以支持任意数量的Win32桌面对象。

       当然,我们建议读者用Wizard生成一些其他类型的桌面应用,例如MFC包含的各种类型的应用,以此体验AIGC Web Browser的工作模式。我们这里需要明确强调的是,AIGC Browser并不需要开发者修改其应用的任何代码,事实上,对所有的开发者而言,他们最初并不清楚AIGC Web Browser是否存在。


http://www.kler.cn/a/354728.html

相关文章:

  • 基于RedHat9部署WordPress+WooCommerce架设购物网站
  • 【WPF】使用BitmapImage给Image的Source赋值,并释放原占用资源,避免删除原文件时导致程序崩溃
  • Clisoft SOS与CAD系统集成
  • STM32之CAN通讯(十一)
  • Ubuntu下的小bug
  • Ant Design Pro写项目的总结经验(react)
  • 宏基因组分析软件
  • 热更新解决方案2 —— Lua语法相关知识点
  • spring boot项目日志怎么加?
  • 腾讯六宫格本地识别,本地模型识别,腾讯六图识别
  • ElasticSearch简称ES基础语法使用大全
  • 第11章 索引(postgresql v17)
  • 常用镜像链接
  • Oracle DECODE 丢失时间精度的原因与解决方案
  • 三握四挥的依次顺序到底是什么呢?
  • Redis 哨兵模式下DB库操作审计
  • 你认为BI不需要建模,那就大错特错了
  • 气膜展览馆——汽车展览的新选择—轻空间
  • 【原创】java+ssm+mysql小区物业管理系统设计与实现
  • 基于panda-gym上手stable-baselines3强化学习框架
  • 简单说说 spring 是如何处理循环依赖问题的(源码解析)
  • Unity 2D角色的跳跃与二段跳示例
  • Springboot 整合 Java DL4J 实现物流仓库货物分类
  • 论文翻译 | LARGE LANGUAGE MODELS ARE HUMAN-LEVELPROMPT ENGINEERS
  • 计算机网络自顶向下(4)---应用层HTTP协议
  • Nginx在Windows Server下的启动脚本