网络应用只会越来越好

Slack是一个web应用程序。Trello是一个网络应用程序。谷歌文档。Gmail。甚至推特。...

Slack是一个web应用程序。Trello是一个网络应用程序。谷歌文档。Gmail。甚至推特。

网络最初是一个超链接文档的集合。2000年代中期的“Web2.0”炒作是关于网络如何变得互动的。起初,我们只是对超链接文档进行评论和投票,但不久之后,像我这样的人几乎可以在现在所谓的“web应用程序”中完成所有工作。其中一些应用程序为传统桌面应用程序任务(如电子邮件或文档创建)添加了协作或其他便利。其他的则是本质上的超链接文档——想想Slack和Twitter上的嵌入,或者Trello的多用户特性。

但是关于网络应用有一条近乎黄金的规则:本地应用可能更好。

本机应用程序——专门为iOS、Android或Windows等平台设计的应用程序——与web应用程序相比具有一系列固有的优势。无论在HTML文档上添加多少JavaScript,都很难与本机应用程序的性能、质量和持久性相匹配。Web应用程序的构建速度可能更快,分发更简单,迭代更容易,但这还不足以在各种情况下取代本机应用程序。

但网络平台仍在不断发展,有一些即将推出的网络技术可以让网络应用程序有更好的机会与本地应用程序竞争。

让我们来谈谈其中的一些。

渐进式web应用程序

2月份,微软在Windows上支持渐进式Web应用程序,引起了轰动。但是你知道iOS在11.3更新中悄悄地向Safari添加了对PWAs的支持吗?这意味着您现在可以**一个渐进式Web应用程序,并将其发布到Android、iOS、Chrome OS和Windows。

那么,什么是渐进式Web应用程序?

首先,它只是一个带有特殊“清单”文件的网站,该文件定义了应用程序的名称、主屏幕的图标,以及应用程序是否应该显示典型的浏览器用户界面,还是仅仅占据整个屏幕。用户可以将任何带有清单文件的网站添加到主屏幕或“开始”菜单中,并像普通移动或桌面应用程序一样启动它。

但是,与从互联网加载网站不同,渐进式Web应用通常会缓存在设备上,因此它具有某种离线功能。这可以是任何内容,从保存JavaScript和CSS以使网站加载更快,到保存用户在本地所做的一切,就像传统应用程序一样。

重要的是,渐进式Web应用还可以支持推送通知和其他后台工作,这得益于一种称为“服务工作者”的新Web技术。服务工作者可以帮助缓存新内容并将本地更改同步到远程服务器,从而使渐进式Web应用保持与典型网站一样的最新状态,同时保持与本地应用程序一样的响应速度。

现在最好的渐进式Web应用示例是Twitter Lite客户端。它速度快,体积小,甚至有一个开关,所以您可以最大限度地减少数据使用。一些在线商店和出版物也利用了PWAs的快速性能。上周我在iPhone上玩了一个最小的2048克隆PWA。它离线工作,并在会话之间记住我的高分。有时它甚至可以保存游戏状态,这样我就可以继续长跑,但这并不完美。

苹果对渐进式Web应用标准的支持是分散的,远未完成。事实上,苹果似乎对PWA的实际能力有着与谷歌不同的看法。我们将看到,随着PWA在苹果竞争对手的平台上变得更加普遍和强大,这一愿景将如何演变。

网络组装

网络应用如何变得更强大?在过去的十年里,你可以在网页上做的工作种类有了很大的发展。随着我们的计算机变得越来越快,浏览器优化了JavaScript性能,我们已经从阅读电子邮件和编写文本文档转向进行图形设计和**音乐。

但本机应用程序具有编译的优势,接近金属代码。如果您使用Java for Android或Swift for iOS编写应用程序,您可以轻松超越几乎任何基于JavaScript的应用程序。如果你用C或C++编写你的应用程序的一部分,比如游戏开发人员所做的,你可以更快地去做。

应用程序底层代码的速度不仅决定了应用程序的响应速度,还决定了应用程序的性能极限。视频编辑、运动图形、3D建模、游戏、机器学习、音乐创作,甚至Snapchat过滤器都使用了大量的CPU和GPU电源。JavaScript无法在高端市场竞争。

这就是WebAssembly的作用所在。这是一种用于网络的二进制格式。这意味着什么?不像JavaScript,JavaScript被翻译成CPU可以理解的机器代码,WebAssembly代码在通过internet发送之前就已经预先编译,然后在下载时由web浏览器完全编译。这意味着它对浏览器的解析负担更小,并且它可以以接近本机的速度运行,并具有一致的性能。WebAssembly旨在与JavaScript进行互操作,因此一个典型的web应用程序可以用JavaScript编写其大部分逻辑,然后图像处理算法或整个视频游戏等速度敏感部分可以在WebAssembly中运行。

