Win32:一个全新的、被忽视的桌面互联网内容平台

2023-10-27

Microsoft:成于Win32,败于Win32,回归Win32

         纵观微软的历史,毫无疑问,桌面应用的黄金时代Win32造就了微软庞大的应用生态,进而奠定了曾经的王者。当互联网逐步成为主流的时候,应用生态逐渐发生了变化,这种变化日积月累,进而产生了质变,桌面应用与互联网应用之间的界限越来越明显,可以说,互联网应用逐步成为主流的过程是Win32光环逐渐暗淡的过程……

         应用生态的变更差不多是微软在互联网时代的致命失误之一,微软数度用新的软件机制替代Win32,可以说铩羽而归,UWP不温不火,一直没有成为主流就非常说明问题。Windows 10X被永久性搁置,同时其关键环节被合并到新一代的Windows里面,这些变化非常值得玩味……

        的确,桌面Windows依然是微软的重点战略,这个变化是不是意味着一种“回归”?微软新的“应用商店”策略非常说明问题,以下超链接给出了丰富的信息:

  1. Microsoft is building a new app store for Windows 10 in major revitalization effort | Windows Central
  2. Microsoft unveils new app store for Windows 11 with support for more desktop applications | Windows Central
  3. Thinking about Microsoft's potential new app store on Windows 10 | Windows Central

Win32,互联网时代的新机遇

         毋庸置疑,互联网浏览器支撑着互联网应用的入口。对于Windows桌面而言,我们不能否认,浏览器本身依然是一款Win32应用,由于Web页面的特殊性,使得由浏览器支撑的生态明显有别于Win32应用生态,其中的差异一直延续到今天。

         是不是我们忽略了什么?浏览器领域里面的竞争一直都存在,由于几乎就是巨人、寡头之间的竞争,我们似乎一直都是观众,按照目前的技术架构,这个趋势会一直延续,我们几乎无力改变什么……

         如果没有什么新的切入点,我们会一直为微软、google等鼓掌,无论谁主导浏览器。这个状态让我们想起牛顿力学,曾经有一个时代,科学家们认为所有的物理学问题差不多都有了完美的理论,物理学几乎只需要合理的“计算”,那个时期是经典物理曾经的高峰,没有人怀疑牛顿、麦克斯韦……。事实上,这些完美的理论带来的寂静是暂时的,当新的视角出现的时候,物理学革命也就随之产生了。可谓“树欲静而风不止”……

         “时空弯曲”,用新的视角诠释了“引力理论”,可以说给物理学带来了翻天覆地的变化。回到Win32世界,当Windows桌面操作系统重新回到我们的视线,新的切入点果真存在吗?

Win32世界里面的“时空弯曲”

         如果我们找不到新的视角,那么至少现在我们的机会比较“渺茫”,我们只好亦步亦趋的跟随,规则就是人家的。那么机会在哪?

         Win32世界里面存在一类“子窗口”,这类窗口在“几何位置”或者“屏幕位置”这一点上仅依赖于其“父窗口”,显然,这个“约束条件”极弱,事实上,这类子窗口“大量、普遍”的存在于众多的Win32应用之中。这一类窗口,我们称之为“Window Nucleus”,顾名思义,“窗核”意味着其周围应该存在着“环绕物”,按照目前现有的技术框架,我们基本上“看不见”环绕物的存在,所以说“Window Nucleus”长期以来是被忽略的一类对象,是Win32世界的盲点。

··        爱因斯坦将大质量物体产生的“引力”解释为“曲率”,也就是说,大质量的物体会导致其“环绕空间”产生“弯曲”,进而使得其他物体“围绕”其旋转,这个独到的感觉颠覆了牛顿力学,使得科学家重新认识物理学,进而催生了近代物理学的一场变革。

(爱因斯坦认为:大质量天体“扭曲”了其周围的空间,进而形成了其他物体环绕其旋转的“几何轨道”,这种几何的观点,奠定了现代物理学的基础)

“Window Nucleus”,相当于大质量物体的“核”,之所以我们这样看,是因为这类对象会导致其周围的“空间”产生“网格化”,网格化之中的每个“格”,会给新对象提供“位置”,进而形成一种“类似大质量”物质的“时空弯曲“现象……

 

