
大众
HTML并非为Web使用而开发,是互联网(World Wide Web)采用了HTML。
浏览器的策略为,谁给网页开发者的功能最丰富,谁就能主导浏览器市场。实际上,统一网络世界(可类比一统江山)的是发明HTML的英国人蒂姆·伯纳斯 - 李爵士(Sir Tim Berners - Lee)。万维网联盟(World Wide Web Consortium,简称W3C)属于国际社群,其致力于制定万维网的开放标准。W3C于1994年成立,由万维网的发明者蒂姆·伯纳斯 - 李创办,目的是推动互操作性并保障万维网的长远发展。但最初那几年,好几个浏览器都不把这个标准当回事儿,各自按照自己的想法去发展HTML版本。后来虽然也有不同语言的脚本,可以封装Java的小程序、微软的ActiveX控件,可这些也只是在个别浏览器上能用。不过W3C从1994年开始运营,一路摸索到2000年左右才找到解决办法。让至少三个浏览器合作,并且让公众和社群也参与进来,这样肯定能成功。就像2019年,由广东省牵头、华为主导的国产软件合作那样,为了解决欧美CAD/CAM软件和原材料方面卡脖子的问题;只要把利益分配好,就能解决问题。W3C将浏览器技术发展到极致后,新的技术需多方实现,其核心包含三个部分。比如有一个新功能,像浏览器与客户端HID设备直接读写,它能让浏览器直接读取游戏摇杆、键盘、智能手套、智能戒指、头显、体感定位器等设备,但这需要本机将设备共享出来,这样浏览器才能与设备交互。这对双方都有益处。如果Windows能够共享HID设备,而macOS不能共享,那就是macOS落后了;Chrome实现了该功能,FireFox没有实现,那FireFox就落后了;Android能实现,IOS还不能实现,这就是IOS的落后之处。负责实现的单位会是获利的第一方,照此原则就能持续运作。但HTML仅有一个,各标签属性、浏览器支持度、系统支持度以及设备支持度都不统一,只是你用的标签比较普通,所以基本都能兼容罢了。W3C让竞争环境变成了合作共赢的环境。说它一统天下也不为过,但这并非一家独大。因为根本没有别家想重新起步,去做这种到处求别人配合的苦差事。不管是浏览器、操作系统还是硬件开发商,自行开发一个新功能,且只有自家浏览器或者HTML能用。实际上,经历史检验,这些功能根本没人用。开发者不会认可,即便开发者想用,用户也不接受。为啥手机能用,平板却不能用?那用户索性就不用了。

互联网
无论选择哪种开发语言,都得确定该语言在哪个系统上渲染界面。每种语言都有其擅长的系统,且都能在相应系统中运行WebView。微软曾在Visual Studio里推出过WPF(Windows Presentation Foundation),这是一个前端渲染框架,而且是无需标记语言的前端,不过最后还是失败了,失败原因众多,想知道的话可以自己去问度娘。Win10问世后推出了UWP(通用Windows平台),这是一种前端框架,本质上是一种标记语言,架构类似于HTML + CSS。同时还推出了Microsoft Store,这促使很多开发企业开始使用,像腾讯的QQ、微信等企业也参与其中。不过企业们大多只是给微软个面子,做个版本撑撑场面罢了,毕竟要是将来成功了,获利的也只是微软的Microsoft Store。微软没能把UWP运营好,所有企业都不再对UWP软件进行升级,甚至还下架了相关软件。在IOS系统里存在UIKit、SwiftUI、SpriteKit、SceneKit、ARKit、CoreML这些内容。在Android开发方面,谷歌提供了不少可用于绑定数据的UI框架,像Jetpack、View Binding、ConstrAIntLayout、Material Components、RxJava等等。
微软的Windows、安卓、IOS、macOS、linux、Unix、XWindow等系统都有浏览器。在它们的原生开发中必然有WebView,也肯定支持HTML。只不过这些系统中的WebView需要持续更新,才能够支持新的HTML。在确定了要开发的App的目标运行环境后,就需要选择渲染环境,以及确定你的语言适用的渲染架构。如果只会HTML并且必须使用HTML,那任何语言都是可以的,可引入WebView,或者在目标系统的浏览器中运行与测试。在Windows和macOS系统下,有更多将HTML编译为桌面应用的方案。像nwJS、electron,国内的h5builder、apicloud等都能制作exe文件。实际上,这些框架是基于系统的WebView运行编写的HTML代码,并且能让其中的JS通过api调用系统资源。原生开发(Native)好还是WebView好?这是个由来已久的争议话题。后来有了混合(Hybrid)开发方案。不过,若要高兼容性,就得牺牲一定性能。大多数开发语言都没有界面,这对语言自身发展最为有利。例如,当下极为流行的JavaScript就没有界面,Java、Node.JS、php、Python、Go、Rust等也都没有界面。即便是C、VB、Delphi、FORTRAN、COBOL本身也不带界面。所有语言都能打印到默认输出端,多数情况下就是系统的控制台窗口。
如果我们乐意,运用自己擅长的语言,就能够输出任何一种标记语言,只要远端能解析就行。你要是想输出HTML,那也只是你的想法,并没有人强迫你。在GPRS2.0的手机互联网时期,WAP标记语言也曾出现,还火了好几年,在手机端可谓独占鳌头。我已经理清了编程语言百花齐放、Web、标记语言、HTML和一家独大之间的关系。语言百花齐放是没错的。从JSON.org来看,如今的语言多达63种,确实称得上百花齐放了。而Web标记语言HTML可以说是一统天下,我暂且保留一家独大这个容易误导人的说法,毕竟在各个浏览器中的满足程度都达到95%,基本就只有这一家了。编程语言百花齐放和Web标记语言HTML一家独大并没有很强的因果关联。还好我比人工智能厉害,不然这么难理解的问题我也答不了。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号