可编译可定制浏览器壳体的跨操作系统编程实践
可编译可定制浏览器壳体的跨操作系统编程实践
——华为鸿蒙的制胜之道
摘要:通过浏览器来兼容不同操作系统甚至是取代操作系统是谷歌的愿望,但是谷歌的方法不对,未能取得成功。现在,随着我国软件硬件研发能力的提升,华为推出了鸿蒙系统,如果华为鸿蒙能够为程序员和应用程序开发商提供优质的可编译可定制浏览器壳体,将有利于实现跨操作系统编程实践和解决程序兼容性问题。
关键词:可编译可定制浏览器壳体,程序兼容,B/S架构
引言:熙熙攘攘、皆为利往,华为鸿蒙若能够立于世界强者之列,必先为用户创造价值——国民感情只能是一时之用。打破垄断,创新国产操作系统是每一个中国人的愿望,那么如何跨越传统垄断式操作系统之屏障,为广大用户所喜用,就应当以浏览器为媒介,来跨越不同操作系统之间其应用程序不兼容的障碍(B/S架构基于网页语言,与操作系统无关,跨平台是它的优势,在http和ftp协议的支持下,同一网页能够被不同操作系统下的浏览器所浏览和执行)。事实上,在安卓12发布之后,华为已经被剔除支持厂商行列,很快谷歌通过升级安卓系统可以让新的app应用不再兼容华为鸿蒙,所以华为鸿蒙唯有以浏览器为媒介,才能立足国内走向世界。
一、先行者谷歌曾试图用通用浏览器来兼容甚至取代操作系统——想法正确、方法错误
通过浏览器来兼容不同操作系统甚至是取代操作系统是谷歌的愿望,但是谷歌的方法不对,未能取得成功。早在2009年,谷歌就准备用新生代浏览器Chrome干掉操作系统Windows。谷歌认为:“由于基于浏览器的网络程序越来越多用了Javascript,随着HTML5广泛使用,未来重要的不再是占据用户的桌面,而是占据用户的浏览器;当云端服务器足够强大,浏览器的功能会渐渐取代操作系统,浏览器就是未来的操作系统”。
三层结构的谷歌通用浏览器兼容方案
谷歌的采取办法是用操作系统的“本地通用浏览器”运行来自服务器上的网络程序,以兼容不同操作系统。这看起来是个好主意,但是由于“通用浏览器”的功能较弱(比如:缺乏对大型图形图像处理能力、大型线上游戏及对多种硬件等应用的支持),且受限于通用浏览器难于针对不同用户(或程序)需要进行独立的安全设置及个性化设置,必然导致用户的一些重要需求和功能无法实现,所以谷歌方案存在诸多缺陷,以致尚未成行、随即停滞,谷歌浏览器未能跃升为人机交互的最普遍平台。
仅用一个通用浏览器来兼容异种操作系统是远远不够的
二、基于可编译可定制浏览器壳体破解跨操作系统兼容性问题
本来,以浏览器执行网页脚本程序来兼容异种操作系统是正确的程序设计方向的——也代表了一种程序设计新理念,但是从兼容的角度考虑:意图以一个(或多个)通用浏览器兼容几种操作系统是不够的,因为不同应用程序所需的权限和所要达到功能并不是一个通用浏览器就能实现的,况且当一个通用浏览器功能太多时必然导致其:体量太大和速度减慢。
所以,从编程实践中我们发现:如果从操作系统层面提供多个可编译、可定制浏览器壳体(大小、功能可定制),然后根据用户需要用定制浏览器壳体与自用程序一并编译生成应用程序,就能提高程序的兼容性,也能单独为不同用户设计功能各异的程序(或为用户程序单独设置权限),其兼容性将大大增强,程序运行速度和执行效率均可提升。
可编译可定制浏览器壳体是一种中间件,他是建立在操作系统与用户之间的编程纽带,如果可编译可定制浏览器壳体由操作系统提供商提供(他们有强大编程队伍和技术力量),应用程序开发商负责二次开发,应用程序开发商可将编程队伍分为三支:其一、负责可编译可定制浏览器壳体的本地化工作(少量编程员实施网络连接、硬件连接、数据库管理、用户登陆、用户管理等基础性编程工作);其二、负责功能模块编程(少量编程员定制各功能模块:数据处理模块、浏览器模块、编辑器模块、图形处理模块、等等);其三、负责网页编程工作(大量编程员根据其熟悉的编程环境实施应用程序编写工作)。
可编译可定制浏览器壳体的跨操作系统程序开发模式如下:
操作系统(操作系统提供商一次开发“可编译可定制浏览器壳体及开发环境”)——>可编译可定制浏览器壳体开发(应用程序开发商二次开发“定制浏览器”)——>定制应用编程(通过浏览器壳体封装各种应用程序主件,跨操作系统编译生成应用程序app)——>网页应用编程(服务器端“延伸开发”网页应用程序,实现谷歌愿景“以浏览器部分替代操作系统功能,最大程度兼容操作系统”)。
由于可编译可定制浏览器壳体由操作系统提供商完成,操作系统提供商可以基于“本厂操作系统”和“其它常用操作系统”,同时向应用程序开发者(商)提供功能和权限一致的可编译可定制浏览器壳体——解决兼容性问题,由于可编译可定制浏览器壳体已经完成应用程序基础性工作,应用程序开发商就有充足时间和充足人力资源来开发网页应用程序,其编程效率将大大提高,其成本将大大减少。
四层结构的可编译可定制浏览器壳体兼容方案
通过增加“定制应用层”,可编译可定制浏览器壳体能够打通异种操作系统的兼容性问题,提高应用程序的开发效率。四层结构的可编译可定制浏览器壳体方案可充分发挥C/S和B/S优势,利用B/S架构实现快速编程、远程部署、集中管理,从而减少应用程序体量,降低客户端负荷,减轻系统维护与升级的成本和工作量。
三、分级兼容策略
可编译可定制浏览器壳体需具备网络连接(通讯功能)、硬件操作、数据库操作、文档处理、图形图像处理等功能,内置用户管理功能和权限设置功能,根据功能和权限分级:
A级(基本版):100K级(安装完成后应用程序大小:10K-999K),提供基本的硬件操作、通讯功能、文件读写和简单的数据库处理功能,这个级别主要用于万物互联中常用硬件操作,如:各种终端、冰箱、电磁炉、电饭煲、门禁、扫地机等。
B级(功能版):10M级(1M-99M),提供常用的硬件操作、网络连接、文档处理、数据库处理和图形图像处理功能,这个级别主要服务于手机、平板、电脑等设备的常用应用程序编写,涉及生活、工作、娱乐等常用场景及常用的物联设备。
C级(高级功能版):100M级(100M-10G),提供复杂的硬件操作、网络连接、文档处理、数据库处理和图形图像处理功能,这个级别主要服务大型应用程序,涉及商业级应用,如:大型社交软件、大型游戏、商用级购物和交易软件、商用级影音娱乐软件、商用级出行导航软件、商用行业应用软件等。
D级(可编译可定制通用浏览器版):200M级(200M以上),提供可编译可定制浏览器模型,供友商开发使用,主要提供给手机、平板、电脑生产厂商和大型软件公司开发使用,基于前三种级别实现兼容包并。
四、先行者——基于可编译可定制浏览器壳体的跨操作系统编程实践
可编译可定制浏览器壳体的跨操作系统编程本质上是采用浏览器壳体编程和应用编程两者分离策略,使应用程序的核心内容不再依赖于操作系统和浏览器,从而实现异种操作系统之间的真正兼容。
由于可编译可定制浏览器壳体可由操作系统提供商负责提供(应用程序开发商只需少量程序员负责接口编程和界面美化),因此操作系统提供商通过不断优化可编译可定制浏览器壳体,就能激活用户对该操作系统的使用粘性,为此操作系统提供商需要优化可编译可定制浏览器壳体对硬件访问的兼容性、提高网络连接和数据库读写速度,并美化壳体界面。
由于程序开发商(程序员)不再依赖于操作系统,程序开发商可以更加专注于网页版程序内核的优化,基于可编译可定制浏览器壳体的网页版程序内核一旦优化即可被多种操作系统所识别——编程效率更加高效,借助于BS架构,应用程序的升级更加快捷——程序的容错能力和兼容性将得到前所未有的提升。
以上方案可以通过以下案例来加以验证。
案例一,某省人事考试报名网站的升迁历程。某省人事考试报名网站(内部应用不具体描述)曾采用了基于IE浏览器壳体的编程手段,设计了一个应用程序壳体(这个壳体主要用于用户登录、用户管理和传输内部资料),在这个壳体内置了一个自建的浏览器,仅访问内部专用网页(不能访问外网网页)。
这个应用程序其实是一个专用浏览器,既能用于用户管理,又能用于考试报名业务操作,安全性较好,便于程序核心内容修改和调试,具有良好的实用性。
但是这个应用程序也有其弱点,他的浏览器基于IE浏览器,一是内核落后,二是提供的功能太弱,三是可定制可编译能力太弱,不便扩展。
案例二,目前微信、淘宝、京东、360图书馆等手机应用都具有浏览器功能,其实他们就是基于可编译可定制浏览器壳体的跨操作系统编程实践。这类应用程序普遍手段是:以浏览器为外壳实现登录、设置等通用功能一一不过他们的浏览器外壳是应用商自编的而非操作系统提供商专门提供,应用程序内部则施以浏览器功能一一有利于程序兼容和升级,效果很好,值得推广。
四、下一步工作
华为鸿蒙已经看见成功的曙光一一市场占有率已初步达到16%的,如果鸿蒙还能在兼容性上再有所突破,那他就能走出谷歌安卓、苹果OS、微软Windows的重围,成为软件领域新的王者。因此华为鸿蒙为程序员和应用程序开发商提供优质的可编译可定制浏览器壳体,将成为华为鸿蒙能否战胜对手关键因素。