(Excel Workbook中心区域呈现的网格化结构,每个“格子”有待于填充新的对象)

 (定制化之后的浏览器窗口,WebView周围呈现的网格化结构)

(Visual Studio IDE之中呈现的“网格化”)  

 (Window Nucleus对环绕其周围的几何空间形成的“扭曲”,使得Win32窗口呈现出前所未有的的“动态特征”……)

Window Nucleus对其周围形成的“网格化“与相对论的”时空弯曲“有异曲同工之妙,网格化给新对象提供了”生存场所“,处于中心位置的Nucleus与环绕其周围的网格之间的相互作用,给软件在运行时提供了几乎无限的可能性。

用新的视角重新看待Win32应用

         我们无法想象相对论对现代宇宙学形成的深远影响,有了相对论,人们的可观测宇宙达到了直径930亿光年这个尺度,比起人们已知的宇宙年龄“137亿光年“,看起来相当的不可思议。事实上,每一款Win32应用,本身就是一个”袖里乾坤“,其中隐藏着一个”宇宙“,听起来一定有些”荒诞“,事实果然如此吗?

Window Nucleus:Win32开发的一个长期被忽略的“盲点”

正如我们在视频之中阐述的那样,Window Nucleus对象的出现,让我们联想起大型天体周围环绕的“吸积盘”,从巨大的星系到恒星、再到大型的气态行星,都会看到吸积盘的存在,然而在我们认识、探索宇宙的早期,在没有天文望远镜的时代,我们是无法看到或者无法想象这些“吸积盘”的存在,回到Win32世界,当环绕着“Window Nucleus”周围的“吸积盘”渐渐浮现的时候,预示着新的软件时代的开启。一旦我们基本搞清楚,哪些对象可以作为吸积盘里面的“灰尘”,那么这类“天文现象”会让我们重新考虑Win32软件的基本结构。在Windows操作系统的原始开发阶段,微软的开发人员创造了动态链接库技术,每一个动态链接库都输出一些可被软件开发者利用的“元素”,典型的输出元素包括“输出函数”、“C++类”、COM对象、ActiveX控件、.NET控件……,按照现代数学一贯的做法,我们首先将Win32动态链接库放入一个“集合”,其次将每个动态链接库的“输出对象”全部放入另外一个“集合”,这类的考虑的基本原则是:希望有一种策略,可以“整体”的考虑一个软件系统可调度的“组件资源”,或者说,我们需要一种“新技术”,允许Win32应用可以充分的调度“所有Win32动态链接库输出对象”形成的集合,我们将这个集合称之为“DOMPlus,显然,标准Web技术赖以依托的DOM是DOMPlus的“子集”,事实上,我们希望明确一个观点,环绕在一个Window Nucleus周围的“吸积盘”恰好就是“DOMPlus”。在没有天文望远镜的时代,我们对宇宙的认知停留在“地心说”阶段,对桌面软件开发而言,我们现在或许就处于“Win32世界的地心说”阶段。

DOMPlus给出了环绕在“Window Nucleus”周围“吸积盘”的基本结构

平行宇宙:Win32应用的基本结构

        如果没有类似哈勃望远镜之类的先进设备存在,那么我们今天基本上无法形成“现代的宇宙观”,这一点从另外一个角度似乎在暗示我们,现代Win32应用结构之中,应该是“缺乏类似哈勃这样的机制”,进而导致很多,或者更多的应用潜力无法呈现出来,或许,一个应用系统缺乏某种基因,使得绝大多数应用潜力被“掩盖”了,如果我们相信:每一个Win32应用,都拥有一个“宇宙结构”,那么,每一个独立的应用,都是彼此平行的,这一点成立的话,也就意味着绝大多数应用的基本结构都是“平行的或者等价的”。(待续……)

The Universe:一个颠覆式Win32桌面软件开发框架(3)

扩展Web页面 :

