Web Runtime for Application: 互联网浏览器终结者

Web Runtime for Application是一个开源、颠覆式的桌面软件开发框架,其设计目标是为桌面应用提供一致的全功能的Web应用生态支撑运行时环境,使得开发者可以充分的运用已存在的成熟的桌面软件技术,例如.NET、Java、COM、C++等,开发适配现代互联网的桌面应用软件。Web Runtime将创建一个浏览器无处不在的全新的Web世界。

互联网浏览器的竞争一直是寡头的竞争

         无论你是否愿意承认,互联网浏览器的竞争我们一直都是旁观者,事实上,这个领域一直是少数的几个寡头在制定规则的同时在参与竞争,尽管我们也开发了许多国产浏览器,由于我们不是规范的制定者,也不是核心的参与者,因此,许多浏览器其结果都是昙花一现,生命周期都不长久,在他们制定的规则下,他们掌控着核心,我们很难超越,我们似乎只能服从。巨头之间的竞争,看起来非常的惨烈,微软彻底放弃自己的Edge,给人以壮士断腕的悲壮感,由于微软也采用了Chromium核心架构,从围棋的角度看,棋盘似乎变小了,角逐的空间差不多是两个角色之间的较力,竞争场的悬念不多,似乎少了些什么。用Google的开源技术与Google展开竞争,看起来我们应该给微软一些掌声,作为旁观者,是不是有很多无奈?

师夷长技以制夷

       如果我们一直在这些巨头的规范下适应他们的规则,其结果是无论谁笑到最后,他们都是胜利者,我们还得服从于他们的规范。从很多角度看,二个人的竞争总是那么乏味,或许我们只能观望竞争,有可能还得为他们喝彩,如果我们只能如此,那么这个领域就太单调了。如果我们应该参与竞争,那么需要我们拿出智慧,师夷长技以制夷。互联网浏览器作为一个独立的角色,看起来顺理成章,但是棋盘太小了,只能容纳有限的几个角色进行博弈,这样下去,很难有变化,所以我们需要将棋盘放大,唯有如此,新的规则才能介入,我们才可能有竞争的机会。

       我们的策略是:让浏览器在当今大环境之下的特殊地位彻底的动摇,从绝对的位置变成“相对”的位置,那么其特权就会荡然无存,新的规则就会得以建立。

       中华文明的特色是包容、海纳百川,历史上无论你多么强大,你只能被同化,没有谁可以征服。有鉴于此,我们就可以深刻的理解“大隐隐于市”的道理。让每个桌面应用系统都具备现代互联网浏览器的功能,听起来似乎很极端,需要我们认真的思考,这个设想应该是将浏览器化于无形的关键所在。

如果你无法与之竞争,那么你应该设法将其变成你的一部分

         是的,历史上类似微软这样的巨头应该就是这个逻辑。我们设想一下,如果我们让一个桌面应用的初始化起点从一个完整的浏览器开始,将是一种怎样的场景?如果这个假设成立,那么应用程序在开始阶段适配互联网的全部基础就完全具备了,而这个基础正是Google、Microsoft的长项,那么我们的策略应该是将其所长变成一个起点,如此,许多新的规则就应该由我们建立,所以突破制约的关键点是非常明确的,以今天的角度看,这个制约点应该是绝大多数软件团队的盲点。一旦有了新的基点,那么后面的事情应该非常清晰,我们需要考虑的是,如何在这个起点之上,形成新的、被巨头忽略的那些规则。

       得益于Google的Chromium,由于这是一个开源的框架,我们得以将其全部编译成一组动态链接库,这一点形成了Web Runtime的基础,师夷长技以制夷,这个原则告诉我们,我们需要充分的利用巨头的所长,进而找到与之竞争的切入点。