WebAssembly的好处在于,使用它不需要学习全新的编程语言。已经用C和C++编写的高性能代码可以编译成WebAssembly。例如,Unity和Unreal引擎都已移植到WebAssembly。这意味着您可以在浏览器窗口中玩游戏,而无需担心安装特殊插件。

与许多被标准委员会搁置多年、或只得到各种浏览器的零散或不一致支持的web技术提案不同,WebAssembly已经被谷歌、Mozilla、苹果和微软完全接受,如果不算Internet Explorer的话,现在已经在所有主要浏览器中发布。

将WebAssembly与渐进式Web应用程序相结合,可以让一个无聊的老网站成为一个可行的竞争者,在你的主屏幕上占据一个位置,仅次于使用本机技术构建的“真实”应用程序,同时又不会牺牲无聊的老网站的任何优势。

胡迪尼

老实说,我不经常听到人们说“是的,但是本地应用看起来和感觉都比网站好”,但如果我参加了合适的聚会,听起来会有人说。

我的意思是,当然,你可以下载一个持续离线的PWA,在保证的情况下为你提供推送通知,而且由于WebAssembly,它的性能和本机应用一样好。但它的外观和感觉是否仍然像一个网站?

是的,会的。无论你做了多少工作来模仿iOS或Android的美学和动画,你的双手都被HTML和CSS的基本限制所束缚。

所以,说到多年来一直被困在标准委员会的网络技术提案。。。让我把你介绍给胡迪尼。

Houdini提到了一组新特性,允许开发人员更直接地与浏览器的CSS渲染引擎对话。与Houdini合作的设计师可以创建令人难以置信的自定义布局、样式和动画,而不仅仅是定义一组样式规则并让浏览器处理。

为了帮助理解为什么这可能是一个强大的东西,以谷歌的Flitter应用程序开发框架为例。Flatter可以模拟本地iOS或Android应用程序的外观和感觉,具有假定的像素完美精度,可以达到正确的滚动速度。不过,Flitter不是用来**网站的,它是用来**iOS、Android和Fuchsia应用程序的。

但在引擎盖下,Fuchsia通过Skia图形库完成所有像素级完美的布局、造型和动画,而Skia图形库正是驱动Chrome浏览器渲染的引擎。当你创建一个网站时,你用HTML定义内容,用CSS定义样式,但是像Skia这样的渲染引擎绘制实际像素。你说“给我做一个红盒子”,但斯基亚负责具体操作。

Houdini旨在让您访问浏览器的渲染引擎。但是,您可以编写CSS和JavaScript,并与每个浏览器的渲染引擎进行对话,而不是为Skia编写自定义代码,并将其作为带有颤振的本机应用程序发布。

这是一个很大的责任,但这个责任给了你很大的权力。谢天谢地,Houdini代码将与传统CSS布局和样式共存。这只是一个额外的选择,当你需要一些东西的外观和感觉非常具体的方式。

很难说胡迪尼的提议是否会深入到浏览器的内部,以模仿Flitter对Skia所做的一切。但有趣的是,浏览器供应商希望朝着这个方向发展。

不幸的是,现在大部分Houdini规范仍然悬而未决,Chrome是唯一可以测试这些想法的浏览器。但是,如果网络应用看起来和感觉都是“本土的”,那么Houdini可能就是他们实现这一目标的途径。

但是本地API呢?

因此,总结一下:

  • 渐进式Web应用在主屏幕上为我提供图标、离线支持和推送通知。
  • WebAssembly为我提供了本机或接近本机的性能。
  • 胡迪尼,如果真的发生过的话,会给我梦寐以求的动画和阴影。

“但是我最喜欢的Android/iOS新API FeatureX呢?”嗯,你可能运气不好。

本机应用程序将始终有一个角色。本机iOS或Android应用程序可以利用平台提供的所有特定优势:苹果的ARKit、谷歌的Visual Core芯片、本机图形API以及每年堆积在操作系统上的众多其他功能,以保持其竞争力。但对于那些重视普遍性和便利性而不是前沿功能的应用程序来说,在我看来,未来几年,网络应用程序在我们的主屏幕和台式机上的数量和重要性只会不断增长。

很难预测下一代网络应用会产生最大的影响。现在,Twitter Lite是渐进式Web应用的黄金范例,很快我们将看到大量使用WebAssembly(通常作为广告)构建的轻量级游戏,但什么是即将出现的呢?