The Universe:一个颠覆式Win32桌面软件开发框架(4)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win32:一个全新的、被忽视的桌面互联网内容平台 的相关文章

  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • 如何使用 Mockito 和 Junit 模拟 ZonedDateTime

    我需要模拟一个ZonedDateTime ofInstant 方法 我知道SO中有很多建议 但对于我的具体问题 到目前为止我还没有找到任何简单的解决办法 这是我的代码 public ZonedDateTime myMethodToTest
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • 从 Stax XMLStreamReader 读取以解组部分

    我正在使用 Stax 游标 API 从大型 xml 文件中提取数据 当前 我转到特殊标签的开头并使用 JAXB 解组该标签 这对于格式良好的 xml 文件效果很好 但不久前我有一个文档 其中数十万个标签中有一个未关闭 JAXB 使用 XML
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • 阻止 OSX 变音符号为所有用户禁用 Java 中的 KeyBindings?

    注 我知道这个问题 https stackoverflow com questions 40335285 java keybinds stop working after holding down a key用户必须输入终端命令才能解决此问
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 用 C 实现 Unix shell:检查文件是否可执行

    我正在努力用 C 语言实现 Unix shell 目前正在处理相对路径的问题 特别是在输入命令时 现在 我每次都必须输入可执行文件的完整路径 而我宁愿简单地输入 ls 或 cat 我已经设法获取 PATH 环境变量 我的想法是在 字符处拆分
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 为什么 BufferedWriter 不写入文件?

    我有这个代码 String strings Hi You He They Tetrabenzene Caaorine Calorine File file new File G words txt FileWriter fWriter Bu
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • Spring Boot MSSQL Kerberos 身份验证

    目前在我的春季靴子中application properties文件中 我指定以下行来连接到 MSSql 服务器 spring datasource url jdbc sqlserver localhost databaseName spr
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • java中如何找到class文件的包

    我正在编写一个使用 class 文件的 java 程序 我希望能够读取文件系统上的 class 文件 使用 InputStream 并确定它所在的包 该 class 文件可能不在一个好的包目录结构中 它可能位于某个随机位置 我怎样才能做到这