公共互联网浏览器的局限

       Google打造Chromium项目的动机是打造一款互联网浏览器与Microsoft争夺互联网内容入口,通过十年的努力,微软落败了。由于互联网的重要性,微软改变了姿态,用Chromium的技术积累重新回归竞争的战场,从这个角度看,Chromium是业内公认的事实上的浏览器基础架构。由于巨头们紧紧的聚焦于浏览器结构本身,所以,浏览器的基础结构变得越来越复杂,使得巨头之外的团队,很难改变现状。事实上,Chromium的源代码发展到今天已经十分的巨大,如同一个恒星演化到一个特殊的阶段,似乎要到一个极限了,大质量的恒星,终有一天要突变的,Chromium也是一样,剧变就是时间的问题,我们应该拭目以待。

       Chromium的Browser进程、Renderer进程、GPU进程等构成了今天浏览器的多进程架构,而普通开发者的桌面软件在绝大多数情况下还是单进程架构,形式上看,桌面软件与浏览器有本质的不同,如果有一种策略,允许开发者顺利的用目前成熟的技术框架构造Browser进程,那么情况就会完全不同。通过源代码分析,我们看到,Google将这个地方屏蔽了,其Browser进程结构非常复杂,看上去直接用类似.NET、Java构造这个进程有现实的困难,CEF框架提供了有限的支持,但是将浏览器的大多数功能屏蔽了,其实质是一个控件一级的应用支持。我们认为改变的切入点就在这里:如果我们的出发点就是开发一款好的浏览器,那么我们面前的两个巨人就是一个无法逾越的障碍。如果我们的目标是开发一款包容浏览器全部功能的应用系统,那么我们需要增加一些巨头们忽略的元素,这样我们竞争的基础就建立了。

让应用软件本身完全具备现代浏览器的功能

一旦互联网上越来越多的应用系统本身就完全具备现代互联网浏览器的全部特征,那么这些应用就会逐步蚕食、削弱Google、微软的浏览器,那么新的规则就会建立新的秩序。如果我们仅仅是包容,那么浏览器功能就是被堆砌到一个特定的应用之中,这样做毫无意义。我们需要挖掘出一些全新的有价值的东西,而这些东西,巨头公司的浏览器完全不具备,那么竞争的成败就取决于我们做出什么样的改变。

       我们的策略是,我们需要一种核心技术,迅速的让现有的很多产品直接包容浏览器的全部,那么其本身就会达到Google、Edge全部功能的95%,如果这个设计成立,那么我们提供的其他部分,将是Chrome、Edge完全不具备的,这样竞争的不对称性就会变得非常明确。

从实数到复数,引发了数学界的巨变

       从实数到复数,仅仅是增加了一个虚数“i”,事实上却是现代数学的一次巨大的进步,我们需要从这里得到启示,因此,将浏览器的独特位置去掉,而将其完整的融入到其他应用系统之中,应该是一种历史的必然,我们需要这种融合形成一次巨大的推动,进而彻底的改变互联网的应用模式。

       对Web页面的结构而言,标准的DOM形成了今天的互联网内容形态,这个状态已经很久了,我们首先要改变这个状态。如果我们可以将看起来不是DOM元素的那些元素看作DOM元素,那么就会形成从实数到复数类似的转变,这一点是一个思维突破,当现代浏览器融入到其他应用系统之中,浏览器的作用范围就会被放大,因此,我们需要适应这种改变。我们知道,Java、.NET、COM等技术形成了大量的软件功能积累,但这些都不是DOM元素,能够改变策略,让这些变成新型的DOM元素?历史上,这类思维左右着科学的进步,波粒二象性,是一个经典的案例,对物理学的影响巨大,将那些虚无的元素看成“数”,以及“波粒二象性”这些科学史上的大事件告诉我们,没有一层不变的原则,只有僵化的人才能将规则固定死。

       让浏览器消失于无形,是需要我们构造一个更大的Web,需要一种全新的浏览器来替代现有的应用系统。在这个环节,我们需要解放思想,将很多东西从思维原则上推进一步,只有这样,我们才能让互联网更加精彩。

相对论告诉我们,没有绝对不变的东西

       我们需要重新看待很多东西,DOM元素、JavaScript、应用程序UI,一个全新的驱动模式,最终汇总形成了Web Runtime for Application。从浏览器发展的历程看,Renderer进程是浏览器体现Web的关键所在,这个环节是现代桌面软件缺失的一环。现代桌面软件进步,必须从这里吸收最好的成分,传统的桌面软件技术强调本地组件,而Web软件强调Web,二者之间的互补是现代软件技术需要承担的工作,这个工作就是Web Runtime的核心。如果我们换个角度看,我们需要将浏览器看成最小的软件单元,那么一个自然而然的设想就是,新一代的互联网软件,应该是将现阶段已存在的技术做一个最好的整合,从技术上看,不是要淘汰什么,而是要综合利用。

Web Runtime for Application是一个开源技术架构

       开源是大势所趋,无了构建一个更好的软件生态,我们将符合开源协议的相关代码汇总为一个全面开放的Open Source项目,希望以互联网技术社区的模式与各界朋友联合打造新一代互联网桌面引擎。项目的网址:https://github/tangramdev. 我们的目标不是要消灭浏览器,而是从技术推动角度将浏览器作为一种运行时的一部分成为桌面软件的公共基础,从这个角度看,是软件发展的一种必然趋势。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页