一个开始寻找的地方:任何看似有用的应用,但出于任何原因都不在应用商店中。

  • 发表于 2021-08-23 12:40
  • 阅读 ( 74 )
  • 分类:互联网

你可能感兴趣的文章

Chromebook的家长控制越来越好

Chromebooks有了更好的家长控制,可以设置屏幕时间限制和管理应用程序。 我们向您展示了如何使用googlefamily Link管理您孩子的Android**。这项功能允许家长为13岁以下的孩子建立一个账户,让家长控制孩子如何使用**。 相关:如何...

  • 发布于 2021-04-04 10:43
  • 阅读 ( 274 )

safari在macos big sur的标签管理越来越好

苹果发布了macOS Big-Sur,这是它的下一个主要的桌面软件更新,它的Safari浏览器也得到了期待已久、急需的改进:标签管理。当事情变得拥挤时,不管你是超级用户还是有点心神不宁,你都可以在新的Safari中的某个选项卡上悬停...

  • 发布于 2021-04-19 03:19
  • 阅读 ( 116 )

联邦贸易委员会说,音频伪造背后的技术越来越好

语音克隆技术的迅速发展使得区分真实语音和合成语音变得更加困难。不过,一组专家本周在FTC的一个研讨会上表示,尽管音频伪造(可以诱使人们放弃敏感信息)是一个日益严重的问题,但这项技术也有一些好的合法用途。 ...

  • 发布于 2021-04-20 17:48
  • 阅读 ( 117 )

黑莓10键盘操作(视频)

...馈选项——这是我们在android4.0的键盘上已经习惯的。 “只会好起来的!” 否则,键盘是相当标准的。要启用caps lock,请按住shift键并向上滑动出现的滑块。此外,按住字符可以将单个字母大写。要将字母转换为符号,键盘左下...

  • 发布于 2021-04-22 19:45
  • 阅读 ( 114 )

全画幅成为主流:你下一部相机的必备功能

...尼康产品经理SandervanVelzen说:“单反相机对人们来说变得越来越重要。”市场在不断增长,我们有很多爱好者……他们想更上一层楼,他们想拍出更好的照片。“在今天的市场上,如果你要买一台相机,你希望它的质量比你现有...

  • 发布于 2021-04-24 04:53
  • 阅读 ( 134 )

谷歌语音中的语音邮件转录越来越好

谷歌知道,通过谷歌语音收到的语音邮件抄本可能有点。。。嗯,有时不太准确。这就是为什么该公司提出了一项改进方案,要求用户分享一些语音邮件,以帮助调整系统。今天谷歌说这个项目已经成功了——抄写错误减少了49%...

  • 发布于 2021-04-30 20:45
  • 阅读 ( 88 )

我不能停止玩这个低保真的iphone益智游戏

...来提高我的分数。我能感觉到自己越来越好了。这反过来只会让我想打更多的比赛,因为一个最高分,或者突破性的技术,可能只差一个回合。
 除了引人入胜的游戏性,SPL-T还有一种美妙的、低保真感的风格。画面稀疏而迷...

  • 发布于 2021-05-01 11:20
  • 阅读 ( 92 )

谷歌在回答你的复杂问题方面越来越聪明了

...该公司的搜索应用程序在理解问题的核心含义和意图方面越来越好,因为它现在可以处理最高级(最高、最大等)与订购物品的组合。这样的事情对我们来说似乎很简单,但在一篇博文中,搜索产品经理萨蒂亚吉特·萨尔加(Saty...

  • 发布于 2021-05-02 11:27
  • 阅读 ( 78 )

mac的幻想对于商业用户来说越来越好了

Fantastic for Mac是我们最喜欢的桌面应用程序之一,也是任何平台上最好的日历应用程序之一。但是,如果你被束缚在一个Exchange服务器上,那么在fantastic中的体验就不那么好了。如今,该应用程序得到了重大更新,为Exchange用户以...

  • 发布于 2021-05-04 01:17
  • 阅读 ( 73 )

奇幻棋盘游戏龙骑兵是越来越好的一个新的扩展

就在圣诞节前,一个朋友的Facebook风格被证明是有用的一次:它让我看到了一个关于战龙的四人棋盘游戏。我立刻买了一本龙骑兵。 Dragoon背后的公司Lay Waste Games在2015年为这款游戏提供了众筹资金,仅为最初目标的10...

  • 发布于 2021-05-10 06:08
  • 阅读 ( 101 )
ffthdzr
ffthdzr

0 篇文章

相关推荐