随机推荐

  • ROS 与 ubuntu

    欢迎访问我的博客首页 ROS 与 ubuntu 1 安装 ROS Noetic 1 1 源和钥匙 1 2 安装 1 3 编译依赖 1 4 启用 ROS 2 ROS 教程 2 1 常用命令 2 2 功能 3 ubuntu 常用命令 4 参考
  • Linux删除用户

    libai为用户名 创建用户 useradd libai 设密码 passwd libai 删除用户 userdel r libai
  • 学了Python,可以做哪些月入过万的兼职?

    如果学了Python不做全职工作 那么可以靠哪些兼职赚到钱 今天我们就来看看一位有着4年开发经验的老鸟的分析回答 希望对你有所帮助 emmm 以我差不多四年的 Python 使用经验来看 大概可以按以下这些路子来赚到钱 但编程技能其实只是当
  • Vue2.x入门篇

    文章目录 一 Vue js简介 1 1 MVC和MVVM设计模式 1 MVC设计模式 2 MVVM设计模式 1 2 Vue js的下载 二 Vue实例 2 1 Vue实例 2 2 生命周期 2 3 模板数据 2 4 过滤器 三 计算属性 方
  • 大话数据结构 1 绪论

    数据 是描述客观事物的符号 是计算机中可以操作的对象 是能被计算机识别 并输入给计算机处理的符号集合 数据元素 是组成数据的 有一定意义的基本单位 在计算机中通常作为整体处理 也被称为记录 数据项 一个数据元素可以由若干个数据项组成 数据项
  • 25B无人直升机调试(Tuning)

    要知道的直升机原理 首先要掌握的5个飞行模式 本文首先调试自稳模式 Stabilize 自稳模式 Alt Hold 定高模式 Loiter OF loiter 悬停模式 RTL Return to Launch 返航模式 Auto 自动模式
  • jdbctypetimestamp,getTimestamp()在MySQL JDBC连接器中进行两次时区转换?

    I have a column of type DATETIME wiht a value of 2012 05 07 19 59 12 in MySQL database I m trying to retrieve this value
  • OpenCV-Python击中击不中变换案例:真图作核的绳网结匹配

    前往老猿Python博客 https blog csdn net LaoYuanPython 一 引言 在前面的博文介绍了HMT变换的基础知识及理解HMT变换的关键知识点以及长方形和绿叶边界的提取 本文将简单介绍另一个案例 绳网结匹配 老猿
  • 2023年Java毕业设计题目推荐,怎样选题?500道毕业设计题目推荐

    大家好 我是程序员徐师兄 最近有很多同学咨询 说毕业设计了 不知道选怎么题目好 有哪些是想需要注意的 今天 我整理了一些Java毕业设计的题目 可以参考一下 希望对大家有所帮助 文章目录 一 大体实现思路 二 如何避坑 三 可借鉴题目参考
  • 计算机中¥符号按哪个键,人民币键盘符号怎么打 电脑怎么打人民币符号

    原标题 小编教你电脑怎么打人民币符号 关于电脑问题教程分享 来源 191路由网 编辑 小元 对于财务人员来说 货币的符号熟悉程度已经是滚瓜烂熟了 特别对于人民币符号不仅要学会手写 在办公软件上还要知道怎么拼写出来 但是对于新手而已就需要学习
  • 关于在VMware上安装Android x86及FTP详细使用

    关于在VMware上安装Android x86产生的一系列问题及解决办法 下载地址 安装配置过程 配置磁盘 配置启动文件 关于分辨率问题 兼容ARM 输入法问题 FTP服务 打开FTP服务 搭建服务器 客户端连接 部分问题 结尾 下载地址
  • go 进阶 http标准库相关: 三. HttpServer 服务启动到Accept等待接收连接

    目录 一 http ListenAndServe 服务启动基础概述 二 Server 结构体详解 三 查看Server Serve ln 源码 连接的state状态 四 Listener Accept 等待连接 问题 六 总结 引出一个小问
  • TARS快速入门(NodeJs)

    1 前言 一个NodeJs应用程序框架需要关注很多问题 如自动发布 多机部署 负载均衡 监控报警 日志的输出与管理 服务异常重启等等 而Tars应用程序框架就提供了解决这些问题的一整套方案 Tars是腾讯从2008年到今天一直在使用的后台逻
  • mysql column_MySQL,`column` like '一些文字' 是否就等于 `column` = '一些文字',有什么区别是呢?...

    建议你用 EXPLAIN 语句来检查一下这两条语句的的执行结果 下面是我在自己机器上用 phpMyAdmin 的性能分析工具做的测试 第一条 SELECT FROM Affiliate Impression Log WHERE Produc
  • 【C++】CGAL学习笔记

    一 HELLO WORLD 1 官方文档 CGAL TUTORIALS 2 所有 CGAL 头文件都在子目录中 所有 CGAL 类和函数都在命名空间中 类以大写字母开头 全局函数以小写字母开头 常量全部大写 3 几何图元 如点 线等都定义在
  • Oracle transport tablespace

    本来没想过发布这个文章 只是周边有一朋友工作中遇到合并数据库的情况 他是通过expdp提取出五个库对象 然后impdp到新库里面 我觉得这种方法特别耗时 尤其在数据量比较大的时候 这种时候我觉得采用表空间传输方法效率更高点 当然我们还可以使
  • 【JAVA定时器】四种常见定时器的原理和简单实现

    个人学习笔记分享 当前能力有限 请勿贬低 菜鸟互学 大佬绕道 如有勘误 欢迎指出和讨论 本文后期也会进行修正和补充 前言 定时器顾名思义 即定时触发某个事件 分离开来 即包含三个因素 定时 触发 某个事件 本文也将以此为基础介绍五种常见的定
  • centos7 iptables 安装与添加端口

    1 安装 systemctl stop firewalld systemctl mask firewalld yum install iptables services 2 开机启动 systemctl enable iptables 3
  • java中 所有事件侦听器接口(总结)

    所有事件侦听器接口必须扩展的标记接口 是 public interfaceEventListener 1 public interface ActionListener extends EventListener 用于接收操作事件的侦听器接
  • Win32:一个全新的、被忽视的桌面互联网内容平台

    Microsoft 成于Win32 败于Win32 回归Win32 纵观微软的历史 毫无疑问 桌面应用的黄金时代Win32造就了微软庞大的应用生态 进而奠定了曾经的王者 当互联网逐步成为主流的时候 应用生态逐渐发生了变化 这种变化日积月累