突破禁忌,打造全新的Web应用世界

突破禁忌,打造全新的Web应用世界

互联网浏览器打造了一个丰富多彩的Web世界

      毋庸置疑,互联网浏览器催生了一个绚丽多姿的Web世界,从上个世纪九十年代开始至今,浏览器这个专属的概念深刻的影响着我们生活的世界,直到今天,这个领域一直都是巨头们的主场,虽然历经沧桑,我们已经目睹了几代浏览器的纷争,为他们担忧、为他们喝彩……。虽然偶尔也会有巨头之外的团队加入纷争,然而,格局很难改变,纵观今天的互联网,这个领域亦然是寡头的舞台,我们依然是看客……

浏览器技术的成熟,意味着什么?

      互联网时代,浏览器技术的成熟,使得越来越多的技术团队面临着强烈的制约,我们只能看着有限的巨头制定相关的规则,事实上,已经开始扼杀创新。因为支撑代码复杂度越来越大,留给其他技术团队的空间似乎越来越小,这种趋势,只能愈演愈烈。

      从应用的角度看,浏览器技术的成熟加剧了桌面应用与Web应用之间的分化,使得二者之间的鸿沟变宽了,可以说Web设计的方方面面开始将许多问题流水化,扼杀创新的趋势已经非常明显。

我们需要创新,那么入口在哪里?

      是的,任何事物发展的规律都无法摆脱这样的事实:“当瓶颈凸现的时候,预示着新变革的开始”。Web页面似乎发展到尽头了,作为互联网内容的引擎,由于技术的禁锢,似乎阻碍了什么,阻碍了什么呢?

      事实上,对于桌面操作系统而言,浏览器依然是一类客户端程序,与其他客户端应用的差异是,浏览器支持一类基于Web DOM的文档,由于这类文档易于制作、易于分发,这些特点恰好迎合了互联网的需要,也正是这一环节,使得浏览器成为桌面应用的另类。

      由于桌面应用系统缺乏浏览器内置的机制,使得在互联网时代桌面应用总体上看是力不从心的,特别是组织内容的方面,桌面软件显得相形见绌。

变革从改变浏览器独特的地位开始

      桌面软件的发展迫切需要一个与互联网浏览器对等的内容制作体系,如果有,那么互联网世界将会是一个全新的场景。如果我们顺着现有的技术路线,遵循巨头制定的规则,那么,浏览器的位置就会越来越独特,事实上,与桌面软件之间的差别就会变得越来越大,如此,我们就会陷入微软、google等巨人的步调,那么,Web世界我们就会永远是看客,相当长的时间之内,我们只能为他们喝彩、鼓掌。

      师夷之技以制夷,这句话的道理非常的明确。当你无法与之竞争的时候,我们需要学习对手的长处,改变策略,只有这样,我们才可能打破禁忌,制造规则。

TheUniverse,一个改变规则的开源项目(https://github.com/TangramDev/OpenUniverse)

      如果我们不改变规则,那么我们几乎无法参与竞争。让浏览器失去其专属的地位,是我们给出的具体方案。如果桌面应用系统需要一个基于内容的、与浏览器对等的内容引擎,那么,一个最简明的思路就是,让你的系统直接包容浏览器的全部,如此,浏览器就不再特殊,其专属的地位就会渐渐消失……

      我们无意终结浏览器的存在,然而,如果每一款应用本身就是一款浏览器,那么概念上看,浏览器的消失就是一种必然趋势。

从一个新的视角看桌面软件开发

      事实上,支撑Web页面的DOM元素本身,也是一组二进制的组件,DIV、CSS等等,都被封装在浏览器核心支持库的内部,标准的Web页面仅仅是定义了有限的描述规则。改变DOM模型应该是桌面软件弥补差距的第一步。当我们深入到浏览器开源代码的内部,我们发现,主流的支撑体系内部包含着“排他”的逻辑,Chromium的渲染引擎,使得主流的二进制组件无法正常的加载,或许这一点是阻止大众团队介入浏览器领域的最直接的壁垒。JavaScript的“沙箱”,也是隔离其他语言代码的另外一层壁垒,如果我们可以改良浏览器的基础构造,使得保留“Sandbox”策略的同时,常规的二进制组件,例如COM、.NET、Win32等组件可以平滑的与DOM渲染共处,那么问题就会完全不一样。TheUniverse的切入点就在这个环节。

      我们需要将桌面软件看成一个超级的Web入口,为此,我们需要一个包容标准Web的新型Web页面,我们需要重新看到浏览器窗口,将其包容的内容不限于Web页面,或者说,我们将其他窗口也看作浏览器窗口,那么,桌面软件与浏览器之间的鸿沟也就消失了。为了更好的体验我们这个项目的宗旨,我们建议下载我们的二进制体验包,具体下载地址:Releases · TangramDev/OpenUniverse (github.com)

      为此,我们需要改变一些固有的认识,例如,WinForm,我们会将其看作一种特殊的浏览器,这样,Form对象就会完全受控于Web:

关于开源项目OpenUniverse的一个视频

(当我们将WinForm对象看作是浏览器窗口的时候,Form对象也可以浏览网页,只不过,看上去与传统的页面不同)

当我们泛化了浏览器窗口这个概念,那么,页面也就不再是传统意义之下的页面,在新的框架之下,浏览器窗口仅仅是一个“对象类型”,不再具有特殊的地位,例如,一个MFC窗口,也可以充当浏览器窗口:

(当浏览器窗口失去了其特殊的地位,那么Web页面的内涵也就随之改变,我们不能简单的认为Web页面本身是渲染在一个矩形的内部)

正如我们如上图片显示的那样,DOM元素的外延扩大了,那些过去意义下的窗口,现在是一种DOM元素,扩大了DOM的外延,那么所有的一切都将被Web页面描述,这样新的Web模型就得以建立。如下图所示:

(一个多文档界面,这里体现的是一个WinForm MDI结构,当用Web重新定义的时候,可以支持任意多个子窗体类型,不依赖于开发阶段,只依赖于页面描述)

当桌面软件开发与Web开发一体化的时候

      事实上,数学发展曾经经历过“初等函数”的黄金时期,而数学理论得以爆发的阶段恰好是人们意识到初等函数的局限,还有绝对数量的函数用初等函数无法表达,这个阶段才开启了数学发展黄金时代。突破标准Web的禁忌,是弥合桌面软件与Web应用的开始,会不会迎来桌面软件的黄金时代,我们觉得是一个富有挑战的话题。

      我们认为,桌面软件的Web化,是一个必然的趋势,TheUniverse这个项目,应该是“抛砖引玉”性质的尝试,希望会对外界团队有一个启发,与开发者共勉。

 

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页