【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

微软 Web 应用的发展过程

  • 2016-07-18
  • 本文字数:1244 字

    阅读完需:约 4 分钟

近日,微软 Edge 团队发表了一篇博文,介绍Web 应用在微软的发展过程。本文将择要介绍Web 应用如何从一个“大型的文档空间(a large universe of documents)”演化成了如今的通用应用程序平台。

在Windows 上,最早的Web 应用形态可能是IE9 引入的“钉选网站(Pinned Sites)”。所谓的钉选网站是指站点可以固定到Windows 7 任务栏,并且可以使用自定义的图标。后来,该特性提供了一个类似清单文件的东西,告诉平台该站点可以“像一个应用”那样运行,并提供了如何集成到主屏幕/ 开始菜单的详细信息。而且,当W3C 推出了相应的清单文件标准时,他们欣然采用了新的标准。

Web 应用的真正出现是在 Windows 8 上。有段时间,Windows 8 去掉了开始菜单,其初衷是为了让 Web 成为 Windows 上的一等公民,让 Web 真正可以在浏览器之外运行,而且不需要原生代码。从技术上讲,浏览器进程甚至都没有参与 Web 应用在 Windows 上的运行,减少了内存 /CPU 的工作负载,每个 Web 应用都有自己的缓存。Web 应用完全整合进了 Windows 的应用模型,让用户可以管理通知,离线或在后台运行应用,甚至像原生应用那样卸载它们。开发人员可以更深入地集成平台,使用一些 Web 平台原本不具备的原生功能。微软创建了类似 chrome.* namespace 的 Windows Runtime JS APIs。自此,WinRT 孕育了 Pointer Events Web Notifications Push API Web Payments 等 API,使 Web 应用可以更快地用上原生功能。

为了将 Web 应用打包,创建离线优先的用户体验,让其直接与原生应用进行竞争,Windows 10 提供了“托管Web 应用(HWA)”。它提供了一个简单的清单文件,指向Web 应用的URL。HWA 应用可以像打包的应用那样独立于浏览器运行,但实时从服务器加载,让用户可以免于冗长的应用商店提交过程。

Progressive Web App(PWA)是 HWA 的一个自然扩展。本质上,PWA 是 HWA 加上如下已经在开发的标准:

在许多方面,现有的 PWA 实现(Android 上的 Chrome/Opera/Samsung)仍然把 Web 应用作为二等公民。它们有主屏幕快捷方式,但不会出现在应用列表中,也不会报告存储 / 数据 / 电池的使用情况,无法配置、管理、卸载等。微软的目标更进一步,他们希望解决这些问题,提供全功能的应用。

目前,正在进行的工作有以下两项:

  1. 实现上述标准;
  2. 在 Windows 应用商店中构建对 W3C Web 应用清单的支持

第一项工作让 PWA 可以通过 Chrome/Opera 运行在 Android 平台上,或者通过 EdgeHTML 运行在 Windows 平台上。第二项工作让 PWA 可以出现在应用商店的列表中,并在浏览器页签之外运行。如何在应用商店中列出 PWA,用户如何在 Windows 上安装 PWA,这是微软正在努力解决的两个实际问题。感兴趣的读者可以关注 Edge 开发的官方 Twitter


感谢韩婷对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-07-18 19:001691
用户头像

发布了 1008 篇内容, 共 374.1 次阅读, 收获喜欢 340 次。

关注

评论

发布
暂无评论
发现更多内容

基于XuperChain的区块链项目从0到N

刘旭东

区块链 XuperChain

【案例】基于星环科技数据云平台TDC为富国基金建设万能的数据湖

星环科技

数据库

教你如何使用flask实现ajax数据入库

华为云开发者联盟

Python 数据库 flask 文件上传 ajax数据

ironSource 新功能发布,开发者可在同一会话中实时调整广告策略

Geek_2d6073

与容器服务 ACK 发行版的深度对话第二弹:如何借助 hybridnet 构建混合云统一网络平面

阿里巴巴云原生

阿里云 云原生 ACK Distro

融合通信常见问题2月刊 | 云信小课堂

网易云信

音视频 融合通信

【BBC learningenglish】with Tango

IT蜗壳-Tango

IT蜗壳教学 3月月更 Tango English

招聘宣讲会|Rust 如何为量化行业加速赋能?

非凸科技

Web 键盘输入法应用开发指南 (2) —— 键盘事件

天择

JavaScript 键盘 输入法 3月月更

2021 “科创中国”开源创新榜单公布,优麒麟荣登两榜!

优麒麟

Linux 开源 开源社区 优麒麟

【C语言】数据类型存储、原码,反码,补码

謓泽

C语言 补码 原码 反码 3月月更

HertzBeat赫兹跳动v1.0.beta.4 发布, 易用友好的高性能监控告警系统

TanCloud探云

开源 APM 监控 监控系统 监控告警

创建公司内部文档的入门指南

小炮

工作效率 企业管理 企业管理软件

澜起科技加入,龙蜥社区再迎领先的芯片设计厂商

OpenAnolis小助手

Linux 开源 操作系统 生态 龙蜥社区

实践GoF的23种设计模式:SOLID原则(上)

华为云开发者联盟

设计模式 GoF SOLID SOLID原则 分布式应用系统

白话大数据 | 从买菜这件小事来聊聊数据仓库

星环科技

ToB月报丨二月融资总金额超152亿元;「东数西算」国家工程全面启动

ToB行业头条

Serverless 底座的持续创新

亚马逊云科技 (Amazon Web Services)

Serverless 架构

cdr2022序列号CorelDRAW2022绿色密钥

茶色酒

CorelDRAW 2022

Linux之crontab命令

入门小站

Linux

直播带练 | 30 分钟用阿里云容器服务和容器网络文件系统搭建 WordPress 网站

阿里巴巴云原生

阿里云 云原生 课程 容器服务 直播回放

在线Excel文件解析转换成JSON格式

入门小站

工具

墨天轮国产数据库沙龙 | 许力:阿里云原生Lindorm TSDB数据库,驱动工业IT&OT超融合数字化系统升级

墨天轮

数据库 阿里云 tsdb

前端架构三大巨头之一Angular | 深度讲解

云智慧AIOps社区

开源 前端 Web angular 数据源

开讲了!龙蜥社区走进北大课堂

OpenAnolis小助手

开源 操作系统 龙蜥社区 北京大学 走进高校

【技术分享】历经16年猪八戒网如何成功实现双活流量架构

八戒技术团队

架构

Nebula Graph 的 KV 存储分离原理和性能测评

NebulaGraph

图数据库 分布式图数据库

网络安全kali渗透学习 web渗透入门 使用msf渗透攻击Win7主机并远程执行命令

学神来啦

网络安全 Web 渗透 kali kali Linux

阿里云智能编码插件,更Cosy的开发体验

阿里云云效

Java 阿里云 程序员 开发 研发

Serverless常见的应用设计模式

亚马逊云科技 (Amazon Web Services)

Serverless 架构

Rainbond 5.6 版本发布,增加多种安装方式,优化拓扑图操作体验

北京好雨科技有限公司

微软Web应用的发展过程_微软_谢丽_InfoQ精选文章